Tuesday, May 25, 2010

AppleCare Protection Plan for an out of warranty Mac

Man, Apple is awesome. I purchased an Apple Care Protection Plan last February, days before my computer was out of its 1 year warranty. I thought I had months to register it and promptly forgot about it while school kicked my ass until May. When I tried to register it on the web I realized I was totally hosed, so I tried to call Apple to return the unused protection plan.

To my surprise, after being redirected three times around the various Apple associates I finally got a representative that wasn't interested in refunding my money, but in figuring out if I could actually use the plan to cover my out of warranty Macbook Pro. He sat patiently while I sifted through email receipts from Apple until I found an order number showing I bought my plan while my lappy was still under warranty.

Long story short, he was able to cover my out of warranty Mac because I bought the plan before the warranty expired. Good to know, yeah?

Tuesday, March 02, 2010

Perl on Snow Leopard

I just spent the past few hours messing with perl libraries and system libraries just so I could install and utilize the perl GD package to draw line graphs for a bioinformatics assignment (GD::Graph::lines specifically). For anyone that stumbles upon this page thinking that upgrading to Snow Leopard munged your pristine and not frequently used but for that one class all that time ago perl installation, here’s what I did:

Zlib barfed out this error message

Deep recursion on subroutine "Compress::Raw::Zlib::AUTOLOAD"

so I found this article that suggested I clear out all Compress::Zlib files and reinstall. Once I did that I reinstalled GD and Zlib from source by navigating to the directory of the unzipped source and issuing

make install (you may need to add sudo)

Once I got those installed from the perl CPAN shell issuing install GD worked as expected. Hoo-rah.

Thursday, February 25, 2010

GumboLabs, or How I Should Learn To Stop Worrying And Always Charge My Cellphone

I’ve been having hardware problems a lot lately. My car door has been janked since a friend of mine forgot how to put a VW stick shift in reverse and the door bent back on itself, consequently rainwater just pours into the rear drivers side floorboard.

Then my phone fell in the puddle in the floorboard. It still works, but the backlight doesn’t work and it doesn’t tell the right time. I don’t know how the fuck a cellphone that can make and receive calls can’t tell the right time; I’m just a dumb programmer. Lastly, my year old Macbook Pro has a battery that dies at 70% reported charge, so its pretty much gotta be plugged in at all times. I bring all this up because the latter two were a direct impediment to going to an event I really wanted to attend tonight, RubyBayou’s “Holy Shit Rails 3 Is Going To Be Fucking Awesome” talk. At least I think that’s what it was called.

I’ve never been to GumboLabs, so I didn’t know about the doorbell (the phone number they have posted on the door). I left my phone at home today and it lost its charge. I brought it with me just in case after I got home from my calculus class at 7:30. When I arrived very late with the meeting quite possibly over and I saw the sign I did what any good geek would do, looked for free wireless (thanks 48somethingangela for not encrypting your wireless!) and used their very nice patio furniture and started Google Voice texting the “doorbell“ and a friend that I thought was there. When that failed I tweeted RubyBayou and someone who was listed as a NOLARubyist with tweets that indicated they were probably there. Waiting for replies I read the release notes for Rails 3 again (yeah decoupling!) and tried to charge my phone. Until my computer died. With 70% charge.

You guys have what seems to be a neat and unconventional space going on (at least from the outside!) and I’m pissed at myself for missing the meeting, if it in fact still happened. I hope you guys had a good time, and I’ll even try and RSVP for the next meeting!

Side Note: I’m a husband, a full time programmer and a student, in that order (if only I could reverse the order of the last two), and this was simply a little vent at my recent hardware fails and my too busy schedule. I think New Orleans needs a strong Ruby community and I appreciate what GumboLabs and RubyBayou is doing.

If I didn’t have Bioinformatics homework on Hidden Markov Models due next week I’d be having late night hack seshes till the cows come home since I won’t be able to bring the new hotness to the Rails project that’s winding down at my job. Arel looks like the way Active Record’s query API should have worked from the beginning. Holy cow.

Saturday, February 13, 2010

The App Store and the Mobile Web

I read an article today about the Google Voice mobile app and how awesome it is. I can’t disagree, its made me embrace the cloud a few years too late for someone as nerdy as me.

I finally decided on a phone number for Google Voice.

I exported my Address Book contacts specifically for Google Voice, then used the new feature in Snow Leopard to sync with Google regularly.

I even tried using Lala for music without cluttering my work laptop until Apple bought them.

That article really got me riled up though. So much so I resurrected the blog to talk about it. The article, and this one right here, “Will the Mobile Web Kill Off the App Store?”, are both so ignorant of the recent present that I wonder if these ‘journalists’ even pay attention to the articles in their RSS feed they feel obligated to blog about every once in a while.

