Save the Developers!
I know sometimes it seems far fetched, but I want to tell you that developers are also humans. Flesh and bones, real humans. YEAH! I mean… Who would have thought, right?!
Anyway, every web developer out there has an ache, and that ache is called Internet Explorer. To you, the user, IE might not be such a big deal. At most, it’s an easy way for viruses and spyware to infest your computer and steal and destroy all your personal data. But for the developers IE, especially IE6, is the most prominent source of frustration.
Why is that, you ask? That is a very good and relevant question. You see, web pages as you see them are built using a conundrum of technologies at their core: HTML, CSS, Javascript. They are all backed by standards issued by official bodies which specify how these technologies work and what are they capable of. Standards are important because they guarantee that webpages will look and behave exactly the same on different browsers.
So what is the problem then? The problem is that since the early years Microsoft implemented these standards into their browsers in a very loose form and added proprietary extensions to them. Because of the huge market share Microsoft has (and had) on the OS market they pushed Internet Explorer onto customers and acquired a considerable share on the browser market as well.
Companies started developing websites using the crippled implementation of the standards for a number of years because of IE’s 96% market share with complete and utter disregard for the actual standards. Years later, many other alternatives surfaced, alternatives that supported the original standards to a higher degree, but websites developed for the old and grumpy IE6 were incompatible in some parts with the standards supporting browsers: layout would be all wrong, behavior handled by Javascript would be erroneous and accessibility would be reduced to a minimum.
When IE6 started losing market share like a sieve Microsoft developed Internet Explorer 7, which allowed for better standards support, but is still inferior to the latest generation browsers (debatable, some might say, but I will hold my ground with this one: IE7 is the worst in terms of performance, usability, extensibility and standards support next to Firefox, Opera and Safari).
So why didn’t we, the developers, shun IE6 altogether? Because people still use it. We can’t just ignore those people because lots of us do contract work for other companies which ask us to support this legacy browser along with its modern successor because of their market share. Companies cannot just ignore 20-30 percent of their visitors so they ask the developers to tweak their websites to work on the old and crippled IE6 as well as on the modern browsers and that, my friend is the exact problem that’s killing us: you sometimes end up spending up to 30% of the development time making the site compatible with IE6 by using nonstandard, proprietary, incorrect or just plain wrong methods, attributes, hacks or properties.
Can you imagine how that feels? Spending 30% of the time only to get the damn site to work on a 7 year old browser which continues to surprise you with its stupidity every half-second you work with it? It feels like you would want to be locked in a windowless room armed with a chainsaw together with the IE6 team which is cuffed on the floor. That is how bad it feels, without much exaggeration.
If you’re still using IE6, please, try a newer browser. It helps you, because you won’t be getting a spyware or virus colony every time you visit a questionable website and it helps us, because we can focus on making the web a better, more beautiful place.
Wouldn’t it be nice if we could spend our creativity on improving the web instead of pulling our brains out to achieve backward compatibility with a horrendous browser?
You know it would. So please, if you’re using IE6, visit the SaveTheDevelopers website and upgrade to whatever your heart wants.
Gravatars
You can notice those nice images next to the commenters of this blog? They’re called gravatars and they provide a way to use a common avatar which is attached to your email address(es) across the web. I’ve seen these for a long while but didn’t really care much to see whatever the hell was up with them until today.
According to the Gravatar website:
A gravatar, or globally recognized avatar, is quite simply an avatar image that follows you from weblog to weblog appearing beside your name when you comment on gravatar enabled sites. Avatars help identify your posts on web forums, so why not on weblogs?
Samples:

