Tag Archives: review

Reflection on Reflections from Damaged Life

Final Serenity

A newspaper obituary for a businessman once contained the words: “The breadth of his conscience vied with the kindness of his heart.” The blunder committed by the bereaved in the elevated language reserved for such purposes, the inadvertent admission that the kind-hearted deceased had lacked a conscience, expedites the funeral procession by the shortest route to the land of truth. If a man of of advanced years is praised for his exceptional serenity, his life can be assumed to comprise a succession of infamies. He has rid himself of the habit of getting excited. Breadth of conscience is passed off as magnanimity, all-forgiving because all-too-understanding. The quid pro quo between one’s own guilt and that of others, is resolved in favor of whoever has come off best. After so long a life one quite loses the capacity to distinguish who has done what harm to whom. In the abstract conception of universal wrong, all concrete responsibility vanishes. The blackguard presents himself as a victim of injustice: if only you knew, young man, what life is like. But those conspicuous midway through life by an exceptional kindness are usually drawing advances on such serenity. He who is not malign does not live serenely but with a peculiarly chaste hardness and intolerance. Lacking appropriate objects, his love can scarcely express itself except by hatred for the inappropriate, in which admittedly he comes to resemble what he hates. The bourgeois, however, is tolerant. His love of people as they are stems from his hatred of what they might be.

Yes.

JavaScript Patterns

Web applications these days, am I right? With all their user experience and fancy A/B tests. It’s all thanks to JavaScript, or, more correctly, browsers and developers alike finally biting the bullet, putting a paper bag over the language’s proverbial head, and getting some good use out of it.

Analogies aside, JavaScript is not so great, but the experts have found ways to reclaim their software engineering integrity. Buried under metric tonnes of “Top 43 jQuery Plugins and Extensions for the Colorblind”, you might actually find such a beacon of knowledge. One of those beacons is a new book, JavaScript Patterns, by Stoyan Stefanov.

My copy is already getting dog ears.

A little bit of personal background, a couple years back I was starting to feel pretty comfortable with jQuery and even started writing my own extensions (not for the colorblind). I was also reading a new book, JavaScript: The Good Parts, by Douglas Crockford. Even though I strongly recommend it, JS: TGP raised more issues than it clarified. Sure, don’t use this and that part of JavaScript, but is that all there is, just a minefield of features, waiting to trip me up? Furthermore, many of those antipatterns he described really only became problematic in larger projects. Shouldn’t I be more concerned about confidently architecting and building those larger projects? I was unable to convince myself that JavaScript was a safe platform on which a very small team could build a stable product. (I even have an ActionScript 3 book from those days.)

Now, end of 2010, enter JavaScript Patterns. It aims to provide insight and best practices for teams who want to create a JavaScript product that won’t be hell to develop and maintain. And for the most part, it’s successful. Stoyan is an engineer at Yahoo, working on YUI, and just off the top of my head, he’s also written Object-Oriented JavaScript and a chapter in High-Performance JavaScript.

Pros

  1. Really does deliver on holistic, well-justified JavaScript programming techniques that embrace the language.
  2. Assumes the appropriate amount of JavaScript and CS knowledge, not too much, not too little.
  3. Focuses mainly on JavaScript, not too much on the specifics of external libraries like jQuery. Libraries these days are big and numerous; a dedicated book for those would probably be more helpful. This one is library-agnostic and might even stay applicable longer.
  4. Adequate treatment of server-side JavaScript. By which I mean, almost none. Similar to the library issue above, server-side JavaScript is still JavaScript. It’s also very volatile and most of the server-side-specific stuff is not unique to JavaScript.

Cons

  1. Could give a little more focus to external libraries. I know I just got done saying that it was a good thing that it didn’t, but face it, almost everyone uses some external library. I think there’s a lot of general advice that one could give to allow developers to extract more from their library of choice while loosening any coupling that may occur along the way.
  2. Lulls a bit in Chapter 6, Code Reuse.
  3. The quote on the back of the book is probably the weakest bit.

    “Stoyan has written the go-to guide for JavaScript developers working on large-scale web applications.”

    Don’t get me wrong, it’s definitely my go-to guide (outside of good old Google), but the quote is from Ryan Grove, YUI Engineer. No offense to Ryan, but if you write a sweet book the publisher should try to hook you up with a quote from someone a little more prestigious than your own coworker.

