The Net is Dead

Life Beyond the Buzz


Heath Ledger is now in HELL
Heath Ledger is now in hell, at least, according to the Westboro Baptist Church. I guess most of you know that I don't really believe in the concept of heaven and hell. For these people however I kinda hope I'm wrong. Because if hell really does exist I'm pretty damn sure these people will be burning in it for eternity. Bah.


Highlights of a turbulent year of blogging

2007 is almost over. It's been an interesting and (at least for me) a rather turbulent year. But... it's been a lot better than 2006 in many aspects and I hope 2008 is going to be even better. I have never done this before but I figured it would be nice to do a little summary post looking back at the highlights for 2007 on this blog. I'm also planning a more philosophical 'end of year' post if I find the time to do so but let's start with one about the 'best of 2007' on this blog. In case you missed any of it, this post is your chance to catch up on it!

In the beginning of , the life of yours truly was quite a mess. I was stuck in Sweden, going through some serious hell in my personal life and looking for a new professional challenge. To be really honest, back then I had already started the application process with Yahoo! but since that took a very long time I had to look at all possible opportunities, just in case things wouldn't work out with this application process. Luckily I ended up getting my best job ever as a frontend engineer at Yahoo! in London, UK where I still am today.

Let's have a look at what happened on this in 2007

Lots of design

After returning from the US where I met the lovely Pam things started to get better. I left Sweden to temporarily go back to the Netherlands where I waited for the application process at Yahoo! to complete and to regain some much needed energy. Whilst fresh back in Holland I discovered virb.com, a social community which pretty much is a web developers wet dream. Besides doing a big review of virb I also did several profile designs that showcase it's customisation power. In that same post you'll also find some of the other work I did during that time. On top of all that I also launched the all new Eurobands.us for my lovely fiancee. In the meanwhile I got offered a job at Yahoo! and mid April it was finally time to move to the great city of London.

In my first months at Yahoo! I dived into the fine art of client side performance tuning. This even resulted in a pretty nifty Wordpress CSS optimisation plugin which turned out to be pretty useful for a lot of people. It dramatically reduces the CSS payload on any Wordpress powered website.

Photography

Photography is still my most important hobby besides the geekier things I spend time on. I did some photography related stuff on my blog during the summer of 2007. First of all I shot a series of action-packed images at the Red Bull Air Race. I also did my very first series of promotional shots for a band: Animasola from Sweden. During the processing stage of these images I bumped into a great way to simulate analog film grain on digital images and wrote a tutorial about this technique. The comments in this article are highly amusing by the way. If you haven't seen it yet, check it out!

Getting back in the game

When it comes to the volume of articles on my blog, 2007 hasn't been the most active year. However things started to take off more and more during the last half of the year. Quite ironically that's when I decided to leave the 9rules network of which I had been a very proud member for quite a long time.

Then there was the first Yahoo! internal Hack Day I was able to attend. And guess what? I won 'Best of Show' with the team I assembled for this event. Definitely one of my web development related highlights for the year.

While activity on this blog was picking up, spam was too. While I still don't like it very much, switching to moderated comments became a necessity. While comments don't really seem to be dead it does seriously hinder the interaction. Us bloggers versus the spammers: 0 - 1.

As I said before, in the last half of the year I feel I'm seriously getting back in the game of tech blogging. Especially the last month has been pretty great. I wrote a lean & mean JQuery Accordion Menu, improved Google and refactored the javascript of this site using JQuery. I've even been guilty of doing one of those 'top ten' posts. In my case on useful 3rd party apps for your iPod/iPhone.

Getting ready for 2008

What 2008 is going to bring? I don't know yet! Hopefully a lot more blogging and new and exciting professional challenges. I'm diving in head first and we'll see where things are going. I'd like to thank all of you for your valuable comments on my articles and I hope to see you all again in 2008. Have a great New Years Eve and see you all in a brand new year!

All links used in this post

Here's a handy-dandy overview of all posts highlighted in this entry.


No merry xmas for the whales

Sometimes I wonder if there's still any point in getting angry on how humanity has the tendency to destroy anything that's beautiful but still I guess writing something about it is better than keeping silent. Apparently the Japanese plan to go and kill a whopping 1000 whales in the pacific sometime soon. It's totally beyond me why humans feel the need to kill these beautiful and highly intelligent creatures. Just like a million other things we apparently 'need' to destroy on this planet. In this case the rest of the world even gets a bullshit story on this all being 'for scientific purposes'. Sure...

It seems Australia is making an interesting move by sending an armed vessel to monitor these bastards and hopefully bring them to international justice.

I think there's a perfect opportunity for President Bush here to do something useful with his massive arsenal of weaponry and send one of these. An amazing opportunity to sink some real ships in order to test this nice submarine. All in the name of science, of course.


Christmas gift tip

Deluxe Jesus Action Figure

There is no action figure more deserving of a deluxe edition than the Son of God. This 5-1/4" tall, hard vinyl figure comes with eight amazing plastic accessories: five loaves of bread, two fish and a jug for turning water into wine (not guaranteed to work for real). Also features "glow-in-the-dark miracle hands!"

Jesus Action Figure

Religious zealotism is one thing but commercialising it... there's one hell of a smart enterpreneur right there for ya! Good thing there's a disclaimer about the jug 'not guaranteed to work for real'. But... it just might!

Merry Christmas!


To redesign... or to refactor!
Rebuilding the temple - By Gustave Doré

For those who have been here before: The website you're looking at right now now is quite different from what it used to be the last time you visited it. The changes however are completely invisible to the casual visitor.

Every once in a while I get the urge to redesign and redo all the markup for the entire website. On the other hand I still quite like the design and I think it will take me a considerable amount of time to come up with something I like better than what I currently have. And of course I'll have to come up with something I like significantly better before I'd replace this with something new. Therefore it will probably take a while before this happens. I may not even redesign at all but just reorganise things a bit and do some spring cleaning like I did before.

So... no redesign in the near future! Still however I felt there's plenty of room for improvement on the current site! Therefore I decided to start parts of it. The first wave of improvements does not have anything to do with the look and feel but with what's going on under the hood. Slowly but surely I'll be ironing out all the things that have been bothering me for quite a while now. A few important things have been improved in this round: the and the previously non-degrading tabs in my sidebar. Let's have a look at what has changed!

Bye bye Prototype.js and scriptaculous

Until today the behavioral layer of this site was powered by (fairly old versions of) and . While plenty of people may still love these libraries, for me the love has kind of faded away in favour of and JQuery. For beefier applications developed in a large collaborative team I'd pick over anything. It's rigorous, solid, well documented and of excellent quality. For less complex things that only I work on however I really like using JQuery because nothing beats it's compactness and ease of use. The terse code it can sometimes results in is not always easy to read or easy to manage but it sure is compact and highly effective. And of course proper documentation can make a world of difference. Because not too many crazy things are happening on these pages (after all this is just a personal site and not a large web application) I choose to pick to power all behavioral aspects of it. This alone has significantly reduced the javascript payload on the site. Moving from my tightly compacted version of Prototype and Scriptaculous to JQuery shaved almost 20kb off immediately. Furthermore I managed to reduce the amount of lines of site specific code by about 50%. A minor additional benefit for me is the fact that PivotX, the soon-to-be-released succesor of the tool that powers this blog is using JQuery throughout. this means JQuery will be the one library to rule the entire show. WIN!

Update: Another unexpected advantage of this code upgrade is the fact that this site now works perfectly on the iPod Touch and the iPhone, very much unlike the old code!

Javascript Module Pattern

