Emptiness Theme v0.1

Introducing Emptiness Theme v0.1 .

Since I started using WordPress few months ago, I’ve tried various minimalist themes available from WordPress Theme Viewer, but none of them really suits me. So, just like any designer-wannabe, I rolled out my own minimalist theme. It’s available for download, though I’m still trying to register it on WordPress Theme Viewer. I don’t know what’s wrong with Theme Viewer, they must be really busy with backlogs of registrations to process, or they’re totally ignoring the current Theme Viewer and currently building a better system.

Read more

Share Comments

Random Project Updates

Haven’t made any project related post since July last year, so here’s a list of little things I spent some time on:

  • While playing around with Firefox Web Developer Extension, I found out that some Maven reports generated invalid HTML which could break the reports layout with non-default vm templates. Hence MFINDBUGS-29, MCHECKSTYLE-74, and MCHANGES-83.

  • After integrating Kaptcha in SCode Plugin 0.5, I spent some time working on the Kaptcha project itself where most of the effort was on refactoring the original SimpleCaptcha code. That, and some other patches have made it to Kaptcha 2.1 and 2.2 .

    Read more

Share Comments

Slicehosted

I moved my site hosting to Slicehost about 6 months ago, and I only have praises about their service. What I like the most about Slicehost is the fact that they give a sense of community with their wiki, forum, and chatroom. Gone are the days when I had to wait for at least a day to get a reply to my queries (think Go Daddy).

There are so many testimonials about how great Slicehost is, so I’m just going to write my Sliceperiences here…

Read more

Share Comments

Quotes From Randy Pausch's Last Lecture

My favourite quotes from Randy Pausch (a professor of computer science and human-computer interaction and design at Carnegie Mellon University)’s The Last Lecture - Really Achieving Your Childhood Dreams (video):

We cannot change the cards we are dealt, just how we play the hand.
Have something to bring to the table, because that will make you more welcome.
I probably got more from that dream and not accomplishing it than I got from any of the ones that I did accomplish.
You've got to get the fundamentals down because otherwise the fancy stuff isn't going to work.
When you see yourself doing something badly and nobody's bothering to tell you anymore, that's a very bad place to be. Your critics are your ones telling you they still love you and care.
Experience is what you get when you didn't get what you wanted.
Head fake learning is absolutely important, and you should keep your eye out for them because they're everywhere.
The brick walls are not there to keep us out. The brick walls are there to give us a chance to show how badly we want something. Because the brick walls are there to stop the people who don't want it badly enough.
It's pretty easy to be smart when you're parroting smart people.
It's very important to know when you're in a pissing match. And it's very important to get out of it as quickly as possible.
Until you got ice cream spilled on you, you're not doing field work.
I can't tell you beforehand, but right before they present it I can tell you if the world (his students project work) is good by the body language. If they're standing close to each other, the world is good.
If you're going to do anything that pioneering you will get those arrows in the back, and you just have to put up with it. I mean everything that could go wrong did go wrong.
Somewhere along the way there's got to be some aspect of what lets you get to achieve your dreams. First one is the role of parents, mentors, and students.
And he (Andy Van Dam) said, Randy, it's such a shame that people perceive you as so arrogant. Because it's going to limit what you're going to be able to accomplish in life.
You just have to decide if you're a Tigger or an Eeyore.
I have a theory that people who come from large families are better people because they've just had to learn to get along.
Loyalty is a two way street.
Syl said, it took me a long time but I've finally figured it out. When it comes to men that are romantically interested in you, it's really simple. Just ignore everything they say and only pay attention to what they do. It's that simple. It's that easy.
You can't get there alone. People have to help you and I do believe in karma. I believe in paybacks. You get people to help you by telling the truth. Being earnest.
I'll take an earnest person over a hip person every day, because hip is short term. Earnest is long term.
Apologise when you screw up and focus on other people, not on yourself.
Don't bail. The best of the gold's at the bottom of barrels of crap.
Get a feedback loop and listen to it. Your feedback loop can be this dorky spreadsheet thing I did, or it can just be one great man who tells you what you need to hear. The hard part is the listening to it.
Don't complain. Just work harder. That's a picture of Jackie Robinson. It was in his contract not to complain, even when the fans spit on him.
Be good at something, it makes you valuable.
Find the best in everybody. Just keep waiting no matter how long it takes. No one is all evil. Everybody has a good side, just keep waiting, it will come out.
Be prepared. Luck is truly where preparation meets opportunity.
It's not about how to achieve your dreams. It's about how to lead your life. If you lead your life the right way, the karma will take care of itself. The dreams will come to you.