Don’t misunderstand me, I love webapps. I work on one every single day. They are the definition of portability and they have been ever since Paul Graham invented the Arc programming language to make arguably the first webapp, an e-commerce platform that was eventually purchased by Yahoo. I’m digging the cloud, welcoming our new internet overlords, Google, into more and more aspects of my life. I love the Steam store, never having to save CD keys or even physical discs, keep the proof of purchase on the cloud. Thanks bro. Servers that host your shit for you are just better. People get paid to make those datacenters redundant as fuck. Barring Google or Steam going out of business, I should be fine (Privacy concerns and perfectly rational worries about them outright jacking stuff you legitimately purchased aren’t the point, resistance is futile). Ever since people started using fucking hotmail people stopped worrying about aol dot com or cox dot net accounts and downloading mails and outlook express, this has been a long time coming. But people didn’t seem to want web apps on the iPhone all those years ago when it first dropped.

I bought an iPhone back when they had no apps, had an aluminum back (which I still like better, dings and scratches be damned), no 3g, a shittily designed headphone jack that required special headphone jacks or an adapter, AND cost three times the current incarnation. WITH A CONTRACT. Way back in those dinosaur times, just the touchscreen was enough to make everyone go apeshit. Once the awe faded people started asking the inevitable, “This is a computer, right? Where are the 3rd party apps?” In response, Apple released a 60 page document entitled iPhone Human Interface Guidelines for Web Applications, a starting point for developers that wanted to make webapps that looked native enough and behaved the way you would expect quality Mac software to behave, albeit slow as fuck on Edge. This wasn’t good enough for developers anxious to hack on the NEXT BIG THING and it certainly wasn’t good enough for the tech journalists, most of which couldn’t tell you which end of a try-catch statement to hold. The hackers cried foul and began hanging out in seedy IRC channels and plotting their altruistic and warranty-voiding jailbreaks while the tech hangers-on cheered them on from the sidelines. They were sticking it to the MAN, man.

I don’t know if Apple had plans to release an SDK all along and they were goaded into doing it earlier than they planned. It certainly seems plausible, they announced the SDK well before it came out as if to sate the spuming masses. Who knows. Point is, the mobile web was simply not good enough for most of the fanatics, and more than a few of the great unwashed that just wanted to make fun of Apple’s idiotic foray into a BlackBerry and Palm dominated smartphone space.

I can see the original indignation, the network wasn’t fast and I’m sure people didn’t realize just how much you could do with a webapp and the right mobile stylesheet. HTML5 may have not been production ready back then. I’m sure the idea of the mobile web still carried with it the unflattering idea of the BlackBerry web. I can especially understand how eager hackers would take umbrage that the company that they love wouldn’t let them toy with their new device, despite the added cred and thrill they would get from hacking it anyway. What bothers me are the tech journos.

Here we are, two and one half years from the debut of the original iPhone, two incarnations in, a BILLION apps sold on the app store, more ways to talk like T-Pain and make fart noises than the average consumer knows what to do with. Just a few months ago I read praise for the App Store and desires to see it for all mobile devices, and even desktop/laptop apps. Now that the narrative of Apple v. Google, cage match fight to the death, has permeated the tech blogger’s consciousness though, Google is seen as doing an end-around (WHODAT) on Apple by releasing Google Voice as a webapp. With Javascript and HTML5 it makes the case for webapps once again, and a damn good one at that. Its taken just two and a half years for people to realize that minus the 3g, we could probably have had the mobile web all along. HTML5 has been in development for 6 years under the name Web Application 1.0. But now that the Google Voice app was rejected by Apple, and there has been a schism between the two giants, it paints an exciting narrative for all the hangers-on when Google releases a competent web app for the iPhone. All of a sudden portability comes back into the lexicon, run it on your Droid, your Creepy Blue Eyed Lady Palm Pre, your toaster. These tech journos are all indecisive blowhards that couldn’t even write a “Hello World!” app if I gave them the first three lines.

It took 50 years to run the gamut from assembly on mainframes, to ‘portable’ apps written in C, to ‘true portability’ with the Java Virtual Machine, to webapps. Apple wanted to start with webapps, and the tech journos goaded them into playing through the cycle again in fucking high speed. Good job guys. Maybe next you could enlighten us on the merits of papyrus or stone tablets?

“If I asked customers what they wanted, they would have said ‘a faster horse’.” - Henry Ford

Tuesday, September 29, 2009

My presentations are on Scribd now

