September 20, 2009 at 12:17 am · Filed under Software
During the last couple of weeks I was having issues with the load on my webservers. The problems were mainly caused by Apache eating a lot of memory. As Apache was already pretty much optimized and I didn’t feel like simply buying more hardware, I started looking for alternatives. After some research, I decided to give the Russian nginx (pronounced ‘Engine X’) a try.
Igor Sysoev started the development of nginx in 2005. It’s now known as a high performance webserver with a very low memory footprint. Already 4% of all webservers are running nginx according to a research done by Google in 2007, well-known sites like Wordpress.com and Hulu are some good showcases.
Some of my servers are now running nginx for about a week and the Russian software actually outperformed my expectations! The load average decreased with 70% and I now have plenty of RAM available during peak-times. I did have to invest quite some time to migrate from Apache, but it saved me a lot of $$$ on buying extra hardware. I believe anyone operating a high traffic website with both static and dynamic content could benefit from a migration to nginx. To make the migration somewhat easier, here’s a list of resources I used during the migration:
My expectation is that we’ll see nginx showing up more and more serving high traffic websites. It’s a very good alternative for Apache, offering comparable functionality with a huge performance improvement.
There’s a reason for this being the first book review posted on my blog: this book should definitely be on the reading-list of every entrepreneur or manager. I think Ricardo Semler is a true visionary regarding organizational structure and I believe every company could learn from his practices.
In Maverick, Ricardo Semler tells the story of how he transformed the company he inherited from his father in the 1980’s. The Brazilian manufacturing company, Semco, had a (traditional) hierarchical structure when Ricardo took over the business from his father. The book describes how Ricardo started changing the organization into a circular structure where every employee knows what’s going on in the company and, more importantly, understands what their own role, responsibility and value is.
During the last couple of weeks, I’ve been spending some evening-hours on a new project called Tweepz. It actually started when I noticed that it is rather difficult to find people on twitter which might be interesting to follow. Twitter’s own usersearch only allows to search by name and another similar initiative twitdir has been down for quite a while already. Thanks to my job @ exalead I have the opportunity to develop upon a pretty powerful search engine, so I started crawling twitter.
The first version is now ready (although there might be some bugs here and there), it’s available on www.tweepz.com.
Besides performing a regular search, you can also use a couple of operators in order to restrict the search to a specific field (bio:, name: and loc:). Next to these operators, you can perform fuzzy queries using spellslike: and soundslike: or by using a wildcard *. Think I’ll add an advanced search window later this week, that should make it a bit easier to perform advanced queries.
Currently around 400.000 twitter profiles have been indexed so there’re still a lot to collect by the crawler. If you are twittering, you can speed up the indexation of your own profile by following @tweepz.
Hope you’ll find it a handy tool, suggestions or feature requests are of course welcome!
Speech recognition is one of those technologies which has been around for quite a while, but has not yet found it’s way to large-scale utilization in the industry. Yes, we’ve probably all talked to a computer of the airline reservation center once in our live, but I wouldn’t call that real speech recognition. You will have to choose between a couple of words, and if you say something different, they will redirect you to one of the choices anyway. This is what we call a small vocabulary speech recognition application. It is useful (I guess) but not what I think the best use case of speech technology.
The main problem researchers are facing is that each person’s style of speech is very different. And, especially if more people are in the same conversation, the speech recognition technology should be able to deal with all those different styles and vocabularies. I don’t expect it to take many more years before technology will be able to deal with those complications but there is some good news already! Read the rest of this entry »
I’ve been working on a mobile version of the (dutch) translation website I founded. Apart from releasing the mobile site itself, it’s of course also important to make people aware of the existence of it. That’s exactly the reason why I started looking for a script that performs mobile device detection. The aim of such a script is to detect who visits the www-version of my website with a mobile device and automatically redirect those visitors to the mobile site.
Within a couple of minutes I already found a couple of php-scripts that perform the trick. After reading through the code and checking some comments on blogs I ended up with two candidates:
September 25, 2008 at 12:44 pm · Filed under Search, Software
Yesterday Exalead released a new website, great compliment to my colleague’s who worked on this project. I think the new site is a huge improvement compared to the old one and it provides a perfect overview of Exalead’s (new) product offering.
I really recommend to have a look at Exalead Cloudview which, in my humble opinion, defines how the future of enterprise search will look like. And, while you’re at it, give Exalead’s Desktop search a try. The new desktop version can be accessed using your webbrowser and provides you with the same handy refinement options as can be used on exalead.com.
September 23, 2008 at 5:19 pm · Filed under Personal
I have this habit to send myself an email to remind me of something. I do this for everyday tasks, things I need to buy or things I want to read when I have some spear time. The problem however is that these reminders ‘get lost’ between all the other email I receive. That’s why I took some time to configure Gmail to manage this. I’ve been using it for a couple of days now and it really saves me time!
It’s very easy to setup, this is what I’ve done:
1) In Gmail, go to settings -> filters -> create a new filter
2) In the subject field, enter “todo:” -> click on ‘Next Step’
3) Check ‘Skip the inbox’
4) Check ‘Apply label’ -> new label -> enter “Todo” as label name
5) Click ‘Create Filter’ and your done!
Now write yourself an email with a subject like “todo: put out the garbage” and you’ll notice that Gmail will automatically list the mail in your todo list. You can do the same for a shoppinglist or readinglist, just use another prefix and label when you create the filter (e.g. “to read:”). Once you have finished the task you can either mark it as read (for your archive) of remove it completely.
You can now easily manage your todo’s anywhere & anytime using a webbrowser, email client or your mobile phone. For example, I found it really handy to be able to access my shoppinglist at the moment I actually need it.
August 31, 2008 at 10:06 pm · Filed under Personal, Search
After 4,5 years at ilse media I have decided to leave the company and start with a new challenge. To be honest, it took me quite some time to make this decision. I’ve always loved working at ilse and I will definitively miss the atmosphere and my collegues around there. Nevertheless, I feel it’s time for a change. A short while ago, I read a blogpost by Charlene Li about the best career advice she ever got. She describes the various phases you go through while you’re on a job. Basically, her advice is to switch jobs every 18 months, be it within your current company or to another:
At a career management course for HBS alumni, I learned that a person typically gets sick of a job after 18 months. This is a natural cycle, as you go through the excitement of learning a new job, become expert at it, and then gradually, it gets routine. So the advice I got was to plan for job obsolescence every 18 months. This didn’t mean that I had to leave the company and go to a new place – it had more to do with redefining my current job first to incorporate new challenges.
I reflected this on my own situation and came to the conclusion that I indeed arrived in the phase were a lot of things become a routine. For my job, it’s crucial to stay creative and come up with new innovations so routine is often a bad thing.
So… what’s my next challenge? Together with two new collegues, we’re going to start the dutch/benelux office of Exalead. Exalead is one of the major players in the enterprise search market. I know exalead pretty well since they are providing search technology to ilse since 2006. I’m a big fan of their technology and I’m very happy to become part of the company!
The social part of the web is a hot topic these days. We see a development in which a lot of webapplications are incorporating some way of social interaction with friends, collegues or family. New applications arrived which enable us to inform our friends about what we’re doing, whereweare or what we would like to share. The big players like Google, Yahoo and Microsoft understand the importance of online social activity and are rapidly taking steps to adapt their platforms (see yahoo opens up) or introduce new platforms (e.g. Google’s OpenSocial). I think this is a good thing, social activities often enrich the experience of online applications and it will become a more important aspect of the web in the coming years. However, this also introduces a couple of new problems (or should we call it challenges). A friend of mine, @kleverlaan, wrote an interesting post (dutch) after visiting the Web2.0 expo in San Francisco explaining why the social web is currently broken. In a nutshell, it comes down to the fact that for every webapplication that you register for you will have to:
1) Register with a new username / password combination (and try to remember it)
2) Provide some more detailed profile information
3) Find all your friends, family and collegues who happen to use the same application
4) Define the relationship between you and your friends
What we need to do is open up the social web: making all our data portable between applications. The good news is that a couple of open standards have already been introduced. OpenId, OAuth and OpenSocial provide the technology to make a big part of our data portable across multiple applications. But an average user should not be involved with any of those technologies. The technologies need to be utilized to build the ’services of the Social Web’. Namely: Identity Providers, Social Graph Providers and Content Aggregators (like Plaxo Pulse, FriendFeed). It might even be possible to make the social graph part of your online identity, leaving the need for a separate Social Graph provider.
The services of the Social Web still leave some problems unsolved. For example, they don’t provide a solution for the management of your online reputation. I would like to take my Ebay reputation with me when I register at Craigslist. Or use my slashdot karma when I go to digg. It’s a tough one since the context often matters for reputations, but most certainly a step we have to take in order to open up the social web.