Moving Monkey HTTP Daemon to epoll(7)

When I started Monkey HTTP Daemon, it was with the idea of a small web server with self-educational objetives. One of the early versions used the forking model (fork the current process in order to attend the client), then I moved the code to use pthreads, was the same ideas as fork but creating a thread for every client, this last change gave monkey the capacity to attend more clients in the same time than the fork model. Finally the last week, I moved the development repo code in order to use the epoll implementation as cool and good modern webserves as Lighttpd or Cherokee does.

Using epoll(7) is possible to watch file descriptors and know when they are ready to read or write, it has a similar behavior to select, poll and kqueue but works a little faster, it just works under a Linux platform, so from now if someone wants to compile monkey on another platform, will going to need to rewrite some parts. At the moment I’m not interested in make it portable for different platforms. I just want a really small and fast web server just for Linux.

The development version works but is a little bugy , I don’t recommend it for production, just for testing and have fun :)

OLPC + WINDOW$ = A really bad idea

I can’t believe all changes that are happening inside OLPC. The foundation is announcing the dual boot with Window$ and the great news is that “Microsoft will just charge 3USD!” ??? WTF!, I think that nobody is remembering when Steve Jobs offered Apple OSX free of charge! .

One of the goals of OLPC was to introduce new security features, most of them described in the BitFrost spec. An “educational” platform must be secure, and how is possible to promote a very insecure OS. Often is good to have different options but we have to keep in mind that the target users are not people that have been using computers for years, kids needs to learn and create, don’t be wasting time thinking about Anti-Virus and licenses. Virus will be happy to expand through the mesh-network…

Another point (and the most important to me) is about the user interface, the bad idea is try to run Sugar over Windows, that’s not make sense. Thanks God OLPC will continue supporting Linux as main platform and Sugar as main user interface.

The good news after the big changes in OLPC, is the foundation of Sugar Labs by Walter Bender and supported by the main developers of Sugar and contributors.  This foundation  will focus on providing a software ecosystem that enhances learning on the XO laptop as well as other laptops distributed by other companies, such as the ASUS Eee PC.

Now we can say that OLPC is a laptop project supporting a really educational one called Sugar, and Sugar Labs improving this wonderful interface and keeping in mind the original statement: An educational project.

Having fun

Last week I decided to get time for my hobbies, so I back to practice sports and every day I’m dedicating at least one hour to programming. Practice sports was a long part of my life, almost 10 years and I stopped because I couldn’t got time by professional reasons.

Yesterday I was updating Memphis, the plugins support is working again and I hope to write new ones at the end of the week. I have very cool ideas for this project which I hope to realize soon.

Also, I’ve joined to Ohloh, which is a “Open Source Network that connects people through the software that they create and use”. It’s a very cool site and you can get great/useful information about your contributions to the open source world:

ohloh profile for Eduardo Silva

now it’s time to back to work, break time is over :) hehe