administration mode

 

JungleDragon breakthrough: Amazon S3 to the rescue »

FERDY CHRISTANT - JAN 2, 2009 (01:33:59 PM)

First of all, best wishes to everyone for 2009. I hope you live through it in good health and joy. I certainly had an enjoyable time the last few days, but am also glad that things are turning back to normal. Well, one thing that was not enjoyable was some intense tooth ache that kept me up at night, but that's fixed now. In between the holidays I actually had a few days off, so I spent it on progressing project JungleDragon. One particular deliverable was the JungleDragon logo, which I showed you earlier. 

However, I've been working on something far more interesting too. It is something that kept me up at night , something that made me read and study about three books worth of online material and cost me countless hours of prototyping with code. The result is here:

It's a JungleDragon URL. For an image. But...it is no ordinary URL. That image is stored at the Amazon S3 service. And when it gets requested by that URL in a browser, the request is made to  the Amazon S3 service, not my server.

Why is this such a big deal?

Consider that JungleDragon is an image collaboration site, kind of like a mini Flickr or SmugMug. Now imagine for a minute that JungleDragon becomes successfull. One of the biggest challenges that can be foreseen is scaling. There are/will be scaling challenges at the database, web traffic and storage level.

Let us focus on the web traffic and storage scaling issues for now, starting with storage. Images obviously take up a lot of disk space and it is quite easy to accumulate a few TBs of data this way, especially considering that I will store each image in at least 6 different formats. Images will also be the main "capital" of JungleDragon so this means they have to be stored redundantly. And what about backups? How would one go about backing up such huge quantities of data on a regular basis? And what if something fails? Data storage is a key scaling issue for JungleDragon.

What about web traffic? Imagine a gallery page showing thumbs of fourty images on a single page. Including some CSS, Javascript and some generic site images (such as a logo), this single page will make roughly 50 HTTP requests. Yes, scaling web traffic will be an issue too.

By offloading both the image storage and image HTTP requests to Amazon, I have an infinite amount of storage at my disposal, and it will automaticaly be stored redundantly, will be backed up, etc. It will also dramatically reduce HTTP requests on the future JungleDragon server(s), meaning I can take on much more traffic before having to implement scaling solutions there. Of course, the use of Amazon S3 is not free, it's a pay-as-you-go model, but it's looking pretty cheap for now.

All in all, I consider this a MAJOR breakthrough in the development of JungleDragon, as scaling was one my main concerns. This alone does not solve everything, but at least a major part of it.

By the way, implementing the above (offloading storage and http traffic for your files to S3) is super easy. You can be up and running in an hour or so. What is less easy is this:

  • Integrating it in a robust way in your back-end
  • Lowering your Amazon S3 request load and bill by the smart use of caching
  • Avoiding the risk of getting a high Amazon S3 bill when some joker decided to DDOS your image URLs or deeplink to them
  • Controlling various Amazon S3 params via code, for example to failover to local storage, controlling the cache age, controlling the URLs to use, controlling the ACL of files, and much more.
The devil is in the details. And I have the details worked out in code that I will share in an upcoming article soon. Stay tuned!

2008: Year Overview »

FERDY CHRISTANT - DEC 27, 2008 (06:24:02 PM)

The time has come to close down the blogging year. In this entry is an overview of my year by month. As usual I will mostly go into my public achievements, and only very little into my personal or work life. 

January

The year started well, at january 1st I announced a new version of Blogo, my very own Domino-based blogging engine which I have been using on this very site for 4 years now. One week later, I announced a new version of PIMB, an open source PHP-based instant messaging framework. The new version now allows you tobuild and run Google chat bots too!

Besides this open source work, this year really was a new begin on a personal level. It is the first year in our new house, our dreamhouse, which we enjoy thoroughly. There really is no place like home, and we finally found it.

February

After years of studying multiple platforms (Lotus Notes, PHP/MySQL, Java, .NET), I envisioned myself in 2008 to not focus on certificates, but more on doing things with the new platforms (PHP and .NET). Early January I considered building a .NET version of my blogging software, Blogo. Building the .NET version is a lot of work, but an experience that will teach me a lot about .NET web development, plus some new technologies such as .NET 3.5, LINQ and some new controls. The new project was to be called Blogo.NET, and to be shared on s3maphor3.org, my portfolio/open source site.

Later that month I perfecting my home setup by enhancing my server, and treating myself with a 24" HP monitor. In hindsight these have beenvery rewarding investments, I enjoy them each day. February was also the start of Tech Friday, where I arranged my work schedule to keep Fridays cleared. I have been using this day of the week for my study and open source projects with great joy. It has accelerated my development and generally increased my happiness.

Unfortunately, the move to our new house was not so easy on our beloved cat Spyke. He was deadly ill for over two months but it was in February where he fully recovered, at a time where we thought we would lose him. I'm a sucker for pets, nothing pains me more then to see an animal suffer. Right now he is happier than ever, ruling over his new domain.

March