Besides switching from Prototype to JQuery I wanted more tightly organised code. I remember being quite happy with my old code when I first wrote it but today I pretty much can't stand looking at it anymore. If you want to take a look you can check out the old code here. I migrated from a pile of disorganised functions to a nicely organised module. If you want to know more about the I highly recommend reading this article by Christian Heilmann. Using the module pattern results in nicely organised and safely namespaced code which is easy to maintain and easy to extend.

The new code can be viewed here if you're interested. This is a documented and uncompressed version. The site itself runs a minimised version of the same file to keep the size to a bare minimum.

Unobtrusive sidebar tabs

When I first built the templates for this site I thought it was perfectly fine to have javascript:void(null); as a destination for a hyperlink. I know, I should be ashamed of this even though it's two years ago. Nowadays this practice makes me cringe which is why it HAD to change. The tabs now have real, working links that can be visited and behave like one would expect: show what's behind the clicked tab. When you disable javascript you'll see that the tabs still work. If you're too lazy to try this you can also click here to see this page reload with the commentary tab open instead of the default one. All this has been accomplished by a small bit of PHP that adds appropriate classes to the body element depending on which tab has been visited, and of course some supporting CSS. Thanks Dirk for your input on this one! Note that I've added a rel="nofollow" attribute to these tabs as it makes no sense to have these links indexed by search spiders. It may even raise 'duplicate content' concerns.

You'll probably notice that my contact form and my comment form are still NOT doing anything without javascript enabled. I probably won't change this. This is however kind of a deliberate choice. The reason is simple: doing these things 'the AJAX way' still stops a remarkable amount of spam. It really does! As sad as it may be, this to me currently outweighs the importance of having each and every part of my site work without javascript.

Refactoring as a learning experience

You may wonder what the point is of completely rewriting parts of a perfectly working website, resulting in exactly the same perfectly (I hope) working functionality. If I wouldn't have made this post, hardly anyone would ever have noticed the changes!

leads to better insight in your own code. You knew how to do it when you first wrote the code, but now you know how to do it better. It's been great fun to look back at how I used to do things and compare this to how I do things today. As web development is a continuous learning experience I keep finding better ways of doing my work and looking back, realising what progress I'm making is a very satisfying experience. Especially the last 8 months of working with all the talented people of the Yahoo! web development team I have learned an awful lot. If you've never refactored any of your existing code I can highly recommend trying it yourself. Maybe, in two years from now, if I still haven't changed my templates I may again smile at how I programmed things this week and do it in a much better way, just like I have done just now. It's entirely possible as insights grow continuously.

Happy refactoring!

note: It's perfectly possible that I missed some small things. If you notice any problems on this site that didn't used to be there please let me know!


Open letter to screenreader manufacturers

This one is to all of you manufacturers. I'm not sure if it's of any use as it kind of feels like asking money hungry pharmaceutical corporations to start giving a shit and make their life-saving meds cheaper for countries that can't afford them, but still. Let's give it a shot.

matters. I'm sure most serious web developers will agree with me on this statement. So we read, we learn and we try to stick to all best practices we know about. It's common practice for web developers to test their sites in a wide variety of browsers including IE, Opera, Safari, Firefox etc. etc. but there's one big, ugly, dark gaping hole: screen readers. The best we can do is test our sites for accessibility by running them through a validator such as and hope for the best. However I'm pretty sure there's lots of subtle possible enhancements we're all missing. And why? Because none of us developers have access to screen readers, unless we buy one. A good example is the issue I personally missed when doing my little Google experiment. Teddy Zetterlund pointed out in the comments that there was room for improvement in my search form. With access to a screen reader I would have discovered this right away at the first test run!

JAWS pricing. ouch! expensive!

Screen readers cost a ridiculous amount of money while almost all normal web browsers are free. Some of them cost even more than a whole new computer. This (in my humble opinion) pretty much sucks but I suppose the creators of these products need to make a living as well. However I feel they could help make the web a better place by offering free copies of their software for web development purposes. I'm pretty sure it would be a huge eye-opener (or should I say ear-opener?) for developers to experience what their creations are like for people who can't see. It would most likely result in a huge increase in awareness among people who build websites but also among business managers who think this whole accessibility thing isn't all that important.

Having to pay at least $895 for JAWS (for example) probably doesn't make sense for most developers because they don't NEED it. After all they're not blind. Yet I'm sure a lot of us would incorporate screen reader testing into their workflow if it were possible, just like it is with all the various normal browsers. In my opinion this seriously hinders development of properly accessible websites. So here's to the creators of and other screen readers: Come on guys, help us developers improve the web by allowing us to use your software for free to test our creations! Like this, we don't have to 'guess' anymore what a screen reader would do with a certain piece of code but we'd KNOW. What a world of difference this would make...


Some great standards based web development example

Today I bumped into the new beta homepage for the BBC. I was pretty amazed by how well this very complex page has been built. Something you don't often see on a really large website. Their page is a great example that demonstrates that even in a big project it's possible to keep up a remarkable quality standard. The page validates flawlessly as XHTML 1.0 Strict and degrades very nicely when Javascript is not available. Since it's a beta I'm sure the team is still ironing out some issues but this already looks like a remarkable piece of work.

Way to go, BBC team!!!


Stupid linkspammer

If you're one of those sneaky bastards who managed to somehow get a comment in and stay under my radar you better not be stupid enough to visit my site from your '' spam-o-tron application or you may see the link you've 'built' getting nuked.

spammer visit in Mint
Spammer caught in Mint.

deleted
The spammy comment that once was...

Anyone know more about '' ? Here's the referrer:

http://172.16.19.3/LinkBuilder_Beta1/CheckLinksInt.aspx


Improving the world's most visited webpage

This post is about the world's most popular homepage. It's a really simple page but it's done remarkably poorly in terms of frontend web development. It's pretty much beyond me how a multi billion corporation manages to make such a poor effort when it comes to the most visited webpage on the planet. I'm of course talking about Google. I suppose it's safe to mention their name. Just about anything else seems to be off limits when it comes to the branding of which is why I decided to work my way around the guidelines for this post in order to prevent a very unwelcome C&D.

i-marco search

The world's most visited webpage is a very simple page. There's not all that much on it. A menu bar, a form with one textfield, two buttons (one for the normal people and one for the lucky few) and a handful of links. Not a huge challenge you would think. Apparently it is. In this article I'll go through the sourcecode of the page, highlight the most remarkable atrocities to the noble art of web development I found in it, discuss some possible reasons for some of the approaches followed and finally present my own attempt at improving the page.

Highlighted flaws on the search homepage

No doctype
No doctype has been defined in the page. Even if it was intentional to force the browser into quirks mode there's still not really a valid excuse not to have one. There's other ways to force a browser into quirks mode though it's beyond me why you'd want to.
No language has been defined in the HEAD section
Too much hassle, I guess.
<body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="sf();if(document.images){new Image().src='/images/nav_logo3.png'}" topmargin=3 marginheight=3>
Right.... CSS has been around for a while but ancient attributes are used. And without single or double quotes enclosing them. onload? meh. Just like with the quirksmode issue there may be a deliberate reason for this. Still I think this should be handled differently. More about that later.
span span span eggs and span span span bacon and span with some span
Long series of links have been marked up with <span> tags enclosing them. I think unordered lists would have been somewhat nicer?
Tons of links of secondary importance at the beginning of the page without a way to skip to the important part: the search form.
Very nice for the disabled indeed!
Other aspects of accessibility
Epic FAIL. Try it yourself
All attributes are without quotes enclosing them
Only numeric values can go without quotes but even for those I'd recommend using them. Nasty!
<center>
Valid in HTML 4.01 but ... seriously...
A table to markup the search form
No tabular data to be seen on this page guys!
<br><br>
Should only come alone. And only in poetry too.
<font> tags
And only used to set sizes too.
Sloppy code and lots of dumb validation errors
Have a look. Being 100% anal about validation may or may not be to your taste but using non-existent attributes, a runaway </a> tag, no quotes anywhere and unbelievably dumb stuff such as <div align=right id=guser style="font-size:84%;padding:0 0 4px" width=100%> ? Looks like a disgrace to me. We're talking about the most visited webpage on the planet here!

