Skip navigation

I just nuked my comics blog.

I haven’t updated it in ages, so no point in keeping it around.

Sorry for any broken links you may encounter.

I am currently working on some front-end items for our Liferay portal. I have chosen to give Liferay’s AlloyUI javascript framework, which is built on top of Yahoo’s YUI framework, a shot.

For some unnecessary reason, I wanted to find out what version of Alloy I was using. I say unnecessary because the Alloy framework hasn’t been updated since 2010! See? This is a disturbing trend I’ve noticed with Liferay’s components. Like, why are its web services written for Axis 1.4?! It was released in 2006, that is positively ancient! One of those “if its not broken, don’t fix it”-type deals, I suppose. …going down a rabbit hole here.

…getting back to the topic at hand. Ever since I watched a screencast on, the now dead,, I have been using firebug (and now Chrome’s Developer Tools) to tweak my CSS and javascript on the fly. It also introduced me to using the browser console to actually interact with and modify a web page. The console is also useful for retrieving javascript variables, such as a framework’s version number.

I tried the obvious first:

> AUI.version


It worked, but that’s the version of YUI that Liferay 6.1.0 comes with. Not the version of AlloyUI. It took a little bit of exploring, but I managed to figure it out.


Which, inside Chrome’s console, gave me:

Alloy v 1.5.0

Alloy v 1.5.0

Not perfect, but its clear to see the YUI version of 3.4.0 and the AUI version of 1.0.1.

And now you know a perfectly useless fact about AlloyUI!

As a vegan and a programmer, this article I recently read, horrifies me on a few levels. In my line of work, its so easy to just think about the bugs in my code as harmless, annoyances for customers, or, at worst, maybe some giant company loses some money. Never really thought about how anything I could write could actually lead to the death of anything…

I did some household chores this weekend.  A little bit of laundry, some cooking, grocery shopping for the upcoming week, and cleaning the guts of my laptop and Xbox 360.

It all started with a kink in my neck. A kink that developed because I had to lay on my stomach in the floor, in order to use my Dell Inspiron 1521. I had to use my laptop in the floor because the damn thing gets way too hot if I use it anywhere but directly over an A/C register. I finally got fed up with having to deal with this and decided to investigate the cause.  I haven’t cleaned it since I bought it in 2007, so I figured maybe there was at least some dust accumulation inside. So I set about opening up the laptop to check things out.

Holy crap! The screws used to hold this thing together! There are so many screws to remove in order to get to the motherboard. I suppose it might have been a bit easier, had I had a guide. But I couldn’t find one (Makes me wish I had taken photographs, so that I could help other Inspiron owners), so I had to wing it. After removing approximately 20 tiny Phillips head screws, I finally got to the internals of the system, and, sure enough, the heat sink was almost completely clogged with dust. I don’t have any canned air, but I blew that out easily enough with just my breath. Turns out, all of those years of blowing Nintendo cartridges were good for something. This resulted in a huge plume of dust being ejected from the main-board and directly into my face. I know, I’m so smart. So after I recovered from a sneezing fit, I proceeded on to phase 2 of my cleaning mission. In my search for the nonexistent Inspiron 1521 dis-assembly guide, I happened across a forum mentioning Dell laptops and the shitty thermal paste that is used on their CPUs. I popped the heat sink off of the Athlon 2800+ and checked. True to the forum poster’s word, the bottom of the heat sink (and top of the CPU) were covered, not with a paste, but a coagulated grey solid. I don’t know if it was age or heat or just an inferior product, but there was no way this junk was going to transfer any heat in its current state. I easily scraped off the crud, cleaned the area with a bit of isopropyl alcohol and applied a thin line of Arctic Silver that I had in my tool kit. Knowing that I had at least reduced some of the problem areas in the internals, I excitedly reassembled the laptop. After having run it consistently for a few days now, I can tell you that the results have far exceeded my expectations. Everything is running much much cooler now, and quieter to boot because the exhaust fan isn’t working overtime any more.
With that cleaning successfully under my belt, I wondered if the same thing would help the xbox 360. I easily found this guide and set to taking apart my beloved 360. Once I got to the insides, yep, heat sink was clogged with dust.  Using a bit more caution this time around, I blew out the dust from this heat sink as well. A quick reassembly, and I can now report that the Xbox is noticeably more quiet.

Hopefully these cleanings will allow me to squeeze a little bit more performance and longevity out of these devices.