And that’s all I have to say about that. For the time being, 8.5/10, highly recommended. It’s not very long and it really sets some precedents on which to build. For more study, I recommend you check out YUI Theater and follow some blogs. Ajaxian is great and all, but the real in-depth stuff comes out of projects and project contributors, check out Kangax’s blog (of Prototype fame) and Tim Caswell’s How to Node.

Hit and Run: Windows Mobile Emergency

I had to call the police recently. A combination of laziness and problem urgency led to me dialing 911 on my Windows Mobile-powered cell phone.

When you dial 911, Windows mobile flips the FUCK out. Despite the Vibrate setting, my phone begins a very loud and very noticeable series of beeps as it enters “Emergency Mode”. In this mode, you cannot dial any numbers that are not emergency numbers, apparently. What programmer was sitting in front of Visual Studio, mashing away, thinking, “I’m saving lives here guys, with these beeps, these loud beeps.” Woe to the bank teller or kidnappee who tries to get wise. Here’s some wisdom: anything not Microsoft.

Sent from my iPhone


^ not really; do you think I’m made of money and data plans? Also, the thing that pushed me over the edge in writing this post is the fact that my phone has not rung since this. I just miss the call. Yes, I restarted it several times.

Hit and Run: Avatar

It’s Fern Gully plus Dances with Wolves plus Halo (for the space marines). Yes, even in 3D, not much monumental other than the cost and the advertising effort. You would think with a multi-hundred-million dollar budget they could afford a custom font, or at least a nicer font than Papyrus (which was dead the day they invented ecards).

Obviously I don’t speak for the masses; 83% on Rotten Tomatoes and a ton of Facebook statuses indicate that people are pretty satisfied. Put simply, I spend too much time with computers to be impressed by this middling, overmarketed effort. What excites my brain and arpeggios on my heartstrings are personal efforts, far ahead of their time, like this one, Vol Libre.

Not the Last Airbender

Vol Libre plus Papyrus = Cooler than Avatar

Made in 1980 by one man, the current Chief Scientist of Pixar, but then just a faceless engineer for Boeing working on a passion in his spare time. Talk about unobtainium.

Hit and Run: Django? More like DjangNO.

You bring shame to the letters D and J.
I’m not sure what deadlines these web developers have, but I wish someone would have given them some flex time when writing Django. Don’t get me wrong, I’m pretty happy to be learning a new technology for work. But, after a week of working with it, Django seems like all the bad stuff of Rails mixed with all the bad stuff of PHP, with a few extra configuration files thrown in for good measure. Django is verbose, command-line driven, has a highly suspect templating language (Separate if and ifequal statements? forloop.counter? How unintuitive are we gonna get?), fragile, and a nuisance to set up for production. Did I mention the excess configuration files?

Oh well, it’s better than straight Python for web development, provided I don’t lose too much time to studying its quirks. If I had more options, I’d go Ruby on Rails or CodeIgniter/Kohana, all of which seem to have clearer, more consistent web development philosophies and workflows. Maybe I’ll make a Mahmoudjango or something. Need to work on that name.

Three Books on Web Design

3 design booksIf college taught me anything, it’s that college can’t teach you everything. In fact, in my experience, it completely overlooks some pretty important material. Despite the ubiquitous and astoundingly revolutionary nature of the web, especially in the context of computers, my CS curriculum didn’t even include a passing reference to web design. Considering I strongly considered graphic design as a major, one might understand my disappointment.

Background

I’ve technically been designing websites since 6th grade. Oh yes, by 10th grade I could have told you all about framesets, Dreamweaver, tables, and spacer.gif. Thankfully none of those sites are up anymore and we can all put that age behind us. The polish of Web 2.0 is all around us now.
A few years ago I had that first observation: site after site seemed to bring new degrees of attractiveness and usability. Yet, there was an underlying degree of uniformity that made it seem like the respective designers had all read some book I had yet to discover. More recently (maybe 6 months back), I decided that long before the web, let alone blog posts titled “620 Web 2.0 links to turn you into a Web 2.0 guru”, there was design. That was the inspiration behind my search for literature.

Motivation