I have no words for how incredibly poor this simple page has been coded up. Some of these things may have a somewhat plausible explanation but even with that in mind I'm pretty sure you'll all agree it's... well... a piece of trash that's not worthy of the status it currently has on the internet.

A possible explanation for some of this mess

Even though this page isn't quite a schoolbook example of how to properly markup a webpage there may be an explanation for parts of this mess. If you view the page with all CSS disabled, something interesting surfaces: The page looks almost the same!

Besides the ugly browser default font and a small flaw in the menu bar, the completely unstyled page looks remarkably close to the styled version. This is where a reason for the crappy approach may lie. Maybe the creators wanted the page to look as close as possible to the intended design in every browser on the planet, including ancient ones such as Netscape 2.0?

Even though hardly anyone uses these browsers, a missed visitor means missed business. Of course this explanation still doesn't justify half of the flaws found on the page but it definitely is an interesting observation.

Trying to support all browsers on the planet is an admirable thing but there is a better way of doing this: Serving a different (simplified) version of the page to ancient (non-css) browsers. Even if that's too much of a hassle, a single CSS based page can be made to be perfectly usable in these browsers. It's one of the things I tried to accomplish in my own take at the most popular page on Earth.

The remarkable resemblance to the styled page when looking at the unstyled one does NOT address the flaws in accessibility and the horribly sloppy coding style. At least it doesn't in my book!

The i-marco search page

First things first: my take on the world's most visited webpage. I took the original dotcom page as my example. Individual country versions of the original may look different and have different code. For this exercise I did not take these into account.

Obviously I made the page validate. I choose HTML 4.01 Strict as my doctype as I saw no immediate benefits in using XHTML. Making the page validate wasn't a particularly tough challenge.

Secondly, I used strictly only for styling. As any modern web developer should. Since there's no tabular data to be found anywhere on this page there's absolutely no reason to party like it's 1996 on it.

Third, I took as much care as I could to make the page accessible. One of the first things you'll notice when looking at the sourcecode is the fact that I moved the menubar all the way to the bottom of the page. These links are of secondary importance. This page is all about the search form which is why this should come first. The page furthermore complies with all guidelines I deemed relevant. In case you feel I forgot something feel free to let me know about it in the comments. I love learning more about accessibility! The page passes all tests on cynthiasays.com, very much unlike the original it was based upon.

Fourth, I choose to not put CSS and in separate files. The reason for this is the fact that a page as popular as this particular search page needs to be tweaked for . CSS and Javascript in separate files would triple the amount of requests that will hit the servers that host it which is obviously a very undesirable thing. My sample page is uncompressed but in case mine were to get as many hits as the original I would have compressed it as well, just like the original. For this article I choose to keep the page readable.

The Javascript doesn't use the most modern way of attaching an event but I wanted to keep this part as compact as humanly possibly while keeping things completely unobtrusive. The code in this page is the most compact example I could come up with working in all major browsers I could get my hands on.

Even though the unstyled page doesn't look as close to the styled version like the original does, I still think it's very usable. In fact it's arguably MORE usable than the original despite the visual difference. In case this would be deemed absolutely unacceptable my stance on it is: serve legacy browsers a different page! The styled page may not be 100% pixel perfect to the original but I thought the minor differences it still has with the original and among different browsers would definitely not be showstoppers of any kind in case this page were to be deployed for real. I do realise some people may disagree with my practical attitude towards 'pixel perfectness'. To each their own!

Finally: the page has strictly separated style, markup and behaviour except for everything being in one document, which has a valid reason as I pointed out before. I have changed all link destinations and the company logo in order to not upset the creators of the original by violating their branding guidelines. Under the more menu you'll find some interesting destinations by some of my extremely talented co-workers. The search form can be used to search my blog.

Closing notes

By no means I'd dare claiming that my version of the page is the best humanly possible. I'm sure there's a lot of room for improvement and I'm welcoming any suggestion you may have to make the page better. I'm sure I can make it better myself if I keep tinkering with it for a lot longer but I thought it's definitely good enough to make this post and bring my points across. I had fun doing this little exercise and who knows it will make some managers wonder about whether it may be an idea to invest more in good frontend web developers.

Comments and suggestions for improvement are more than welcome! Web development is and will always remain a continuous learning experience.

Small update: In this post I didn't want to change any of the design on the original page because I wanted to focus solely on the web development side of things. Therefore I took the design 'as is'. Andy Rutledge did an excellent writeup on improving Google strictly from a design point of view. A highly recommended read!

Happy searching (and web developing)!

The i-marco search page


Google strikes again. Let's punish the little guys!

I guess my Google pagerank is going to be reduced to ZERO soon. Why? Because I have on my site. And in their all-knowing internet-regulating wisdom Google has decided to punish the site owners trying to make a little bit of revenue for having them.

Today a post I made about the iPod Touch may be very relevant because it's actually about the iPod Touch and iPod/iPhone websites link to it. It may therefore rank high for searchterms such as 'iPod' which is useful for people looking for things related to this subject. Some time soon though, my post will be deemed completely irrelevant to the searchterm 'iPod'. And why? Because there's text link ads on my website. Go figure. I'm too stupid to understand why but apparently this is going to make my post a lot less relevant to the search term 'iPod'.

Now before you get started: YES, I think has all the right in the world to 'protect the quality of their index'. I'm all for it. However, (I'm speaking to you, wealthy Google executives) if your algorithms are so clever that you can detect and feel they shouldn't propagate then why don't you just not give any pagerank to the sites behind these links instead of cracking down on the little guy running a small site? Paid links would slowly disappear as they lose their value and my post about the iPod Touch would still be relevant to the search term 'iPod'. Like it should.

So Google, put your money where your mouth is and go ahead and 'protect your index'. No need to punish the little guy just like you screwed everything up for legitimate blog commenters instead of the linkspammers with your stupid attribute everyone got shoved down their throats.

See you all in Pagerank 0 land. I don't give a flying fuck!


Get rich blogging!!! Or something...

EARN TONS OF CASH! START NOW!!!I have no idea what kind of effect this post is going to have but I felt like writing about it for quite a while. I suppose I should start with some disclaimer to make sure I'm not trying to smut-talk anyone. This post is merely a critical view on things and not intended to talk bad about anyone discussed in it. I don't have any background information /facts or whatsoever. Just going on intuition and common sense here.

I'll Take You By the Hand and Teach You Step-by-Step Exactly What You Need To Know and Do To Create, Build and Grow Your Own Popular Blog That Consistently Pays You $1,000 to $5,000+ Every Single Month Whilst You Have Fun Working Just Two Hours a Day Simply Writing About Your Favorite TopicsYaro Starak

This post is about ''. For quite a while I've amazed myself at statements being made by people such as Darren Rowse and especially . And there's more people like Yaro who claim that one can make thousands and thousands of dollars just from blogging. Style-wise, blogmastermind.com looks like many of the spammy looking 'make money fast while doing fuckall!'-websites the internet is full of. Apparently this design style works, whether the service delivers what it promises or not. Endless large-font promo-texts, unstyled hyperlinks (typical!) and tons of 'testimonials' that try to convince the viewer that a fat ass monthly income is waiting for them to be earned. All they have to do is.... run a blog...

