Project Update

Wednesday, May 26, 2010

Thought I'd post to let everyone know what new projects I've launched in the last few months.

Update Much?!

A simple Twitter add-on site that I built for @thatgirljen to help her manage the Twitter accounts she maintains. The concept is simple, you log in via Twitter and the site will show you the folks you follow on Twitter that haven't been updating. You can select the threshold on how many days it's been since their last tweet. From there you can unfollow.

jQuery Plug-in: DrawBox

DrawBox was conceived out of the need to collect electronic signatures on the Apple iPad. As part of my open source initiative at CrowdSavings.com, the prototype I wrote was bundled into a jQuery plug-in and released (as of this writing, version 1.0). I've already seen it in the wild, and based on the mentions of it on Twitter, it's fairly big in Japan

EtsyShell

Another piece of code written for my wife. EtsyShell allows you to easily set up an external site for your Etsy Shop. Built around PHP5's SimpleXML class and some clean mark-up. A working EtsyShell can be seen at ClothesForPugs.com.

Tux 'n Droid

The latest thing to come out of the Joshtronic / Gravity Boulevard Network of Evil is a webcomic featuring my favorite open source mascots Tux and Android. Updates are Monday, Wednesday and Friday and hopefully one day a week the comic will actually be entertaining

PICKLES

Not really ready for prime time, I did finally man up and post PICKLES to github.com for the world to see. Over the next month or so the framework should be ready for mass consumption.

So yeah, that's what I've been up to, what about you?

Using GRUB to boot a Linux ISO

Thursday, May 20, 2010

Since my latest Ubuntu upgrade totally hosed my machine, I decided to do a clean install instead of resolving the issues. Since my CD/DVD drive still absolutely hates me and my latest choice of CD media, I've had to search for options to be able to boot a Linux Live CD. Some of those options included installing from a USB thumb drive and via the network. Seems I don't own a single thumb drive of considerable size, and I was a bit too lazy to invest the time into setting up my wife's laptop act as a server for me to install from. Luckily for Google, I was able to find some alternative methods.

Now after some searching, I found a method of booting a live CD's ISO using GRUB. I did so, and it worked great. BUT (you knew there was going to be a but) the ISO lived on the same partition that I wanted to install to as well as re-partition. Also, there will be no reference to the original article, because if you find it on the web and try to go there, the page completely re-directs to some fake Windows Explorer window acting as if it's scanning your system for viruses. Since I had to fight with Google cache to get the actual content, those guys won't be getting a shout.

To remedy my situation, since you can't edit the partition table of a mounted drive and then install an operating system to it, I had to move the ISO to another drive. My system has 2 hard drives, so I was able to move the ISO to the other hard drive and then adjust the GRUB config to boot from there. Once I was set I was able to re-partition the drive (I wanted to add 3 new partitions, 2 for Linux installations and a third for my /home directory, this way next time around I can do a clean install of Ubuntu on the open partition and switch to it while retaining my /home directory). So at this point I know you're wanting to know what I did and here it is:

1. Edit /boot/grub/grub.cfg (as root) with your favorite editor (e.g. sudo vim /etc/grub/grub.cfg)

2. Go to the end of the file and insert the following:

menuentry "Linux Live CD" {
    insmod ext2
    set root='(hd1,1)'
    loopback loop /linux-live-cd.iso
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux-live-cd.iso noeject noprompt -
    initrd (loop)/casper/initrd.lz
}

3. Reboot and select the new GRUB option

4. Send Josh a thank you email, and possibly flowers or something equally as romantic

Okay, step 4 is optional, but definitely in good taste. The bold bits in the above configuration code are things that may need to be adjusted depending on your system. (hd1,1) needs to correspond with your system's hard drive number and partition number, and the ISO file would need to match the path and filename of the ISO you're trying to boot.

So what's the advantage? Well for starters it helped me get around the fact that I have a crapped out CD drive and can't get it to recognize a disk to save my life. Second, and this have changed my whole outlook, the ISO's boot ridiculously fast. Because of that, I've been using this method to sample live disks of other Linux operating system without needing to wait 10 minutes for them to boot up (perhaps 10 minutes is an exaggeration, but it always seems to take forever).

There you have it, booting a Linux ISO without burning a CD. I did do some experimenting, and you can boot the ISO's from Windows based partitions (with a little tweaking of insmod) as long as you have GRUB installed as your boot manager. Enjoy the live CD speed boost!

“Oh, how awkward.”

Monday, May 3, 2010

So I recently met an individual who took over a project of mine at my last job. Now let me preface this all by saying that this project that he took over was not my magnum opus or anything, just a fairly simple process for loading a gigantic spreadsheet into a DB2 table. Well the whole interaction was completely awkward, and from what I can tell the dude wasn't impressed with the code of mine that he had to work with. No reason to be standoffish when meeting me though, or was it?