They have a nice Wordpress plugin that can be installed in about two seconds. If you type really like really really fast.
reCAPTCHA
I used to get up to 10 emails daily past the Akismet Spam filter into the moderation queue, but now I installed reCAPTCHA also. Let’s see how this rolls out…
Stop Spam, Read Books… and take your PENIS ENLARGEMENT OMG WTF BBQ pills.
On missing the point
Note: the title is way too aggressive for the point I’m making
Having recently moved from all exclusive open source based web development to the more corporate JAVA/.NET conundrum I’m in for a serious cultural shock.
I’ve dabbled with .NET before, especially with desktop applications. When .NET 3.5 beta came out last year I grabbed it and immediately started to learn the ins and outs of WPF and the likes. It was fun, and it wasn’t all that hard at all, especially having a fairly good book to guide me, Pro WPF - Windows Presentation Foundation in .NET 3.0 by Matthew MacDonald.
I used to program in Java, but Swing or J2ME only (wooohoo RTFEditor & MobileVNC). Now I’ve taken up Java EE and all the technologies that come with the bandwagon: Hibernate, Struts, JBoss, Ant, etc. There is plenty of documentation out there, but at times I feel there just isn’t a definitive source for answers (except the class API, which is usually the place where I find answers after scouring through it for 20 minutes).
So, what ’s up with missing the point? Coming from a long time (dynamically typed scripting language) background I used to be accustomed to getting the things done by applying a well defined algorithm:
- imagine it
- get idea on how to build it
- build it. if this fails, go back to step 2.
While this may seem funny to the more mature of the audience, it got me through the years to the point where I could build prototypes in no time and easily discard bad ideas to the point where creatively solving a problem was mostly a process of building up a solution to the problem guided solely by past experiences. I would recognize patterns in problems others would encounter in Java/ASP.NET web development and regard their solutions as obvious.
And that got me to ask myself a very complex question: why?
As I am getting more and more involved with those technologies in a work environment the answer seems to be creeping out of the dark: corporate technologies have a bad habit of trying to overengineer everything (ok, not everything). A problem is not solved by the think -> build algo. No, it involves think -> get in touch with the jargon -> research -> diagram -> more research -> new diagram -> research -> final diagram -> build. Give or take a couple of steps.
While this may be a bit exaggerated, it’s the truth (come on, be fair and admit it :)). The languages used were not built specifically for web development, they were adapted for it. So, what’s up with missing the point? Well, I personally believe that US americans are unable to do so because some people out there in our nation don’t have maps
and I believe that our education like such as in South Africa and the Iraq everywhere like such as– ok, just messing around, woohooo South Carolina!
As I was saying, I believe that these technologies tend not to meet well with the “release early release often” methodology that the more recent web seems to be built upon. I’m not saying that they are bad or anything, it’s just that they take some of that dynamic feel out of web development; everything is just dull software engineering again (I know s/e is not dull and that it’s the only way a long-time reliable system can be built, but let me make my case here), all work and no play. Dynamic languages are a lot more attractive for web development because they allow you to see the results of your work early on; you don’t spend hundreds of hours diagramming on a problem only to come to the conclusion that you took the wrong approach and you need to restart the process.
Sometimes I feel like these technologies are missing the point, which is to build web sites, fast and as reliable as possible given the development timeframe. This is not the plain old OS playground anymore; on the web you need to be fast or perish because if you fail to meet the user’s expectation quickly, people will forget you instantly. They don’t have to go through the hassle of uninstalling your software to get rid of it and for every website or solution launched by your company, be sure that there’s another one built by a rival company ready to snatch your user base the instant you fail to meet up with the previously said expectations.
I used to ask myself how come since Java and ASP.NET are considered to be very reliable technologies most of the jobs offered in web development are for dynamic languages such as Ruby, Python, PHP.
I feel like the answer draws closer.
Outsourcing in a nutshell
Come on, there’s got to be a pattern for Romanians as well…
From my experience of outsourcing work to emerging markets:
Chinese:
Me: do X, Y and Z
Them: ok
Me, week later: how goes it?
Them: did you mean X is Z and Y is not?
Me: what?!Indian:
Me: do X, Y, Z
Them: thank you Sir and have a wonderful day
Me, week later: how goes it?
Them: beautiful
Me: did you finish X?
Them: we are analyzing itRussian:
Me: do X, Y, Z
Them: why do X, when you can do N?
Me: customer wants it that way
Them: tell the customer he is stupid; here, take N
via livejournal
Summer Glau Wallpaper
Is this Clarice? Well hello, Clarice. I just found a wallpaper of Summer Glau, the actress that portrayed River in the cult series Firefly and the Serenity movie. If you haven’t seen either of them, I recommend you do, they’re interesting and fun to watch, especially if you’re a SF fan.
Remove the “Restart Now” popup from Automatic Updates
Ok, this is a huuuuge annoyance for me whenever I install a new update for Windows XP: every 10 minutes or so there’s a popup screaming “RESTART NOE DOOD”. When I work on something, that stuff popping up in the wrong part of the screen causes a scene where I am freaking out and trying to save whatever documents I had open and pray for no data loss. Fortunately, now there’s a way to get rid of that popup.
To sum up:
- Go to Start -> Run.. and type: gpedit.msc
- Navigate to Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update
- Set the Delay restart for scheduled installations to Enable
- Set timer to a long time interval, like 1440 minutes.
Goodbye stupid popup.