I guess I (or at least my blog that is) must be an EPIC FAIL in the monetizing department.

I guess after well over 3 years of serious blogging and after acquiring a pretty nice following of readers I'm finally at the point where I dare to say this site has become a respectable blog. I worked hard for it. For over three years. It's still nothing like a lot of the 'A-Bloggers' but I'm quite proud of how things are currently going with my blog. People link to my work, Occasionally they even steal my work (always a good sign!) and every now and then I meet total strangers at conferences who turns out to KNOW my . Not too bad if you ask me!

Damn Marco, you must be about to quit your day job!

Hmmmm... not just yet, unfortunately. After over three years of hard work I make some money with this blog. It covers my hosting and it allows me to buy an occasional extra for myself on the internet. It's definitely nice. I'm definitely doing better than a lot of my fellow bloggers. So let's make one thing clear: This post isn't a complaint. Far from it. It is however meant to be some sort of reality check. Does the money I make from this blog pay my rent? Hell no. Does it pay for my food then? Nope! Does it pay for my nights in the pub? Maybe... barely. I guess you're getting the picture. It makes me some pocket cash. And that's about it! I'll have to stick to being a web developer. And honestly I don't really mind!

I guess I do most of the things that the sites that promise their users an excellent monthly income from their blog. I have different kinds of ads, I've played with affiliate plans, I'm fairly 'topical', I have chosen a niche and I try to write useful and valuable content. Yet the mountains of cash aren't there. And even if I'd one day earn 10 times what I earn now with this website I still wouldn't even consider quitting my job.

I know people who are running more than just one blog with more visitors than I have an they too aren't able to make a full living out of it. And trust me, those sites are doing great. So... what are we supposed to think when we're reading that we can earn an income of thousands of US dollars a month by only spending a few hours a day writing blog posts? You tell me!

Or maybe one can get rich from blogging after all!

I may be doing it all wrong, and so may a lot of other bloggers I know. Maybe we all have to plaster our blogs with ads? I'm not sure. I'm sure I could double my monthly revenues by becoming a total ad-whore but it would probably also chase some of my readers away. Sometimes I think I'm already 'pushing it' with the amount of ads I'm currently running. I'm not going to try. One last thing came to mind when thinking about writing this very article. Maybe there IS a way to earn thousands of dollars . Maybe the money is not in blogging about what I'm passionate about. Maybe it's something else. I'm pretty sure the guys I mentioned in the beginning of this post aren't lying about their earnings. But I don't think the claims about making tons of with one, two or even three blogs hold any water. Maybe there's only one way: Blogging about how to make tons of money with blogging. I'm sure the hunger for cash among the people subscribing to sites talking about earning heaps of money generates a good amount of cash. I suppose I'll stick to my own subjects.

Before I sign off I have a question for all of you fellow bloggers:

Are you getting rich from blogging yet?

Happy blogging / money making / dreaming about a $5000 / month income from blogging!


So much for non-commercial use...

To: amministrazione@html.it

Hello,

I noticed you're using the code and examples I published in the following post in my blog:

http://www.i-marco.nl/weblog/archive/2007/11/25/jquery_accordion_menu

You have republished it here:

http://javascript.html.it/script/vedi/4406/menu-a-comparsa-con-jquery/

As I mentioned in the README.txt that comes with the demo this example and all code is free for use. However, it reads:

This code snippet is free for NON-COMMERCIAL use.

Now I suppose the fact that you're posting it on your site (even though it looks pretty commercial with all the ads on it) is quite ok as it's helpful for others and there's a link to my site in place. However, I consider reposting my example page as you did here definitely pushing it too far:

http://javascript.html.it/demo/javascript/4406/esempio.htm

You have reposted my example, REMOVING the link to my site that's in the original example, REMOVING the link to the original article and placed a big ad under it while you simply could have linked to MY example page.

I consider this quite disrespectful and I'm kindly requesting you to either take this offline or talk to me about some financial compensation. I'm offering this code for free use by fellow developers, not to generate money for commercial websites.

Thanks,

Marco van Hylckama Vlieg

To my readers: Feel free to comment if you think I'm being too anal here but I think it's not too hard to understand what NON-COMMERCIAL use means. Meh.

UPDATE: WTF they even edited the demo zip and added ads in there as well......


Some handy PHP memcache pointers

I just found this page in my referrer log and I thought I'd link back to it because it contains some very nice extra tips elaborating on my post on how to use memcache with PHP. Nice work! As you'll see, is dead easy to use with .


Pale Blue Dot

I watched 's '' when I wasn't really old enough to understand everything but I do remember being blown away by it, even though I was only 8-10 years old at the time. I just bumped into this fragment and I figured I'd share it with you all. It kind of puts a lot of things in perspective, also in relation to this earlier post. I guess it's time for me to watch Cosmos again. Hope I can find it somewhere.

Rest in peace, Dr. Sagan. I wish there were some more people like you...


Ban all religion?

I bumped into a posting on Retecool, a big Dutch weblog (don't bother clicking if you don't speak Dutch) with an interesting poll. I found it particularly interesting because the same thought had crossed my mind last week when I heard about the British teacher who will have to spend 15 days in a Sudan jail because of zealotism. And on top of that, hundreds of even worse zealots have been protesting on the streets demanding she should be executed. This whole thing reminded me of one of the few things Mao Zedong, founder of Communist China once said that I actually agree with:

Religion is poison.Mao Zedong

I tend to agree. Even though I know a fair amount of religious people following various religions who are absolutely great and peaceful people I still feel the bad outweights the good. The holy books speak of tolerance, yet too many followers preach intolerance. The holy books speak of love, yet religious nations (Western and Eastern) practice hatred. If in itself isn't a bad thing, the organised / goverment controlled form most definitely is.

When men stop believing in God, it isn't that they then believe in nothing: they believe in everything. G.K. Chesterton

Most killing in this world is being done in the name of one of the major religions. Religion is being used as a tool for most human oppression. Organised religion breeds dangerous , whether it's , or anything else. The zealots are in the streets demanding the death of an innocent teacher. The zealots are in goverments waging war on other nations reassuring their own population that 'God is on their side'. To be honest we haven't progressed at all in this respect in thousands of years.

If the god of any of the mainstream religions really DOES exist I secretly hope he'll one day step forward and show us who is right and who isn't. I'm sure it would prevent a lot of bloodshed and suffering for the next decades to come.

So what do you think? Would the world be a better place without religion? I believe it definitely would be.

small update: I bumped into Gods FAQ just now. Interesting read indeed. If God does exist it makes perfect sense to me that this would be His point of view. Zealots beware, eye openers ahead!

Note: if you respond, keep the discussion civil. As you've noticed I can't stand zealots.


10 amazingly useful iPod / iPhone third party applications

My current iPod Touch desktopSince a few weeks I have an . This has got to be the most amazing hand held device I've seen in a very long time. Even in it's default configuration it's pretty awesome but what really made me want one is what you can do with it after it's been Jailbroken. When you your iPod Touch a world of goodness will open up for you. Not only can you install the applications that Apple reserved for the such as Google Maps, the Stocks and Weather application and most important: MobileMail but in addition to that there's a huge collection of third-party applications available for use on your iPod Touch or iPhone. In this post I've compiled a list of 3rd party applications I found most useful or cool. At the end of this post I'll also provide some pointers on how to Jailbreak your iPod touch and how to make the most out of it. What I will NOT discuss in this post is how to get the missing iPhone apps. I figured it would be unwise to discuss illegal matters in detail in this post so don't ask for it in the comments either. I'm pretty sure you'll be able to find out on your own. Search engines are your friend! Now let's have a look at the applications!

