Your Work is Bigger than Yourself

This week marked a monumental event for Ruby programmers. The enigma which was _why, the hacker/artist who was instrumental in shaping the Ruby community, simply vanished without a trace. All of his websites were removed, his social media accounts cancelled, and he left without so much as a goodbye note to the community he so very much shaped.

Losing _why was bad enough, as his voice will be missed by anyone who’s ever interacted with the Ruby language, but another loss we suffered was in the fact that when _why left, he took his work with him.

Losing _why’s work is a great loss, one which will be far-reaching an long-lasting, especially by those who have adopted his code into their own projects. There’s no more Camping, no more Shoes, no more Why’s Guide, no more Try Ruby. There’s much more we lost, but to list it all would require a blog post within itself. The revocation of his projects hurts all of us, and while I try not to be offended by his brash actions, I can’t help but feel that his actions were completely and utterly selfish.

More >>

How to Make Enemies and Intimidate Customers, a vBulletin Story

Being a hosting reseller has been a pretty uneventful experience so far. I’ve been dabbling in the field since my college days, nothing ever too serious, but I do offer some of my MediaTemple DV space to a small number of clients to help offset the cost of dedicated server ownership.

However, yesterday marked a milestone in my hosting experience, albeit not a good one. I received notification from MediaTemple that a DMCA suit was thrown at me, for an instance of vBulletin running on one of my clients domains. A chill ran down my spine; DMCA suits are serious, scary business.

Long investigative story short, it turns out that my client was mistakenly in possession of a yearly license, and technically in the wrong. However, my client was misinformed when the site was built into thinking they had a permanent license, so the mistake was innocent enough.

What wasn’t innocent enough were the harsh tactics used by the vBulletin service to inform us of this error. One of my core values is the golden rule, to treat others like you would want to be treated. The fact that vBulletin’s first thought of action at discovering this expired license was to throw a *lawsuit* on us? WTF.

More >>

You are not your IP address

We're sorry, but we suckThe move to Mexico has opened my eyes to a whole new world. And I don’t mean because I’m in another country (although that’s also true, Puerto Vallarta is a stark contrast to NYC in just about every way possible). What I’m talking about is how the Internet treats people in different locations.

It’s no secret that media streaming sites, such as Hulu, don’t function outside the US. If you visit Hulu from Mexico (or France, or Zimbabwe…) Hulu will display a message that you’re outside their ad-supported geobubble, and thus, cannot view it’s content.

Aside from this being a total buzzkill (how am I going to watch my Daily Show now?), I’ll say that it also introduces a very limited mindset from advertisers in how to reach their audience. Just because I’m accessing a website from a particular location doesn’t mean that I’m from that location. As the Internet becomes increasingly integrated into our lives, it opens up a freedom for us to explore more, to change our location, because thanks to the Internet, we can still be productive and do all the same things that we’d do from our homes.

More >>

Skittles: A lesson in fail.

It’s been a few days now since the relaunch of the Skittles.com website, and it’s been getting a huge amount of buzz for it’s groundbreaking use of social media in an official setting.

The only problem is, they’re doing it wrong, and they made a damn mess of it.

When I first heard the concept, I was very excited. I’m a huge fan of an openly social web, where the opinions and facts from people all over the world can help shape a brand. It’s clearly the direction the web is going, and a natural evolution from the early days of product reviews and recommendations.

As soon as I went to the site, however, I was repulsed, as it’s the laziest, most confusing implementation that I ever could have imagined. Completely different from what I was expecting, in every way.

More >>

Five goals for an exciting year

With my recent announcement that I’ll soon be leaving Zenbe and the comforts of New York City for a dream job with Apple (and warmer climates), I kick off what I know will be a truly exciting year.

In celebration of this, and in light of many others’ posts about their new year’s goals, I present my own list of goals that I will be striving for in 2009.

1. Become financially prosperous
Raised by a single mother, I come from a very working class background. As a child, I watched my mom fight to stay afloat in the financial waters, running into things like unemployment, gender equality, and the general obstacles of life. When I grew up, I knew that I’d have to work my ass off to make it in this world, and my hard work and perseverance are starting to pay off. This year, my primary focus will be on saving money and making investments which will help ensure a financially prosperous future.

2. Have more adventures
This is actually going to be a pretty attainable goal for this year. As I am going to be working remote for a while, part of my money-saving strategy includes moving back home – and home for me just happens to be Puerto Vallarta, Mexico. My dad and stepmom have a well-established life there, having been there since 1999 selling real estate, and by going back, not only will I gain massive benefits from Mexico’s low cost of living, but I will be able to go on tons of adventures and weekend road trips. Mexico is a seriously beautiful country, filled with jungles, mountains, rivers, and valleys, and exploring them has been something I’ve dreamed about for a long time.