Much of my leisure time in March was spent on developing Blogo.NET, which was completed at March 28. I also produced a handy guide on setting up Windows Server 2003 using Virtual PC.

Oh, and we went to a Dropkick Murphys concert and joined the World Wildlife Fund.

April

April started out with an interesting course on software estimation and a first downloadable version of Blogo.NET. I also wrote a very lengthy article "The making of Blogo.NET", which explains everything I did and learn to build Blogo.NET. Later this article was also featured on the popular DotNetSLackers site, where it has received thousands of views.

I also developed a prototype for web 2.0 profile site, called Socializr. I also posted two handy tips: one for developing an Excel 2007 add-in and one for extracting useful statistics from Subversion.

This was still not productive enough, as in April I also launched my Silverlight Deepzoom demo. Unfortunately it is broken now, but it was quite cool at the time.

And, my favorite football team, PSV Eindhoven, once again became the national champion, 4th time in a row. Finally, I purchased and watched the best DVD ever made: Planet Earth.

That's still not it, at the end of the month I published an article on digital photography: 20 DSL photography tips. Digital photography has been a hobby for a short time only, but definitely one that I developed a lot this year.

May

May saw another new release of PIMB as well as a new version of Blogo. More important, it was the month in which my brother married his now lovely wife Mira. In an attempt to practice my photography, I published some tryouts.

Blogo.NET got some help from the community, in April Juan Llibre launched the Spanish version.

June

June started with another set of photography tryouts. It was also the month in which the Dutch national football team competed in the European Championship. Despite legendary wins against Italy and France, we did not make it.

It was also the month in which I made my second trip to Bangalore, India. It was as before productive, fun and inspirational. I'm still practicing Indian home cooking, but am having a hard time replicating the food there.

In June a new article saw the light of day: How to run and finish pet projects, an article that explains how I pick my pet projects and how I actually finish them. I also posted a tip on stress testing your Apache server and I finished the MySQL 5 certification book. Work also brought me a Sharepoint power-user course, so growth and development was steady throughout the year.

On a personal level, we got rid of one of our two cars. We're still not missing it, so all is good. Finally, we went to a great concert with Anouk, Live, the Counting Crows and Lenny Krevitz performing.

July

The very first day of July brought another article: Battle of the frameworks, an in-depth article that explains how to select and use frameworks, how to cut through the hype and how to position them.

This was the month in which I announced Project JungleDragon. JungleDragon is my biggest challenge yet, one that will dominate my life for years to come and I'm enjoying every step of this epic journey, I hope you will too :)

As part of my first steps in developing JungleDragon, I shared various tips, and also launched the JungleDragon wildlife fund.

September

September brought a business trip to Sao Paolo, Brazil. A trip I will always remember for its beauty, warmth, fun and great food, not to mention the productive parts :) Thank you, dear colleagues, for receiving us so well.

Freelance work was done as well in this month, I shared one project in this guide, which demonstrates a site that I built for a wood shop.

We visited the Monsterjam spectacle, which was great both for us and the kid of Henriette's sister.

I invested and have been investing significant time in studying the subject of web usability, for which the book "Don't make me think" was a real eye-opener.

October

October was a very silent blogging month:

One, we discovered a major leak in our bathroom, serious enough to completely redo it. We failed at getting compensation via a claim and had to absorb this fiasco in finance and time completely on our own.

The little time that was left was spent on freelance work and JungleDragon, which are always good ways to get rid of time.

November

In November mr Obama was elected as US president, much to my joy.

Much work was done on JungleDragon. One particular accomplishment is full Unicode support. I published a detailed article on how to accomplish this for any PHP/MySQL application: Building Unicode LAMP Applications.

November also marked the end of our bathroom nightmare. Thank god, as we were getting quite tired of this distraction and financial burden. Another upgrade to our living situation was the switch to HD television.

The host where I publish two of my sites, including my portfolio site s3maphor3.org, was hacked in November. I though I fixed the problem right away, only to discover later that the problem kept surfacinfg. The problem: my crappy host Servage.

December

Early December I treated myself with a pen tablet. Only shortly after the in-depth article on Unicode, I then published my Advanced jQuery form validation article. And the article rush continued with the immediate follow-up article: Building your own Captcha. And even an artistic article: Creating your own Grunge papers.

I've put an end to my host being hacked and finalized the move to a new, trustworthy host.

In between writing these article, of course I worked on JungleDragon. JungleDragon will introduce a scaling challenge, therefore I studied this subject with the help of the Building Scalable Web Sites book.

My help in the campaign to open source Domino was not well received. Still it triggered a great discussion.

I launched a preview of the JungleDragon logo, of which I am quite proud.

Finally, the last three days we spent with family, at home and at a safari park. 

Concluding

Considering that all of the above is combined with a busy day job plus the occassional freelance job and familiy duties, I feel that 2008 has been an intense year. Yet it has been rewarding:

Rewarding on a personal level in our new house, my brother getting married and some great events we visited with friends and family. We had to overcome our share of  dissapointments as well (the bathroom, not going on a holiday, ill cat, car damage), yet we faced them all.