Some disclaimers and warnings

  • In order to run the applications discussed in this post you need to Jailbreak your iPod / iPhone. This process may screw up your device if you don't handle responsibly. It may also void your warranty. Use the applications and the information at the bottom of this post at your own risk. I'm not responsible for any 'bricked' device!
  • I don't own an iPhone. I prefer the iPod touch and a different mobile phone with proper 3G and a proper camera and I feel the iPhone and the associated mandatory mobile contract are a ripoff. Therefore: Don't ask me any iPhone related questions. I cannot answer them!
  • All information in this post is current for Firmware 1.1.2 and lower. When Apple releases an update I recomend NOT updating your device without some online investigation if you care about keeping all your nice apps. Stay tuned in what's going on in the Jailbreak scene in order to find out how to make sure everything keeps working smoothly.

If you don't like the above, stop reading now. Now that we've got that out of the way, let's move on to the good stuff!

UPDATED: Added a list with some more cool apps that I really like.

1: Installer.app

InstallerInstaller.app is the first application you'll install after Jailbreaking your iPod/iPhone. It's a 'must have' application as it will enable you to install / upgrade / uninstall applications with ease. basically works like a package manager. It supports multiple package repositories which means you can add new ones as you find them, such as repo.us.to which contains some stuff you may want to take a look at if you have an iPod Touch. Even though Installer.app is still a beta application it seems to work absolutely fine. Hassle free package management for the masses!

More information

2: Summerboard

SummerboardA second application you definitely want to install as soon as you start messing around with lots of new applications is Summerboard. This application replaces Springboard and adds interesting extras such as the ability to theme your device and most important: to have multiple pages filled with application icons. Switching between these pages is as easy as dragging your finger horizontally on the screen. Summerboard features tons of configuration options to tweak the hell out of your iPod Touch / iPhone desktop. In addition to that there's a vast amount of great themes available for use with Summerboard. Another must-have application.

More information

3: Customize

CustomizeThird on my list of killer applications is Customize. Customize allows a vast amount of customization options for both the iPhone and the iPod Touch. The options range from carrier images, wifi icons, the sliders, sounds, the keypad and a lot more. The latest version also includes an option I find particularly interesting: Icon Display Order. With this option you can choose which icons appear where. It allows you to choose which icons appear at the bottom of your desktop and the ones that will appear on the first screen. With this you can put whatever applications you use mostly on the first screen. Note that there's another application that allows changing the order in which icons are displayed named rSBT. You don't need to install this application as Customize has this functionality built in.

More information

4: MobileFinder

MobileFinderWhat can I say about MobileFinder? It's a Finder application for your iPod / iPhone! It allows easy file management on your device. File browsing, creation, deletion, moving, setting permissions, it's all there. Yep, we've got another winner!

More information

5: Dock

DockDock.app is... a dock which has been implemented in a rather nifty way. Once you've installed the app you'll see some subtle rays of sunlight in the bottom right corner of your screen. When you touch and drag starting from that corner, Dock.app allows you to quickly launch any installed application. To really understand what this means I recommend you watch the video on Dock.app's homepage. In addition this application also provides an easy way to take screenshots on your device. All screenshots in this post have been created with it. Nate, I hope you don't mind I stole your screenshot. I had no idea how to create a screenshot of the Dock with the app itself! :)

More information

6: SysInfo

SysInfo SysInfo is an application that provides system and process information. It will show you information about memory usage, system load and your hardware. Additionally it provides a very nice graphical list of processes that are currently running on your device. When tapping one of the processes SysInfo provides the ability to kill or renice the process or send a signal to it. It also provides shortcuts to reboot your device or to restart the desktop (springboard). A very useful utility indeed.

More information

7: MobileToDoList

TODO listIt's the missing application on both the iPhone and the iPod touch: a TODO list manager. MobileToDoList is exactly that. It's native, it looks as if it's an Apple preinstalled application and it does exactly what it needs to do: allow you to keep a handy dandy todo list. A definite must-have application in my humble opinion!

More information

8: Apache and PHP

Apache and PHPYou thought it couldn't be done. Think again! Apache and PHP running on an iPod / iPhone. Your very own pocket development server! Both are available for installation through Installer.app. There's just one thing installing these two packages doesn't cover: getting them to work together. If you want PHP pages to be processed when requested in a browser, just follow the instructions on this blog post on the matter. As you can see in the screenshot it works like a charm! Note: There are more scripting languages available such as Ruby, PERL and Python. Take your pick!

9: AFP Server

AFP ServerAnother ultra useful application for your iPod / iPhone is the AFP Server. It's an AppleTalk server which enables you to mount your device as a regular network drive. How cool is that? No SSH/FTP necessary anymore. Extremely useful indeed. I absolutely love it.

More information

10: Mobile Terminal

TerminalI suppose the last application on this list (MobileTerminal) pretty much speaks for itself. It's Terminal.app on your mobile device. What you can do with this is probably only limited to your own imagination. You can control your device in any way you want in the root shell it provides or turn your device in a full blown hacking device by installing additional command-line tools. The sky is the limit! People without proper UNIX knowledge should probably leave this application alone as a root shell comes with great responsibility!

More information

What else is there?

Of course the story doesn't end with these 10 applications. I figured it would be nice to add some more nice applications for you to check out if this article hasn't made you excited enough yet!

Super Mario Advance on the touch!
Super Mario Advance running in gpSPhone

  • Apollo IM
    A very nice native Instant Messenger client. Currently supports AIM, MSN, ICQ and .Mac.

  • MobileRSS
    A native RSS reader application to get your daily feeds-fix on the go.

  • NES.app
    A NES (Nintendo 8bit) emulator.

  • gpSPhone
    A Gameboy Advance emulator. Pretty amazing!

  • iRadio
    Internet Radio on your iPod / iPhone! This app is still rough on the edges but the basics work. I can listen to XTC Radio London! Woo hoo!

  • VNsea
    A VNC Client. Nuff said.

The list goes on and on and new great stuff is released almost every day!

So how do I get all this stuff on my device?

  • I used this Wiki page to Jailbreak my firmware 1.1.2 iPod Touch. I found the process extremely easy. Follow the instructions closely!
  • If you have an iPhone, maybe this blog post may be helpful. Again: I don't have one and I'm providing this link as-is.

After installing a few packages my device complains about the disk being full!