Like I alluded to above, I’ve got a respectable understanding of code principles, so I was looking for intermediate to advanced level books. And if I was looking for a code reference I would look online for something more up-to-date and complete. Also, due to the fast-paced nature of web technologies, I looked for books that 1) were recently published and 2) emphasized design techniques with modern web technologies. These two got me these three:

  1. Web Standards Solutions: The Markup and Style HandbookDan Cederholm
  2. Five Simple Steps: A Practical Guide to Designing for the WebMark Boulton
  3. Transcending CSS: The Fine Art of Web DesignAndy Clark

1. Web Standards Solutions: The Markup and Style Handbook3.5/5

Pros:

  • Clean, reads well
  • Good overview of the basics

Cons:

  • Code-centric (somewhat to be expected, given the title)
  • Proscribes against some coding practices that should be common sense for any web developer conscious of coding standards. Spends too long on obvious examples of bad web development.
  • After reading the other books, it’s clear that it could have gone a lot farther in some design principles
  • Focuses on accessibility, but not enough on how design can affect accessibility for the average user
  • Despite being new, it didn’t cover much that wasn’t in Transcending CSS (see below), a book from 2007

Published just a few months ago, this book ended up being a very short and smooth read. It had a heavy code emphasis, but did very concisely explain a large chunk of standards used in modern websites. Clean explanations and just the right amount of background for someone looking for a quick primer on modern code solutions. Still, the focus is purely on web standards and accessibility; very little design input here.

2. Transcending CSS: The Fine Art of Web Design4.5/5

Pros:

  • Most rounded, comprehensive
  • Design-centric, but with a good measure of advanced coding advice
  • Has held stood the test of time very well
  • High measure of rereadability (plus great references to other designers)

Cons:

  • Examples + code not accessible online
  • Some parts of the book felt disjoint
  • Missing out on a few newer technologies (barely worth mentioning)

This is the oldest of the books listed, published all the way back in 2007. Suffice to say it’s aged well. This might be attributed to the theme of the book satisfying my design over code criterion perfectly. It strikes a very strong balance between design instruction and actual code. The book makes a very solid attempt at complete workflow explanation and covers a surprisingly relevant range of topics for its age.
It did strike me as a bit denser reading than the aforementioned Web Standards book, partially due to the design emphasis and partially seemingly due to the less explicit writing style, in my opinion. The format is a bit nonstandard, as well; it’s a square book and a good 1/3rd of it is somewhat aesthetically refreshing photography and topical illustration. Overall, in the face of its shortcomings, if you need a design guide to the web, I highly recommend this still-relevant and balanced read.

Designing for the Web

3. Five Simple Steps: A Practical Guide to Designing for the Web4.5/5

Pros:

  • Current (name drops: Twitter and Blueprint CSS framework)
  • Very engaging
  • Design-centric
  • Beautiful book (physically)
  • Covers business side of design

Cons:

  • Pricey, low US availability
  • Despite a whole unit dedicated to typography, could have used more font case studies/examples.
  • Could use better copy editing (a few spelling errors).
  • No colophon or index

Definitely the book I was most excited about. I read the inspiring Five Simple Steps blog posts about grid design a while back and was enthralled to hear a book of similar nature was in the works. Mark Boulton, the author, also edited the Transcending CSS book above. His entire philosophy behind writing the book revolves around design over code.
Of course I should also mention that the book still isn’t available in the US, but you can order from the Five Simple Steps website to get a copy from the UK. Also exciting: Mark plans to write/publish two more “Practical Guide” books in the same vein.

Conclusion

Anyway, all three of these books have their merits. I can strongly recommend the second two to everyone with experience and a desire to grow as a web designer. I would very mildly recommend the first to someone looking for lighter, more novice reading (it’s not purely beginner’s material, but it’s not very advanced either). There are probably better books out there.
Lastly, I’d like to thank my work for giving me the opportunity to learn from these books on their dime. I really want to emphasize that asking your manager for reading material relevant to your work both gets you a free book and shows your desire to grow as an employee. From the other angle, it is your workplace’s responsibility to keep their workforce informed regarding current technologies. A few books here and there are a pittance in comparison to the knowledge and inspiration they can bring.

SILT: Stuff I Learned Today

This is my dad wearing a pair of shades I found.

This is my dad wearing a pair of shades I found.

This is the first in an indefinite series of catch-all blogposts. Now that school is up and my schedule is more regular I think I can make a few more minutes a day to log some findings and post some links. Also, I’m thinking that by presenting a more innocuous task (a short, general post, as opposed to a long, targeted one), I might find myself sowing the seeds of expanded posts.

