Drivers Wanted

Filed under: Random Junk — Shu @May 20th, 2009 10:30 pm

I believe this commercial launched Volkswagon’s Drivers Wanted ad campaign in the mid/late 90’s.

This is probably one of my favorite commercials ever. I think I was in my third year in college. This brilliantly targeted my demographic - catchy music (forget the fact that it’s about Roman Polanski), anti-establishment visuals, motivating slogans. The next day, I asked my friend Nick, “Hey, have you seen the new VW commercial?” Of course he did. It had the same affect on him. “Yeah. I need to buy a Jetta,” he said.

Brian Wilson is a Punk and Needs a Foot in the Face

Filed under: Los Angeles Dodgers (and baseball in general) — Shu @May 12th, 2009 10:27 am

So Giants closer Brian Wilson balls like an 8 year old girl after the game on Sunday because Dodgers 3rd Baseman and Official Team Badass Casey Blake mocked his arms-crossed showboating after Blake hit a home run off him. Wittle Bwian, who needed to be defended by his teammates, explains that the cross arm thing is a tribute to God and his late father, and that it has nothing to do with showboating.

Is that so?

No, it’s not. Brian Wilson crosses his arms to promote his damn clothing line. Very nice, Brian, you lying ass.

Brian Wilson's side business

God, the whole Giants team is made up of emo crybabies. Except for Pablo Sandoval, who’s a walking diabetes bomb.

WMCX’s Transmitter is Down

Filed under: New Jersey — Shu @May 7th, 2009 11:29 am

WMCX, Monmouth University’s radio station, is the only one worth listening to on the Jersey Shore. About 3 weeks ago, their transmitter went down. In my area, you’ll get a really weak signal from the College of Staten Island, which is also pretty good, but full of static. I emailed WMCX to ask what’s up because there’s no mention of anything on their site. This is the response I got back:

“Thank you for your concern. Our transmitter is down right now, so the
station you are hearing has the same call numbers as us (88.9) and is
coming over our air waves because we’re down. WMCX is only streaming
online for now at www.wmcx.com. Hopefully in the next couple of weeks we
will be back on air.”

Phew. That’s a relief. Now hurry up, WMCX. There’s only so much sports talk I can take.

Digg Says FU to its Users. Again.

Filed under: Technical — Shu @April 10th, 2009 1:06 pm

Daring Fireball is now blocking links from the much loathed DiggBar.

The DF post also explains how to block the DiggBar. Someone submitted it to Digg, and as of right now, the post has received 765 diggs. However, it never made the front page of Digg. In fact, it doesn’t even show up on searches for “DiggBar.”

So much for Digg’s idealistic notions of democracy and social media.

Yes, It’s True

Filed under: Just Plain Awesomeness — Shu @April 8th, 2009 11:04 am

Shu Chow: He took the midnight train going anywhere.
Shu Chow: an-nee-wheeeerrreee
Jack: how the hell do u take the train to anywhere?
Shu Chow: With Journey, anything’s possible.

The New DiggBar Sucks

Filed under: Technical — Shu @April 3rd, 2009 10:40 am

Are we living in 1999 again? Why does everyone need to put external links onto a damn frame? Digg’s now doing it.

The digg bar in action

Luckily, you can turn the thing off. My Account -> Settings -> View Preferences.

Turn the stupid thing off

Unluckily, it means you need to be logged in. I can’t just pop into my non-default browser and check digg anymore.

I am now a Zend Certified Engineer

Filed under: Technical — Shu @March 23rd, 2009 5:05 pm


I took the PHP 5 Certification exam on Saturday. I passed. I did it because 1) I wanted to see if actually knew what I was talking about and 2) My life seemed a little empty without stressing for a midterm every few months.

There’s not that much detailed stories written about the test, the studying, and the process, so I thought I’d make some notes here.

The very first thing I did was to purchase PHP Architect’s Study Guide and go through it. That was a terrible idea and a waste of money. Why? Because Zend themselves offer a Certification Bundle. This bundle includes an exam voucher, 10 mock exams, and a study guide. They never mention that the study guide is the PHP Architect’s version. Only deep in the links, as I found out later, they list the authors, but again, no publisher nor even a title. If I had known this, I would have purchased just the exam and mock exams, saving me $20.

After I skimmed through the book, I used a mock exam and see where I was at. Good Lord, the questions were hard. I’m terrible at multiple choice exams, so this doesn’t help. More over, the vast majority of questions were like “Choose 3, Choose 2,” etc. At the end, they break the topics down into 12 topics, and give you a fail, pass, or excellent notation by each one, and an overall grade. I passed, but probably half the categories said “Failed.” They don’t tell you which question you missed, which is terrible, but at least you know where to concentrate your studies.

The mock exams are created by PHP Architect. They flat out warn you at the beginning that the mock exams are harder than the real test. The general consensus, as do I, agree with this. I would say that the easy questions on the mock exam are the standard questions on the real exam. Once you get over freaking out about the mock exams, take a deep breath and remember that everyone in the world says the real exam is easier. It’s true. It’s not a conspiracy.

Some of the topics covered in the mock exam were really obscure and weren’t covered at all in the study guide. Three questions that stick out were on SQLite. SQLite is not for powering websites. The average web developer has probably never touched it. I got lucky because that’s what I’ve been working with at Antenna for the past three months. Another example were the design pattern questions. There were questions on the Delegate Pattern and the Chain-of-Command Pattern. For both topics, the book covered more basic database and design pattern areas.

Now that I knew where I was, I went through the study guide in detail, taking notes along the way. It’s a decent book, but I do have some complaints. Some of the areas did not provide enough detail, nor do they discuss the “why” of certain things. It seemed hurried in these areas, and it’s up to the reader to study them more in detail.