I uploaded the presentations I gave to the UNO ACM SIGPLAN group last semester to Scribd today. Here they are in all their embedded glory:

The second presentation isn't really worth all that much without the accompanying screencasty stuffs where I use the code generators and code just gets created on the fly. For that kind of presentation, look at railscasts, or the screencasts on rubyonrails.org, they're awesome.

Ruby Intro


Waow those are some big embed tags.

That's what she said.

Saturday, September 26, 2009

Well that was easy

Pointing my blogger site to an actual domain was really easy. Why didn't I do that earlier? I've owned jorgechao.org for like a year....

Time to do something with buildini.us....

Sunday, July 05, 2009

Testing blogging from the iPhone

If i go into edit HTML I can. But otherwise it's still fuxored.

Saturday, May 23, 2009

What do you want from me FOX Broadcasting?

So it seems that Terminator: The River Tam Sarah Conner Chronicles has been cancelled. No big surprise. I’ve read much better analysis of why the show was cancelled than I could ever hope to write, but its always the same reason these shows get cancelled: Ambitious, complex, no point of entry for new fans midseason. In short, all the things that make some television watchable. Fuck those hangers on that come in 7 weeks into a show because it came on after Idol and are CONFUSED.

Admittedly, I was part of the problem again when this show got cancelled. I didn’t watch until season 2, and even then to catch up I downloaded torrents up to what was available on Hulu, and watched the remaining 10 eps all legal and such. Even still, my Hulu viewership is a drop in the bucket to these vultures because Nielsen can’t even get their fucking web traffic numbers right.

I realized a long time ago that my viewer numbers weren’t being counted because my family wasn’t gullible enough to be a Nielsen family, so it didn’t matter if I watched or not. Shows would get cancelled based on the whimsy of the dumbasses that wonder why they get robocalls all the time (Hint: Nielsen) so why bother. Really, FOX News is consistently the most popular ‘news’ channel, but if you look at web traffic its quite the opposite:


MSNBC #1 in March 2009 for unique visitors to their website. Quite a shift eh? Polar. Fucking. Opposites. What’s the cause of this discrepancy? Less and less people are watching things on conventional television and going to the web for their entertainment and news. The people that don’t? They still watch FOX News and American Idol and Survivor. In this television climate, NOT A SINGLE SHOW I WILL EVER LIKE WILL GET RENEWED.

I finally felt like my viewership could be tracked by a site like Hulu. Web traffic? Unique visitors? Websites already do that. How could Nielsen fuck something up like that?

Until this is resolved and people’s web traffic viewership is counted for what its worth, television is doomed to be the piece of shit it has always been. Dollhouse got renewed, but it’ll be cancelled next season. Guaranteed. Fringe however crappy and pseudo-sci-fi it was, it’ll get cancelled because it doesn’t have Idol as a lead in for next season. Lead-ins? Do I really want the success or failure of a show to be determined by a mouth-breather that watches TWO PLUS CONSECUTIVE HOURS OF TV A NIGHT?? Someone that doesn’t know how to work a DVR, or download torrents, or do something as easy as going to hulu fucking dot com for their content? No, and that’s why we’ve been saddled with garbage for too long.

Wow, I don’t even want to look at a word frequency chart for this post. Bombs all over the place, but I don’t know what else to say. I’ll leave you with these little nuggets of hope though:



Sunday, April 12, 2009

Crafty Gits

I’m taking a class this semester called System Programming Concepts (UNO course number CSCI 2467). The class is ostensibly supposed to be about system programming, duh. It varies how much C programming, csh scripting, awk and sed using, grepping and generally UNIXy stuff is taught depending on the teacher and his disposition. I happened to have it with the lead Bioinformatics prof at UNO currently, Dr. Stephen Winters-Hilt. He’s a brilliant brilliant fellow, and his research in Bioinformatics has made him quite familiar with Perl. So, in this class, we’ve learned some basic UNIX commands, some C (all classic recursively solved problems) some csh scripting, but the real kicker is the amount of Perl we’ve had to learn. It turns out that Perl is super fast because of things like the built in hash primitive and the fact that most of the Perl that people write utilizes precompiled C to make things go faster. Forgetting the fact that your entire program looks like a big regular expression, its pretty neat, and the first problem he gave us on our midterm showed me that I should never trust search in text editors, not grep, or ctrl-f or /string (vi search). They’re all lousy. Here was his problem.

Given a virus genome, construct a Perl script that finds and counts all one base occurrences (a,c,t,g), 2 base occurrences(aa,ac,at,ag,ca,cc,ct,cg, etc.) all the way to 15 base occurrences (1 billion possible occurrences 1,073,741,824 or 4^15).