Rewarding on a professional and creative level by writing articles, reading books, following courses and running open source projects across many topics and domains. And let's not forget JungleDragon: a project that tremendously challenges my skills, growth and ambition now and for the years to come. It's all a bit much to handle really, sometimes my life really is out of balance, yet the challenge feels good.

2009

What's in store for 2009? Who knows. Who cares. That attitude actually served me quite well in the last years. I do hope we can go on a nice holiday next year, we need it. I also hope that my new role at work (per january 2009) will fit me well. And, I of course suspect that JungleDragon will dominate my pet project time, as well as this blog. I hope you don't mind...

Best wishes to all of you. We all struggle, we succeed and we fail. Just keep walking.

Using two external displays on a laptop »

FERDY CHRISTANT - DEC 24, 2008 (11:24:44 AM)

At home I'm using a HP Pavilion laptop as my main machine and I have it hooked up to two external displays (HP 24" and a LG 19"). This setup has worked fine for some time now. However, after I hooked up the laptop to our TV and then returned to reconnect it to my monitors, I could not get it to work anymore.

I've tried all the common tricks (reconnecting cables during runtime, Window Vista's Display Setting dialog and Mobility Center panel, switching video modes on the laptop) all to no avail. No matter what I did, the second external display was not detected. Instead, the laptop's screen was seen as the secondary display. 

Because I could not find the time to troubleshoot the issue any further I lived with the situation for two days and I really started to miss the joy of dual screens. But then I accidentally fixed the problem, by closing the laptop lid a little more. D'oh!

JungleDragon Logo Preview »

FERDY CHRISTANT - DEC 22, 2008 (08:09:37 PM)

For project JungleDragon I've been looking at outsourcing some graphic/web design tasks, I'm already saving up some cash in the JungleDragon fund. Although I thoroughly enjoy doing graphic/web design, I'm not a professional at it, and one has to know their limitations.

My first experiences have been dissapointing. I seem to have a taste for those designers that are completely booked or those that do not respond. I will not let this get me down and continue the hunt later on. Because my hands were itchy to do at least something myself, I've been diving into logo design. Here's a first attempt:

I'm  actually quite happy with the result:

  • The logo is a perfect circle, a powerfull symbol known to all. It is easy to integrate into any web design because the outline of any circle is square
  • The eye is in fact a rotated D, for "Dragon"
  • The shape, the eye, the colours are symbolic to the name "Jungle Dragon"
  • The logo is very flexible. As you can see I can easily scale it and/or enrich is, since it is completely made out of vectors. Whether it is used as a letterhead in print, 16x16 favicon, or HD-size wallpaper, I can go all ways.
  • Although there are obviously more "eye logos" out there, this logo is original, designed from scratch using zero references.
It looks kind of bad-ass, don't you think? Something that someone would easily remember. You can ignore the JungleDragon text and swirls for now, they are only decorations. I would appreciate if you use the rating and comment system to tell me what you think!

Note: You can download the larger size image from my Deviant account.

Campaign to open source Domino - update »

FERDY CHRISTANT - DEC 22, 2008 (08:04:30 AM)

Ian J. Tree, a friend and brilliant Lotus Notes/Domino architect, has launched a campaign to persuade IBM to open source the Domino product:

Campaign to Open Source Domino

I think this paragraph sums it up nicely:

Over recent years we have seen the decreasing traction of the Domino product line among enterprise customers, lower conquest rates in small enterprises and a lack of penetration in the SMB market. This decline in position of the product has continued despite clear IBM commitment to the ongoing development, marketing and support of the product line. Competitors in the messaging and collaboration space are increasingly applying the ‘legacy’ tag to the product line and winning conversion projects that result in more expensive and less functional solutions for the existing customer base. As this FUD increases, the demise of the product line will accelerate. I will not dwell here on an analysis of the decline of the product; I merely note that this decline will be irreversible unless there is a fundamental change in the market positioning of the product line. If we are to arrest and reverse this decline, we need a paradigm shift in the marketplace, not a feature review.

I support this campaign, because I am equally worried. Not about the product itself, about its penetration in the market. About seats, about new developers joining the platform, about the marketing tactic, things like that. I have a feeling that Domino is on a (slowly) sinking ship and that something drastic like this is needed to turn the tide.

I don't want to paint a dark future for Domino, but it's a general feeling that I have based upon my information intake. A feeling that nothing new is added and the existing base is slowly moving away. I do not wish to go into seat guestimates or statistical trickery. Like I said, it's a feeling, one that I hope I'm wrong about.

If you support this campaign, please help to distribute it.

Update: Quite a lot of discussion is going on at Ideajam concerning this campaign:

There seems to be more demoters than promoters currently, both conceptually and practically. Based on this current state and the comments of Ed, it seems unlikely that open sourcing will ever happen. Still, I think the concerns of Ian and those who support his idea (me too) should be taken serious, and they are, based on the comments here and at Ideajam.

Continue reading...