By default all applications are installed in /Applications on a separate volume that doesn't have a lot of space. Therefore we want to move everything to the volume used for media. I performed the following operations to accomplish this:

  • Create a new applications directory:
    mkdir /private/var/Applications
  • Move everything in /Applications to the newly created directory:
    mv /Applications/* /private/var/Applications
  • If you get a 'permission denied' on the above operation, copy the apps first:
    cp -R /Applications/* /private/var/Applications
  • Remove the entire /Applications directory (with everything in it)
  • Create a symbolic link to the new directory containing all your apps where the original applications directory used to reside:
    ln -s /private/var/Applications /Applications

You can now install all the apps in the world now without ever running out of disk space.

Warning: be careful with the above! If you're not familiar with the commandline you may want to ask someone who is to do this for you. You may screw up your device's software if you're not careful. YOU HAVE BEEN WARNED!

Closing notes

As odd as it sounds, the possibility of Jailbreaking the iPod Touch and the associated ability to run 3rd party applications on it were the number one reason for me to buy an iPod Touch. It's definitely a great multimedia player without all this but you'll miss out on the true power of the device. A wealth of applications is already available and new applications are released just about every day, turning your iPod / iPhone into a portable MacOS X powerhouse. Something I definitely didn't want to miss out on.

Happy iPod/iPhone hacking!


JQuery Accordion menu

This weekend I did a simple using . I figured it would be nice to share it on my blog as it may be useful to other people. I have no idea if this has already been done, if someone else has done a better job at it but... this one is mine! Feel free to use it if you need an accordion component on your (non commercial) website.

I whipped up a little demo page where you can see the menu in action and download the source. The menu will open with the first submenu expanded and items that don't contain a submenu will behave like regular links.

I didn't think I'd need to make this remark but: please don't be an asshole and do what these people from html.it did. Not with this, not with any of my other stuff, heck, not with anyone's stuff. It's just wrong. Thanks!

Source

  1. function initMenu() {
  2. $('#pagemenu ul').hide();
  3. $('#pagemenu ul:first').show();
  4. $('#pagemenu li a').click(
  5. function() {
  6. var checkElement = $(this).next();
  7. if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
  8. return false;
  9. }
  10. if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
  11. $('#pagemenu ul:visible').slideUp('normal');
  12. checkElement.slideDown('normal');
  13. return false;
  14. }
  15. }
  16. );
  17. }
  18. $(document).ready(function() {initMenu();});

Go to the demo page to take a look and download it if you like it.

small update: I added a version that acts as a simple collapsing menu. Even less code needed for that:

  1. function initMenu() {
  2. $('#menu ul').hide();
  3. $('#menu li a').click(
  4. function() {
  5. $(this).next().slideToggle('normal');
  6. }
  7. );
  8. }
  9. $(document).ready(function() {initMenu();});

Safari 3 weirdness update

In the comments a problem with Safari was described. I just tried the example page in the latest nightly build of Webkit and it's working fine. I guess it's therefore safe to assume we're dealing with a Safari 3 bug.


PivotX 2.0 Alpha 1 released

The PivotX team have just released a first Alpha release of PivotX, the weblog tool formerly known as and the engine that powers this website. While I wouldn't recommend running it in production yet (it's an Alpha release after all) it looks extremely promising and I'll definitely be migrating this website to it when the first Beta release comes out.

PivotX admin interface

sports some mighty great features such as:

  • A very powerful but yet easy to use templating engine
  • Both MySQL and flat-file database engine
  • Extremely impressive image management and editing capabilities
  • A solid static pages mechanism
  • Powerful anti-spam features
  • Powerful and easy to develop for plugin architecture

Definitely absolutely no reason for me to switch to any other CMS. Well done Pivot X team!

Check out PivotX.


PivotX 2.0
Been playing with an early alpha build of PivotX 2.0. Looking sweet as hell so far! No way this guy is moving to WordPress or anything else! More about this later!


@media AJAX

@media AJAXI'll be attending @media AJAX today and tomorrow. Two days of hardcore Javascript. Bring it on! In case you're around and you want to meet up for a chat and/or have a drink afterwards let me know! See you at !


What would an evil Pleo be capable of, and should we be scared?

TerminatorLast week I posted about Pleo, a cute little 'pet robot' with remarkably advanced features. Yet this extremely sophisticated piece of machinery costs only $350 which includes a probably pretty nice profit for the manufacturer. While definitely looks amazing, cute and very cool to play around with it does bring up some concerns. I noticed that some people who saw the video's got a 'bad feeling' even though they thought it's cute. In other words, Pleo kind of freaked them out by being so 'real' while it really is just a (pretty advanced) toy. I'm quite sure there will be people who will even go as far as thinking that "it's the work of satan!" when they see it. In a certain way I suppose I share the various concerns people have. I guess we could ask ourselves the question: "If a $350 toy can be this advanced then what would a $5 million military purpose owned by a be capable of? And what will this situation be like in 10 years from now? Or 20?

SWORD
SWORD: a real battle robot. Fortunately not all that Terminator-ish yet...

Isaac Aasimov invented the Three Laws of Robotics which sound like a solid foundation to prevent a catastropy. But... Aasimov's work is science-fiction. And this is the real world. And the laws are already being broken as we speak. In the illustration used in this article you see , a United States battle robot. So much for the three laws...

A second point of concern is the question when will become 'self aware' and what will happen when that moment comes? Pleo isn't self aware yet but it already acts suspiciously much like it. As advances at an extremely rapid pace I'm quite sure I'll live to see the day that robots or computer software actually become aware of their own existence. And what will happen then? Will 'take over the world' ? Will they be used for all sorts of evil purposes by power hungry goverments?

Pleo doesn't 'freak me out'. My curiosity and geekiness wins big time (Ugobe, did you read my previous post? ;-) ) but I do share some of the concerns that people have. Like any technology, robots can be used for fun (Pleo), good (medical robots), profit (industrial robots) but also for pure evil. What are the consequences of these technological achievements going to be? I don't really know to be honest. Are we one day going to have to fight a real-world 'Skynet' and robots that have gone out of control? Or will that scenario stay in the science-fiction world?

What's your opinion? Have your say in the comments! I'm interested in your thoughts!


Pleo, an amazing piece of technology

Remember the little robot pets in 80's sci-fi movies? They're here now! Today I ran into Pleo, a highly advanced and super cute pet robot. The videos look absolutely awesome and I've never seen any toy this advanced. is packed with CPU's, touch sensors, servo motors, microphones, a camera and much more, resulting in an amazingly life like robot that behaves suspiciously much like a real animal. At some point I'll definitely be getting one.

I already have a 'valid excuse' to burn the hefty price of $350 USD because my fiancee's little girl will surely love it! And Daddy Marco will enjoy hacking it for sure! Fun for the little princess and fun for me! ;) The robot supports software updates and hacks through an SD card slot in it's belly, it's 'LifeOS' operating system is fully open and manufacturer Ugobe promises firmware updates, new behaviour packs and the really exciting part is in the FAQ:

Software customization can be accomplished without a screwdriver. UGOBE will support various toolsets that allow customization, from high-level behavior modification to low-level (nuts and bolts) application authoring. Visit http://pleoworld.com/developers this winter for more information.

P.S: UGOBE, don't hesitate to send me one to review :P

Some more videos:

Tags: , , , , .


Are blog comments dead?

Today I have upgraded this weblog to Pivot 1.40.1 which is the very latest version of the pretty neat software that powers this site. I've also take the opportunity to remove the last 9rules related stuff that was still here, the list of links at the bottom right of the pages. I've filled this spot with a tag cloud for the time being. There's a lot more that I'd like to change to this site at some point but I'll probably wait with this until 2.0 comes out. But... this isn't really what this post is about.

The real reason I felt like I just HAD to upgrade is the fact that this release has a feature that seems to have become a necessity: moderated comments. I've mentioned it before, has moved into a new, extremely hard to beat direction. It's being entered by real humans instead of (fairly) dumb spamming scripts. While comment spam filters such as Akismet or the various ones I developed a few years ago work reasonably well on comment being posted by scripts they're all pretty much useless when it comes to the type of spam I've been receiving lately.

The spammers have apparently resorted to paying people to post their crap all over the internet. The comment spam is hand-crafted and the persons posting it have quickly skimmed through the article in order to be able to post something that reads like a legitimate comment. However, the beef is in the URL(s) which are clearly of a promotional nature. It's not hard to distinguish legitimate bloggers / site owners posting insightful comments leaving a link to their own site from the 'hired spammers'. I'm sure lots of you have experienced the same thing.

Since I blatantly refuse to allow any asshole to use my blog as their marketing platform I decided it's time for the last resort: moderated comments. As much as I hate the 'delayed interaction' this results in I feel the daily annoyance of having to remove spam is even worse. On a brighter note though: I do NOT use rel="nofollow" anywhere so if your comment gets through my 'human spam filter' (a.k.a. yours truly) you'll get the search engine advantage. So please, keep the good comments coming.

Dead?

So here's the big question for you all: Are (blog) comments dead? Have the spammers won? To me having to enable moderated comments really does feel like defeat. I've been an active blog spam fighter for quite a long time but I have no appropriate defense in mind for this type of spam. Sad, but true...

What's your take on this issue? Are you also receiving more and more spam of the kind I described in this post? What are you doing to fight it? I'm interested in your insights!


It was a good day!

Me, hacking the night away

Today when I got home after a night without a minute of sleep I was surprised with this awesome picture in my Virb mailbox. My friend Sonny drew it for me and it couldn't have been more appropriate than today because this picture pretty much shows me the past 24 hours. Yesterday and today the fourth EU Yahoo! Hack Day was held and to my astonishment my team was awarded the most awesome 'Best of Show' prize for our hack *. I'm stoked! An amazing result because there was some seriously stiff competition with high quality hacks all around.

is one of those really great things that get organised at Yahoo. It's basically an innovation contest in which web developers and engineers compete in an attempt to come up with some nice innovation in the narrow timeframe of 24 hours. I think I worked about 22 out of 24 hours which is why I'm pretty damn tired now! But it was totally worth it. We kicked some major ass and grabbed the prize. Ian, Paul and Tamsin you all ROCKED! It was a true pleasure to work with such a kick ass hack team and without you all this would never have been possible.

I guess I'm gonna listen to some tunes on the shiny new iPod Nano I won until I'll probably sleep a large part of the Saturday away...

* As much as I'd like to I can't reveal or showcase our hack on my blog as the results of the hack day are internal to the company. However, read my previous post if you haven't yet. Maybe YOU will win the next one!

P.S: Check out Sonny's stuff! This guy has some badass talent! Thanks for the drawing man!


6 months at Yahoo! Wanna join me?

Yahoo!

Today it's been exactly six months ago since I started working for Yahoo! Europe in the London office. I can honestly say this is the best job I've ever had in many ways. Interesting work, lots of fun and an extremely challenging environment make it an absolute joy to go to work every day.

The web development team here at has the most skilled and passionate people I've ever found in any company. And in addition to that, everyone is always helpful and ready to jump in when another developer is stuck with a problem which results in an environment in which there's a lot to learn. I don't think I've ever learned more stuff in the workplace than I did while working here at Yahoo!.

I landed in an absolutely great team (the EU Frontpage team which deals with all yahoo.com frontpages in Europe) and we're doing extremely interesting things.

The atmosphere is extremely laid back and the London pub culture is sprinkled all over the team. Having an office right in the middle of the pub district helps this as well of course!

Wanna join?

Now here's the good news! If the above sounds interesting to you, we're looking for no less than six new web developers to join this magnificent team! So if you're a passionate web developer with good all round skills then why don't you drop me a line so I can get you in touch with the people dealing with new acquisitions? Here's what we're basically looking for in a web developer:

  • Hand coded (X)HTML, CSS, and JavaScript. You should be able to provide evidence of progressive enhancement techniques, clear separation of structure, presentation and behaviour layers in your front-end code, including use of unobtrusive JavaScript.
  • Experience with programming in PHP
  • Expert knowledge of modern web standards, cross browser-development, client and server side performance optimisation techniques, accessibility and search engine optimisation
  • UNIX (BSD/Linux) knowledge and experience with version control systems such as CVS and Subversion
  • Experience in developing web applications with rich client interfaces using AJAX, drag and drop, and other DOM Scripting techniques.
  • Experience with Web Services

If you can throw in some extra knowledge about internationalisation, XML/XSLT, Perl, Microformats or other web related technologies it would be even better!

So if you're interested in a as a member of the most amazing team in Europe then don't hesitate and let me know about it!


Leaving 9rules

I have just removed the logo from my website. This means I'm no longer a 9ruler. I did it with a bit of pain in my heart because I feel that this blog owes a lot to the 9rules network. However, the network has changed a lot in the past year and is shifting its focus even more as of now. I received the new revised member agreement to which I had to either agree or leave the network containing the following:

Members spoke out about their displeasure concerning members that they never interact with and never hear from, yet all member entries carry the same weight on 9rules, which is not fair. After talking it out in Clubhouse, we made participating either in the private member area or my.9rules a requirement, part of the membership agreement... If you feel you are contributing by your entries being shown, 9rules is no longer a good fit for you, decline the agreement (or do not respond), remove the leaf from your site and we will remove your site from displaying on 9rules. If you agree but don't have the time to interact or don't feel you should (or don't want to), the participation will become a chore, something you didn't want to do in the first place. It just won't work in the long-term so it would be best to decline now...

Let me be clear - participation in either the new member area or my.9rules is required for all members, requested by members.

Tyme White, 9rules

I have mixed feelings about the whole thing. On one hand I really don't want to leave the network because it's been great to be a member, I met interesting people through it and I've always considered it some sort of 'seal of quality' of which I was quite proud. Things however have changed a lot. It's not just about quality blogging anymore. 9rules now wants more from its members.

What started as a network of high quality weblogs has changed into something (IMHO) much more generic and much more community oriented. With the staggering amount of websites that are associated with it nowadays I can't help feeling a bit different about it than I did when my site was accepted as a new member and the network had only 70 or so members. Note that I'm not making any judgement on the quality of the sites that are members at this moment because that would be rude and unfair. All I'm saying is that things simply feel different to me.

This however hasn't ever been a reason for me to even consider leaving 9rules. Until I received Tyme's email I was just as happy to be a member as I was when I first got accepted into the network. Making 'community participation' a mandatory thing however IS a reason for me to leave. As much as I hope the network is making the right choice with this decision it feels 'wrong' to me. And because I know I can't possibly make any promises about how much I will participate in community activities I have decided to take the leaf off my site and move on.

I'd like to hereby thank Scrivs, Tyme, Mike and the other 9rulers for their support and I wish you all the best of luck for the future with the network. It's been an honour!


Free Burma

Free Burma!

After seeing a Twitter from my collegue Dirk Ginader I figured it would be a good thing to join the bandwagon on the International Bloggers' Day for Burma. I find it outrageous and extremely sad that things like the recent events in Burma are still happening in the 21st century. So much for a civilised world...

Free Burma!

tagged:


Realistic film grain for digital photograpy - a tutorial

For a very long time I've been looking for a way to create realistic looking on digital photos. As much as I love I've always missed the magnificent atmospheric film grain you get when shooting on Kodak Tri-X 400 film. I've looked into several plugins but didn't find anything that's really worth the money. Today I was fiddling with some pictures I took on a photoshoot with a band and all of a sudden I found a way to do it! The result is exactly what I've always wanted as a digital film grain effect. No expensive plugins necessary, just a few simple operations. I figured I'd share my technique with you in a small . I hope it will be useful for some of you!

Let's take a look at the following picture after converting it to black and white. The picture is 'finished' but I thought it's missing some good old Tri-X 400 grain. The image was shot at ISO 200 with a Nikon D70 and contains no noise or whatsoever.

The original image
The original image (shrinked, because the full size image is 3008 pixels wide)

Let's give this image a bit more of an 'analog' feel!

Step 1

Creating a new layerAfter loading the original image into Photoshop we will create a new empty layer on top of the original image. This layer will contain the film grain we're about to create.

Step 2

Filled the layer with a neutral greyAfter creating the layer we're going to fill it with a neutral grey colour. Choose something somewhat in the middle between white and black. I choose #777777 for this tutorial.

Step 3

Adding noise to the grey layerThe next thing we're going to do is filling the grey layer with some noise. Choose Filter->Noise->Add Noise. This is where your own needs come into play. You can vary the amount of noise to your own liking. I've found 15% to be nice but feel free to choose lower or higher values for more subtle or more agressive grain. Pick 'gaussian' for distribution. It will look more natural than the default 'uniform' in the end result. Since I'm working with a black and white image here I ticked 'Monochromatic' to get grey noise. On colour images you can also choose to not tick this option. Again: experiment away!

Step 4

Blurring the noise to make it look more naturalIf you've ever tried to create a gritty look and feel on digital images you'll know that just adding noise in Photoshop doesn't quite do the job. Digital noise is simply not the same as analog film grain and it will only make your image look ugly and pixelated. There is however an easy way to make the noise look more like natural grain. Choose Filter->Blur->Gaussian Blur to take away the pixelated feel of the noise we added in the previous step. Again it's up to you what value to use. I've found 0.3-0.7 to work quite well but depending on how much noise you've added in step 3 you may need less or more blur to achieve the desired effect. We're almost there now!

Step 5

Applying the grain to our original imageAll there's left to do now is applying our grain to the original image. Go to the layer panel and change Normal to Overlay. Check out your image now. We have nice, natural looking analog grain! In case it's a little bit too heavy to your taste you can decrease the effect by lowering the Opacity to something less than the default 100%. All we need to do now is choosing Layer->Flatten Layers and save the image.

The final result at 1:1 view
The final result in 1:1 view

The image above shows the grain we've just created in 1:1 pixel view. As you can see it looks very natural and true to the effect of an high ISO analog film. Even when shrinking the image to a size more suitable to the web the effect is still visible in a very subtle way:

The final result at 1:1 view
The final image, resized and mildly sharpened.

Some more tips

As you have seen, the core of this technique resolves around a neutral gray 'noise mask' which gets applied to the original image we want to add noise to. Now there's several things we can do to influence grain characteristics.

Creating finer / bigger grain

If you want to play with the size of the individual grain particles you can choose to create the noise mask in a separate document. If you want finer noise, create a document larger than the image you want to apply grain to. Follow the procedure as outlined in this tutorial until you've applied the gaussian blur. After this, resize the grain mask you've created to the size of the image you want to apply it to. After resizing you may need to apply a subtle 'unsharp mask' to it in order to enhance individual grain particles. After you've done this, paste the noise mask in a layer on top of your original image and apply step 5. By using this technique we can simulate different ISO ratings in analog film.

Using a resized grain mask
Using a grain mask that was originally twice the size of the image and later resized to the dimensions of the image we want to apply grain to results in finer grain

If you want to play with the intensity of the grain mask you can increase or decrease contrast on the noise mask layer. Play with it and find the effect you need!

Closing notes

I've been looking for a good way to create natural looking film grain for a very long time and I was quite excited that I managed to come up with a technique that works for me myself. I hope this technique will be useful for you as well!

Feel free to check out the rest of the pics I did for this shoot and: Go check out Animasola, they're a great band!


Being on Digg.com, some aftermath

Digg.com

Last week this blog hit the homepage for the second time since I started publishing my articles on it. The first time I got hit by the staggering amounts of visitors this results in was when I posted an article on creating themes for Typo. I was humbled and honoured and I felt proud because this was an article I spent a serious amount of time on.

This time around however things were different. I was astonished to see my visit count go through the roof by all kinds of places linking to this tiny entry in which I merely reposted an image I found on several other sites on the web. The post made it to del.icio.us/popular, the reddit.com frontpage and lots of other places of interest on the net. This all turned out to be only the beginning because the power of had yet to be released on me.

The post that caused all this has no original content, no effort from my side, nothing. In fact I even failed to mention that I think reverting to a table based layout just because it's sometimes hard to get my CSS to behave in all browsers is a sign of weakness I'd never agree with. To make a long story short: It was a 'quicky' I posted in less than a minute. Without completely thinking it through even. What makes the whole thing even more remarkable is the fact that the entry isn't at all recent. I posted it over a year ago. I couldn't believe what was happening!

The wonderful unpredictable internet

The whole course of events made me smile and once again realise how completely unpredictable the internet can be at times. One can spend a whole weekend writing carefully crafted posts like I did a while ago when diving deeply into client side performance tuning and hardly be noticed while a seemingly meaningless post apparently has the potential to drive traffic completely through the roof. 'Success' on the internet seems to be as unpredictable as the weather here in the UK.

Dreamhost

While I'm writing about this remarkable course of events I feel the techies at Dreamhost (especially Jeremy) deserve some special mentioning. Instead of simply pulling the plug on my site which was completely choking the server it's running on, Jeremy dove right in and tried to weak things in order to keep the page running, informing me about what he'd done by email. After some back-and-forth emailing we came up with a solution together which made it possible to stay 'up' most of the time during the insane traffic-surge the Digg.com frontpage entry resulted in.

I haven't always been happy with Dreamhost but but lately things have been getting better and better and the excellent support I received during my appearance on the Digg frontpage was truly remarkable. Once again thanks a lot for your help Jeremy!

Wrapping up

I love the internet! What's gonna be hot and what's not? It's almost impossible to tell what will happen from day to day. A big article? Or just some funny image? Even though it was fun to be on Digg again I do hope the next time it will be with an actual technical article again instead of one of my borrowed quickies.


A message to sneaky spam commenters

Recently I've noticed a new kind of coming my way and honestly it annoys the crap out of me. So here's a little message to everyone who feels like commenting on this site!

I welcome comments from everyone. The more, the merrier! However, when posting a comment I'd like you to use your name like everyone else. I have really never heard of people named 'Freelance Web Design' or 'business corporate gift' and if that's what you call yourself in comments on my blog I'll delete your comments. If you want to promote your services or products on here in whatever way you can contact me and we'll work something out. Hint: it will involve you handing over some money to me! I don't promote my own stuff on other people's websites and I expect everyone who interacts with me or visitors of my site on here to refrain from doing that as well.

Capiche? Thanks a lot!


Brighton Geek Weekend: dconstruct and BarCamp

dconstruct

BarCamp Brighton

I'm currently residing in Brighton at and it's absolutely fabulous. Yesterday I attended where I enjoyed some extremely interesting talks by people such as Jared Spool, Cameron Moll, my collegue Tom Coates and several other excellent speakers. was an excellent event!

The nice thing about it was the fact that it was not very development-centric. This year's edition was all about the user experience and everything related to designing it.

After a fairly beer-induced afterparty I moved on for the next Brighton based event: BarCamp Brighton from where I'm writing this very blog post. Interesting talks, nice new people to meet and an overall very nice event to attend. For those who have no idea what a is: check out the barcamp website and you'll get the idea. It's called an '' where a whole lot of geeks come together. The aim of the event is that everyone has to do a talk on a subject he/she knows a lot about it. Having written a lot about client-side performance optimisation lately I decided to distill a presentation out of this post. For those who are interested in my sheets, they can be downloaded here. I was quite honoured to have Tantek Çelik in my audience!

That's it for now. Back to BarCamp!