After reading through the book, I concentrated on the mock exams. My strategy was to take the test, and for any questions I was even vague about, I would take a screenshot and research the questions later. This, by far, was the most helpful thing that I did. In researching the answer for one question, it forced me to know, in general, the whole topic. For example, one mock question asked what the three constants for command line streams are. In searching for the answer, I learned in detail about command line installations and modules.

This worked great for about three exams. On the third exam, I started to see a lot of repeat questions. On the fourth, the amount of repeats got ridiculous. If I had actually used all ten exams, I probably would have been able to get “Excellent” all around based rote memorization. There simply isn’t enough questions in their mock exam question bank. After that, I was pretty much done with studying.

I did enough to pass. You get 90 minutes for the exam. I finished in 45 minutes. All, in all, I think this is a very passable exam. I have a hunch that a lot of people that don’t pass simply didn’t study. Instead, they’ve been working with PHP for several years, and think they know everything about it. The problem is, if you’re working in one company, the techniques you use are often what you stick with. I remember listening to a podcast with one of the exam committee members. He admitted that he knew everything about MySQL and PHP, but his company had never touched PHP with any other database, nor parsed XML.

Looking back, I think my studying would be more efficient if I knew specifically what I should know:

1) Basics, covered in the study guide. Did you know you could do this:

function myFunction() { echo “Hi”; }
$a = “myFunction”;
$a(); //calls myFunction

Like in Javascript? Crazy, huh?

2) Arrays, arrays, arrays. You know need to know the details of array_udiff_uassoc(), but you should know basic sort, flip, reverse, merge, split, explode, push, pop, shift, and unshift, at least.

3) Strings, strings, strings. I hate string functions. I can’t keep them them straight, so I had to drill myself over and over. substr, strstr, strchr, substr_replace, strpos, etc., etc.

3) How to do an INSERT and SELECT with PDO and mysqli, and how to do them using bound parameters. They’re very similar. Just map it out.

4) How to load a page and parse XML DomDocument, SimpleXML, and XML Parser.

5) Use fopen to read a file and a url - fread, fget, too. Not one question on sockets nor cURL for network stuff.

6) Basic design patterns - MVC, Singleton, and maybe factory/adapter.

7) The security chapter of the study guide - the common security holes and how to plug them.

8) Objects and referencing. There seemed to be a lot of questions on this.

9) Not one question on iterators, maybe just my dumb luck.

10) On any thing you study regarding standard functions, know the relevant php.ini directives that affect them.

Keep these things in mind, buy the Zend bundle, and you should be fine.

Sad

Filed under: Technical — Shu @January 22nd, 2009 1:50 pm

Search on Google for “iPhone Tattoo” and you get a bunch of hits for a product called iPhone Tattoo, but not tattoos of iPhones. Bummer.

Two Things They NEVER Tell You About Javascript

Filed under: Technical — Shu @January 21st, 2009 1:39 pm

There are two huge gotchas when you’re doing advanced Javascript programming with frameworks such as Dojo and the Yahoo! Interface Library. I can’t remember directly reading about these in books. Occasionally, I’ve seen it mentioned on mailing lists and forums here and there. However, when I’m fighting with a problem for days, I’m too focused to think about some off the wall post I read somewhere. These two things will absolutely drive you crazy if you don’t make the connection that they might apply to you.

The existence of the DOM matters.
In just about every book, they tell you to put scripts in the <head> tags. That’s neat and everything, but while your JS code is running, the body, div’s, p’s, and tables haven’t even been downloaded yet. JS frameworks usually have a method that runs code after the DOM is set up. However, if you start attaching events and properties to DOM elements that haven’t been loaded, they won’t work. Two common ways around this are 1) put your <script> tag right before your closing </html> tag, so that all the elements have been downloaded and set up before the JS starts running. The Yahoo! team does this. 2) If you are using a framework, put your event attachment in a wrapper, then call the wrapper in a framework’s execute-after-the-DOM-is-setup method.

The huge pain in the ass is that debuggers and consoles often won’t tell you that a DOM element is missing when you’re using a framework. By the time the debuggers start working and stopping at breakpoints, the page has already been loaded, so the DOM often is already there. Further, frameworks abstract out and bury the event handling deep within their code. So, while Firebug hums along and the Console won’t report an error, your event never fires.

The order that you declare objects and function sometimes matters, and sometimes it doesn’t
Along the same lines as the last point, if you start working on DOM elements even in callbacks, they need to be loaded first. In the case of functions, they should be declared first, but in some frameworks, they don’t need to be. Sometimes you can just say, “use this function” and the framework will be smart enough to just pass that function in when it’s declared later. The point is, start futzing with the order if a callback is never fired.

And Nothing of Value Was Lost

Filed under: New Jersey — Shu @January 19th, 2009 3:30 pm

G-Rock Radio 106.3/106.5, “Jersey’s Rock Alternative” somehow has managed to become even crappier. They just changed formats. There’s now a picture of Fitty, Justin Timberlake, some emo cutter, and some other non-descript one-hit wonders on their home page.

As crappy as K-WOD and Live 105 were in Northern California, listening to them last week reminded me that G-Rock was absolute garbage. Somehow, G-Rock’s philosophy of “All Emo, All the Time” qualified as alternative. Oh no, you emo Jersey kids. Where will you get your Flobots/Red Jumpsuit Apparatus/MCR fix now?

As hilarious as I find the thought of the two Panic! fans in Marlboro cutting themselves at this news, this is probably the dumbest thing station ownership could do. There’s about half a dozen hip-hop stations blasting their signals south from New York City. Now, instead of being a big fish in a little bond, GRock’s going to be an anchovy in a sea of barracudas.

Good luck, you rocket scientists. The The X was always a much better station anyway.

Next Page »