Also, sometimes I feel silly calling up friends and telling them each individually about cool junk when I know they’re all subscribed to this baby right here. Content will range from factoids to news to mini-rants to Linux and beyond. So:

  • Peep Show Season 6 has started. I might need to cache up the whole season before I start, it’s such dark goodness. 9.5/10 on imdb with 5,200+ votes? Intense.
  • I found out a way for a Linux machine to dynamically get a hostname on a Microsoft Active Directory network that isn’t set up to update hostnames via DHCP. This was ridiculously hard and I strongly suggest you contact me if you ever run into this issue. It involves kerberos and this one-off script.
  • I’m watching Kate Humble’s 4-part series of Middle Eastern travel, The Frankincense Trail. It’s from the BBC and it’s not too bad. It probably is a bit too frankincense-centric to be honest, what with her hauling her own little load of frankincense everywhere and asking everyone whether their people use or used frankincense. The most interesting tidbit I picked up is that apparently some parts if not all of Israel enforce some crazy Shabbat rules. For instance, you can’t use (technically be directly involved in the use of) anything electrical. You can ride an elevator, but you can’t press the buttons (it stops on all floors). You can open a fridge and grab something, but you have to tape the light sensor down beforehand. All this because it’s the ‘day of rest’. I’m wondering how universally this stuff is implemented.
  • Last, but certainly not least, Oyama is back up at the makuro.org address. My $30 Time Warner lets me upload at like 300kb/s so please be courteous and only max out my connection at night or during the workday. Also, I’ll know who my true friends are based on who logs in first (only my true friends use RSS and FTP).

Well, here’s hoping that wasn’t too painful, because I’m planning on learning a lot of stuff and posting about it. And then, this series of blog posts, like its namesake (silt), will provide me and my offspring a fertile farmland on which to raise agricultural goods.

Slap

Chop. They‘re great. Bought one from Walgreens (save on shipping price and time, but you don’t get the cheese grater thing). It’s great, pretty much just as great as the IronGym (keeping with the “As seen on TV” scheme). Kinda steep at 20 bucks, but it feels sturdy enough. Quick tip: it’s more efficient to cut stuff into biggish chunks and then slapchop for dicing. Super great in that respect. My hands don’t smell nearly as much of onions. Also, another quick tip, just skin the onion yourself.

As for me, school’s basically through and I’m done phase 1 of moving, so I thought I’d pop in and let you know to expect some more posts. I’ve been keeping pretty busy with projects and musings, so hopefully they’ll be interesting. In the meantime, watch this again.

the iron gym is great

The Iron-clad Gym, itself.

The Iron-clad Gym, itself.

I recently purchased an Iron Gym, ” the multifunction training system that raises the bar on upper body exercises.” It’s a pull-up bar. But get this: it requires no installation. And it’s surprisingly great, despite its As Seen On TV nature, so here’s a brief review.

First, it’s not made of Fe; it seems more like Al and good amout of FoRu (foam rubber). Also, it’s not fully made. Some minor assembly is required, takes like 4 minutes, after which it feels pretty sturdy. I tossed it up on my dorm door frame and slammajammed some iron. Four whole gyms worth of iron, by the feel of it. But the good news is that the IG took it all and then some. It really does work very well.

Now that you know it’s great, you probably want that keen insight and sharp criticism you’ve gotten used to in my 5-post run as a blogger. First, it is about $30. This is kind of high-priced, but I think a regular pullup bar will probably run you about $15-20 anyway, so I guess it’s not much more. Also, the foam rubber might wear over time, but by then you’ve probably gotten your 30 bucks out of it anyway.

Supposedly this is useful for other exercises. About that: it’s not really that useful for other exercises. You can do pushups on it, but it’s about the same as holding dumbells. There are “ab straps” you can get for free to do hanging exercises, but those cost 8 dollars in shipping and handling and I can do plenty of ab work without them.

It’s still great though. If you like you can buy it from Walmart or a less evil establishment, perhaps. Then if you don’t like it you can return it. But pull-ups are by far my favorite exercise, as they allow me to 3-2-1 blast-off or do David Blaine levitation impressions, all while working your biceps, lats, and rear-shoulders. Combined with dips, you get a pretty full-featured upper-body workout. Checkout how to do them with two chairs (I recommend putting weights on the chairs if they’re like the ones we get in the dorms).