Well little did my new acquaintance know that I already knew the story about his interaction with my code well before our little meeting. See the code of mine that he had to deal with wasn't overly complex, and at the heart of it, didn't do that much. Data in, small bit of massaging and data back out. Well like most folks that I have had the pleasure of interacting with in the programming world (and myself often times as well) his first inclination was "I didn't write this, so it must suck and need to be rewritten". Well fuck you too. He did rewrite my code, and had to revert because the new code didn't work at all. Not just once, but two or three times this cycle happened. Keep in mind that I spec'd the changes personally before I left, and the project was maybe a week's worth of non-perfect engineering days. So instead of just adding support for the 4 new columns in the spreadsheet, this fuck rewrote the entire [working] system. Did I mention that his contract was not renewed?

Moral of the story? Don't rewrite code unless you can make a difference. Don't even think about rewriting someone else's code until you fully understand said code. Let's stop with the big dick competition and start hammering out code that will make a difference.

Are Flash developers the new COBOL developers?

Thursday, April 8, 2010

The game's changing with HTML5 and I'm starting to hear the same type of comments from the mouthes of Flash developers that I've been hearing from COBOL developers for years. The gist of the comments is that what they use is never going away (which in the case of COBOL developers and probably with Flash, it's a true statement). What throws me off though, is that there is a definite defiance towards the fact that the world is changing and a blatant admittance that the individual is stuck in their ways and not open to new (possibly better) thinking.

I use COBOL developers as an example because my last career choice landed me in an office with many, many COBOLers (we called them mainframers or MFers for short ;)). There were at least 3 times as many COBOL developers as web developers, and all but one of them was over 40. They would give us shit about how PHP was a passing trend, and "nothing but a scripting language" compared to their beloved COBOL. Don't even try getting into a conversation about OOP or the fact that Java can interface with the mainframe just as well as COBOL. They weren't having it.

I guess the point I'm trying to make is, it's sad to see a more recent generation of developers (my generation?) fall into such close-mindedness about technology. Incidentally, I used to be a Flash developer in another life, and I didn't like it at all. I was impressed when capabilities were added to display streaming video. But that's just a thing of the past with the new HTML5 media support.

Now I'm not saying HTML5 is the new hammer for every nail, and I'm not saying that Flash will ever go away entirely (Adobe AIR has definitely made great strides) but the truth remains that Apple is standing firm on not including Flash support on it's mobile devices, and Google's out there building 3-D games in HTML5. To quote a Weezer song, "the world has turned and left me here". I guess I'd be pretty pissed too if something threatened my bread & butter.

First Impressions of the iPad from an Android fanatic

Sunday, April 4, 2010

If you don't already know me, let me just preface this by telling you an a staunch Linux user as well as advocate, I prefer my Android phone to my wife's iPhone and after recently giving OSX a full-time shot for a week, I'm no closer to switching.

Now that I got that out of the way, here's the deal, like everyone else that has bought one, I absolutely love my iPad. It's fast, the screen is gorgeous, and I still love it even though "it doesn't multi-task, you might as well go back to using green screens". Just because I love it doesn't mean I don't have some gripe / opinions about it, shall we begin?

Lack of iPad apps on launch day

Don't get me wrong, there are a ton of apps in the store, but I expected a lot more. Specifically, I really expected there to be a free Facebook app. Yeah, I could drop 3 bucks on of the non-FB developed apps, but why would I do that knowing damn well that there will be a free one soon enough (there's already one on the iPhone, so I'm just assuming it will be ported to the iPad).

Better Gmail Integration

This one won't make much sense to you unless you've used an Android phone. Google provides an amazing Gmail experience from an application, and I long for that same experience on the iPad (or even the iPhone). The two things I love about Gmail are labeling and archiving, both of which I cannot do from Mail.app. Don't get me wrong, the new Google Gmail touchscreen experience when visiting gmail.com is superb, but it's not the same as having an app on the dock / springboard. Yes, I'm aware you can add a web link to the home screen, but is that really the same as an app that automatically updates and displays the number of unread messages?

Lack of User Profiles & Switching

Not sure about everyone else, but I didn't really want to increase my expense for this new toy by buying one for me, one for my wife, and hell another for my daughter. We did that one Christmas with buying an iPod Photo for both myself and my wife (then girlfriend). I view the iPad as a family device, and thus far it has been. My wife has been playing Plants versus Zombies, I've been exploring everything about the new device, and my daughter loves this drawing app. Not that I have anything to hide, but the last thing I want my wife to have to do is log out of a website that we both us and log back in. The convenience of most web sites is staying logged in, and without user profiles we don't necessarily get to take advantage of said luxury.

So that's my story and I'm sticking to it. I love the device, but I don't think it's perfect, and if there was a better selection on the market, I'm not entirely sure I would have went with the iPad. If nothing else, for the first time in my life, I get to be in that club of Apple fanboys that had Steve Job's newest toy on launch day.