Once parsing the entire file into a single string and shoving it into an array (1 char per index) the next step is to start searching. His suggestion was to use the wonderful Perl hash primitive to track counts of bases seen thusly:


I don’t know about you, but I think that’s pretty damned hot. Sexy even. Incrementing the key of a hash so that its value is effectively the counter. NOT TO MENTION, if the key doesn’t exist, in Perl it creates the key, and sets the value to 1. Counters have never seemed so badass.

I’m not going to post my solution, in case someone taking the class stumbles upon this website (not likely) but I will say this: The problem is meant to screw with your brain. Like all good CS assignments, there is a catch that will frustrate you for days to teach you some kind of lesson.

Once I finished my solution to work for 1-base to 15-base cases, I decided to look in the text file itself to see if I was on the right track. I took one of the 3-base occurrences that my output claimed occurred 38 times. I started grepping around in vim and counting by hand. I counted less than 38. Panic-stricken, I thought that my algorithm for constructing strings was totally busted and I had to turn it in incomplete.

The following week I revisited my algorithm because it has to be redone in C and Python now. While looking at it I decided to look at the 15-base case. There was a single base that occurred twice in the 7500 character string, but grepping in the file showed only one occurrence. Perplexed I started at a long string of a’s, c’s, t’s, and g’s for a few hours and discovered that there WERE two occurrences of the string described by my algorithm. The strings overlapped. For example the base:


occurs twice in the sequence below. The problem is that the second occurrence is contained in the first.


See for yourself. Grep, ctrl-f, /search_term WHATEVER, will not find a second string in a search if the second string is partly composed of the first string. Testing my program by using time honored means of text editor search only served to confuse the shit out of me. I don’t know if the lesson to be learned was that you can’t always trust tools provided to you, no matter how old, but that’s certainly what I took from that assignment.

Monday, March 23, 2009


So I posted a lengthy response to a Computerworld.com news item/blog post about a Steve Ballmer comment about the '$500 Apple Fashion Tax.' I took umbrage and concocted this:

Here's the link for the story. I don't know why it rankled me so but here was my response, printed on my own blog for when it gets lost in the sea of pro Mac fanboyism. I can't believe I didn't put 'FIRST POST' on it. That would have been flamebait.

In the interest of full disclosure: I have a Mac laptop for work/mobile screwing off and a PC running Vista for gaming. I am a firm believer in the right tools for the right job, and I wouldn't be caught dead with a desktop I couldn't upgrade myself (iMac). Also, I think I may like vi better than emacs. Still not sure though.

With that said...

1997 called and it wants its argument back. The standard, demeaning concession 'oh they're great for video/recording music' is so hackneyed and tired. Its like saying the only place one sees a large collection of Mac laptops are on the campuses of expensive art colleges. Have you ever covered RailsConf in your lengthy tenure as a journalist/computer enthusiast?

I assume you've never developed a piece of code in your life, only written about computers in enthusiast fashion for the past 20 years. If you had you'd see the difference in a heartbeat.

Let me put it to you this way. When I began work at an insurance company doing software development they gave me a corporate issue Dell and let me spend my time configuring it. While I was doing that, for 10 hours on my first day of work, I opened up my personal Mac, and started doing development through progress bars, one click installers and constant restarts.

Even if the things you say about price comparison are true today, that zealots are paying $500 for a logo. In that case, lets say I'm a software consultant, and not a paid corporate schlep. If I was billing the typical rate of $150 an hour, the 8 hours I just wasted getting my box ready for real live, big boy development would have COST me $700.

Finally, try building out one of Dell's professional Precision workstations, do all the upgrades to get it to the price of the base model Mac Pro and see what you come up with. I end up with $100 more, and I didn't even include antivirus software. Dell won't let me link the customized model, otherwise I would have. When the Mac Pro first came out I did the same comparison with the 8 core Mac Pro (when that was the base model) and the Dell ended up being $1300 more at the time.

The individual components when customizing on the Apple website scale more cheaply than Dell in most cases, but I guess that would have been too much work to actually look.

I may have drank the Mac kool-aid sir, but looking at your curriculum vitae, it looks like you sold your soul to Gates and Ballmer long before I even took sides on this most ridiculous of arguments.

Ugh. I can't believe I wasted that much time concocting that reply. I didn't even go into the TCO arguments that are always bandied around. It just struck me as old and outdated the arguments he was using, and to buy the party line from Ballmer himself is pretty damn stupid.

Its like they say "Winning an argument on the internet is like winning the Special Olympics. Even if you win you're still retarded." Ooh, what did I just say? Am I going to have to issue an apology like Obama now?