So, yes, go purchase it. You’ll find yourself cranking out a couple pull-ups here and there as you walk through your door throughout the day. Get one for the office. Have a competition. Be healthy, etc. Next time I promise to post pics of me gettin’ ripped and jacked.

On authority; documentaries

Between the last post and this one, I realized why I disdain my blog. Personally, I generally only happen upon blogs that are

  1. Not blogs at all.
  2. Webcomic-driven
  3. Authorities on a subject

Because this blog is 1) most certainly a blog, 2) presently lacking in humour and artistic skill and 3) written by someone who has no delusions of claims to authority, I realized that I probably wouldn’t find much merit in my own blog. That said, I’m going to strive to produce information on what I know/do best. At the end of winter break, I can comfortably say that my command over media (motion pictures and the like), is about as authoritative as I can afford to make it.

So now, without further ado, a brief review of some highly excellent and engaging documentaries. (with imdb links and ratings)

  1. Checkpoint (2003) – 8.1 – A must-watch documentary. No narration, just footage of the interactions between Palestinians and Israeli border police. There is very little violence, no deaths or serious injury, just a very sharp and clear image of a dynamic not seen anywhere else in the world. It humanizes not just the Palestinian plight, but also the Israeli soldiers, many of them younger than I.
  2. White Light, Black Rain (2007) – 8.4 – The film gives a very balanced and human-centered view of the 1945 Hiroshima/Nagasaki nuclear bombings. It steers clear of making too many assertions about modern-day implications, which makes it a very independent source, and it’s about time; this is likely the last generation that will have access to the human side that the film documents so well. All that said, if you’re not particularly interested in the subject, you may find some parts a bit tedious.
  3. Ralph Nader – An Unreasonable Man (2006) – 7.9  – I love me some Ralph Nader; I hate me some status quo. I found the film extremely informative and at times, even fun. It covers Nader biographically, with a particular focus on his role in the 2000 elections, where many claim he robbed Gore and stuck us with Bush.
  4. BBC Horizon – Allergy Planet – Not actually a feature-length documentary, it was probably the best BBC Horizon I’ve seen yet. Traditional, familiar style, but very engaging and interesting. Short and sweet.
  5. Walmart – The High Cost of Low Price (2005) – 6.9 – Another interesting one, but it lagged at times. The conclusion is predictable, but it might give you some perspective as to the degree. Also, it did go the extra mile by going to China and Bangladesh, which I appreciated.
  6. Who Killed the Electric Car? (2006) – 7.7 – Very nice presentation, and despite the seemingly small scope, pretty engaging. Most of the United States was and probably still is unaware of just how advanced the electric car had gotten by 1996. We probably still think it impractical, I mean, otherwise why would we only have hybrids? California had sweet electric cars because they had some interesting laws, then the car companies got the laws repealed, and then the car companies recalled the perfectly fine cars and destroyed them. If you’re into the environment and haven’t seen it yet, I highly recommend.
  7. Maxed Out: Our Credit (2006) – 7.4 – This film will probably disgust you, exactly the reason why you have to see it. For anyone curious as to how banks actually make money, prepare for the enlightenment. It’s not from you and me, payin’ our bills, reading the fine print, no, but rather the people who do it all wrong. The higher the risk the better. Note the date, note the financial crisis, note that you can get a better bead on what’s going on by simply watching a movie. (Short version: the less chance someone has of paying back a loan, the higher the risk for the lender. The higher the risk, the higher the rate. Rate = return. These high-rate loans were sold on markets for beaucoup bucks and never got paid back, duh.) I surmise that the low rating was because it had a couple draggy parts and because the whole issue had very few manifestations in the economy at the time.
  8. Confessions of a Superhero (2007) – 7.3 – Semi-interesting portraits of some people who dress up and act like superheroes (with whom tourists may take pictures) in Hollywood. Not tremendously informative, but you’ll see some characters for sure.

I watched some documentaries this last semester that were pretty good and the ones I would recommend there are Breaking the Silence – Truth and Lies in the War On Terror, The War on Democracy, and Where in the World Is Osama Bin Laden. I’ve only got one documentary left to watch, and that’s Taxi to the Dark Side. I’ve heard great things.