I think the most important message from his lecture is that leading your life the right way is never just about you, it’s about you and the people around you.

Read more

Share Comments

Going Java 1.5 With Maven2-Based Project

I recently made some simple updates to Wish by using Java 1.5 generics and autoboxing/unboxing. Making Java source changes was the easy part, while the time consuming part was on hunting for information on Maven-related changes.

I started by changing maven-compiler-plugin source and target in pom.xml:

<build>
  <plugins>
    ...
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.5</source>
        <target>1.5</target>
      </configuration>
    </plugin>
    ...
  </plugins>
</build>
And got this error upon running mvn site

Caused by: net.sourceforge.pmd.ast.ParseException: Can't use generics unless running in JDK 1.5 mode!
which led me to change maven-pmd-plugin targetJdk:
<reporting>
  <plugins>
    ...
    <plugin>
      <artifactId>maven-pmd-plugin</artifactId>
      <configuration>
        <targetJdk>1.5</targetJdk>
      </configuration>
    </plugin>
    ...
  </plugins>
</reporting>
Then I found out that the angle brackets used by generics syntax resulted in checkstyle errors:
<' is not preceded with whitespace.
error	<;' is not followed by whitespace.
error	'>' is not preceded with whitespace.
which is fixed by adding these modules to checkstyle.xml .

Read more

Share Comments

SCode Image Reload

Sometimes the numbers on SCodePlugin-generated CAPTCHA image are not easy to read. And rather than refreshing the whole page, it would be nice to reload only the image and generate a new / more readable code.

In order to give this a go, I modified the comment form on Melbourne photoblog and added a short Javascript code to refresh the image source. You can try it yourself on this form, just click the text “Generate another code” and wait shortly for the image to be reloaded with a new code.

Read more

Share Comments

GateKeeper Plugin v0.1 And IMNotification Plugin v0.1

GateKeeper Plugin v0.1 and IMNotification Plugin v0.1 have been released.

I implemented GateKeeper Plugin for Blojsom following the earlier discussion on a simple anti-bot solution to fight comment spams. This blog has been using GateKeeper Plugin (with very simple challenges for now) and it has worked like a charm with 100% success rate, though I think that the success is actually contributed from the fact that the spammers have been focusing their effort on breaking more mainstream anti-spam solutions like CAPTCHAs.

Read more

Share Comments

Der Wunsch: Offline... Leider

While working on a mini improvement request for Wish (more on that later), I found out that Der Wunsch is now ‘almost’ offline. Here’s the Babel Fish translation of the message on Der Wunsch home page:

Off-line... Unfortunately The web page is unfortunately for indefinite time off-line, since I must worry about other projects.

That’s about a year and a half since Der Wunsch came to life. Thanks for the effort, Claus.

Now, back to the mini improvement. I’ve received several feedbacks and was finally able to complete the first request from Machi.

Read more

Share Comments

Blojsom IM Notification Messages

Here’s a screenshot of Blojsom notification messages on Pandion.

You’ll be notified for new entry, comment, trackback, and pingback. I’m currently working on XMPP Plugin for Blojsom, though nothing is stopping this from becoming IMNotification Plugin. I guess there are plenty of AIM and MSN users out there.

Read more

Share Comments

SCodePlugin v0.5

SCodePlugin v0.5 has been released, expect the jar and source downloads to be available from SourceForge mirrors in the next few days. As usual, if you want it earlier, just email me and I’ll send it to you.

Changelog:

  • Introduced KaptchaImageEngine using Kaptcha (was Simple Captcha) library, with 3 new flavours from KinkImageEngine, FishEyeImageEngine, and ShadowImageEngine.

  • Replaced image engine class loading in image factory with constructor injection. SCodePlugin passes the image factory to SCodeServlet, instead of passing the image engines.

    Read more

Share Comments