More >>

A dose of reality with Slickspeed

I’ve been a fan of the Slickspeed Selectors test for a while – in all honesty it’s probably the coolest thing Mootools has released (and this isn’t a knock on their js framework). The Slickspeed selectors test does everything right – easy, friendly open-source code which is stupid easy to customize. The tests are extremely useful and can give you some amazing insight on how the framework you’re using for your app compares to the other ones that are out there (and you can even test on your own code!).

After a discussion at work today about how expensive Prototype’s $$ function is in the lovely Internet Explorer, I decided to run the Slickspeed tests in IE7 – something which I’m a little embarrassed to admit I’ve never done before. I knew the results would be bad – but seeing just how bad they were made my stomach turn. It also piqued my curiosity to dig into this some more.

With the preset settings and my own custom frameworks (I chose Prototype 1.6.0.2, 1.6.0.3, and jQuery 1.3), both Prototype’s came in at over 2 seconds (2142 and 2169ms, respectively). Granted, I’m running my IE’s on a VM powered by a nearly 2 year old MacBook, but an ‘average’ website visitor is probably powered by something on a similar level.

More >>

Please back off the startups

This post is going to be a bit of a rant, so bear with me and feel free to bitch me out in the comments, but I’ve been getting really annoyed with people’s attitudes towards startups. In general, people seem to have short tempers with performance issues with startups – whenever an app goes down or behaves slowly, the ‘webosphere’ fills up with a bunch of whiners’ complaints.

Well, I’m here now to urge you all to have a little bit more patience and flexibility. In other words, quit your bitchin’.

Having been involved in the web community for over half my life, I would like to think I’m “on the level” with startups, how they work and the people behind them. The web startup culture is full of passionate nerds – myself included. We decided to get into this field because we want to help innovate the Internet, connect people, share information, and overall better ourselves and others through this extremely powerful global communication tool.

More >>

A Case for Canvas

Anyone who follows me on Twitter is probably aware that for the last few months, I’ve been getting my feet wet with Canvas drawing.

For those who aren’t familiar, Canvas is an HTML5 element which enables you to do script-based drawing, specifically Javascript. While not natively supported by the IE’s, the wonderful Explorer Canvas script works very well in converting Canvas drawing to the IE-supported VML. While I hear you can’t do everything with Explorer Canvas, most drawing, coloring, and animations will work just fine.

After getting around the initial mind-warp of drawing with script, Canvas has proven itself to be flexible, fast, and fun, and although it’s very new and not (officially) globally supported, I would recommend that anyone who’s considering adopting it to do so. More >>

Test-Driven CSS (sorta)

A common problem that web apps face over time is CSS bloat. Especially with new sites, any rapidly-evolving app is going to be subject to some serious front-end abuse in today’s extreme programming world. As features are added, removed, and modified on a whim, it’s all too easy for CSS to get out of control.

This is something we’re currently faced with at Zenbe, and my current task has been to refactor our app’s CSS by finding and eliminating a decent amount of bloat that’s developed during our app’s first year (well, 8 months).

When starting this task, I knew that we’d have to come up with an at-a-glance method for our developers to take the newly re-factored CSS and run with it. A lot of the CSS bloat that I initially saw was related to a simple lack of consistency as new UI items have been added to our system. Take our buttons, for instance – we started off with one-size buttons, then we had 2, then we added different colors, and so on. As these items have been added, instead of letting the CSS classes build off each other*, we’ve acted like they’re not related at all – and before we knew it we had a ton of redundant CSS.

This is where test-driven CSS comes in.

More >>

Why I’m a Mac (and proud of it)

Ever since transitioning over from PCland in early 2004, my Mac affiliation hasn’t been questioned much, due to the fact that most of the industry professionals around me also use them. It’s kind of like being a liberal in NY, nobody’s going to question your motives. This is all good and fine, until you find your Macness under attack. With your defenses down, it’s hard to think of a good response, and you can end up looking silly.

This is exactly what’s been happening to me recently, and being sick of my weak responses, one night I got to thinking, why am I a Mac?

Well, I know why I’m not a ‘Windows’. As someone who’s grown up online, and turned professional web developer during the birth of web 2.0, I’ve been pretty spoiled by innovation in software. I demand it, and any company who can’t provide me with such a service is not worth my time. I don’t have time to wait 3 years for a buggy web browser, and I definitely don’t have time to wait 8 years for a crummy OS. Add to that viruses, trojans, adware, malware, and spyware… you know, I think I’ll pass, kthxbai.

More >>