At the OpenUpstate meeting I attended recently, as well as during my recent engagement to my girlfriend, I became painfully aware of the fact that the business cards I have do not contain any of my personal information on them. As a result of this, I decided to make some personal business cards for myself. In doing so, I decided to finally bite the bullet and purchase a vanity domain so that I’d have a respectable email address for people to contact me at. I am a programmer after all, I should be as elitist as possible, right? is being cyber-squatted, so I bought There’s nothing there yet since I mainly did this for the email address. However, I may be moving some content there in the future. I’ve never really fallen in love with jinjerbeard. Using a domain after my own dorky name may just be easier and certainly more permanent.

So I’m coding a Liferay portlet that will display one of two forms on it, depending on the type of customer that is viewing the page. In order to implement this, I decided to that the JSTL ‘choose’ tag would be perfect for what I need.

<c:when test='<%= displayForm.equals("Form1") %>'>
...code for form 1...

<c:when test='<%= displayForm.equals("Form2") %>'>
...code for form 2...

But when I deploy and run my code, I get this error:

According to TLD or attribute directive in tag file, attribute test does not accept any expressions

After about 30 minutes of searching I found the solution on this page.

I had to change

<%@ taglib uri="" prefix="c" %>


<%@ taglib uri="" prefix="c" %>

After that simple tweak, my forms display correctly.

No idea what this does or why I had to do it. But it worked, so I’m happy.

So I popped the question to my girlfriend this past weekend and she said ‘Yes’!

It was an awesome day.

I planned a semi-elaborate ‘treasure hunt’ for her. I gave her the first clue that told her where to go to get the next clue. She had to visit each location on the clue in order to get her next clue. A lot of help from some Greenville retailers was involved, and they all performed their part of the ‘treasure hunt’ fantastically. Everything went as smooth as silk and it seemed that everyone was genuinely excited for us.

A BIG thank you to The Spa @ West End, Coffee To A Tea, Expressions Unlimited, Greenville Beer Exchange, Barkery Bistro, and the Greenville Hyatt for all of their help in making our day so special!


Attended a cool meeting of coders last week.

A group called OpenUpstate.

Looking forward to more meetings.

Still climbing the very steep learning curve of being a web application developer and admin.

I have dropped CodeIgniter, in favor of CakePHP. A friend of mine recommended this PHP framework, so I’m going forward with it.

I have completed the first tutorial and have a page that will spit out the user data for my app. That’s it. Still a long way to go. But, with the help of this page, I did manage to centralize my CakePHP core. So now I can just point my apps to this one spot for the base Cake code. This will make upgrading the framework easier. I’m sure I will be testing this feature out shortly as the release of CakePHP 2.2 is imminent.

I have also started using bitbucket as my Git repository of choice. Unlimited private repositories that are free?! Yes, please! No more of the public hosting that Github offers. Not that my hosting of my website would be on anyone’s radar, malicious user or otherwise. But it just makes me feel better until I know what I’m doing.

And speaking of malicious users, it seems my blogs have an audience now. I’ve gotten several moderation requests across this blog and comic for spam comment posts. Still no actual comments yet.

I have begun working with Codeigniter 2.1.0 and am trying to wrap head around what exactly is required for an app to be deployed onto a server.

This required me to move some files and folders around. Unfortunately I set up my XAMPP installation as ‘root’, so I can’t use the lovely file manager-type windows in Mint that I’m used to, to copy files from one directory to another. I keep getting “Permission denied” errors.

I vaguely remember something about chmod from my college days. It has something to do about octal code of a number corresponds to write, read or read/write permissions for different “things”<–what the owner/group/other user permissions were in my head before this experience.

I broke out my linux pocket guide, and found that there are actually three relevant commands, chown, chgroup, and chmod. Since I am working with files that are in my “jooky” directory and are owned by ‘root’, I figured that changing the owner would fix my problem. I looked up the chown command. The pocket guide gave me a start, but not enough detail on the command to tell me how to recursively change the owner of a folder and all subitems in that folder. Quick search with my fav search engine turned up this gem.

Slapped ‘sudo chown jooky:jooky -vR /home/jooky/workspace-web/website’ on the command line and got to watch sweet line-on-line action of all of the files in my Eclipse workspace being reassigned ownership to ‘jooky’.

Now that that’s complete, I am able to move files around my Eclipse environment without a problem.

%d bloggers like this: