uriel is currently certified at Journeyer level.

Name: uriel
Member since: 2005-03-06 20:25:43
Last Login: 2011-06-20 18:40:57

FOAF RDF Share This

Homepage: http://uriel.cat-v.org


I am a software philosopher and aesthete. Interested in the original Unix philosophy and how to apply it's rules of extreme simplicity to the current complex software world.

I am a fan of Plan 9 and Inferno trying to spread their ideas and technologies back to the Unix world.

Of course I also love cuddly rabbits.

The cheapest, fastest, and most reliable components are those that aren't there. -- Gordon Bell uriel - quotes collection


Recent blog entries by uriel

Syndication: RSS 2.0

I don't think anyone will be surprised that I love the latest creation of Ken Thompson and Rob Pike: the simple, elegant and preeminently pragmatic Go programming language.

But what makes me specially happy is how fast Go is growing in popularity, not among the masses of redditors (although it has some following even there) or programming language design hobbyists and academics, but among people building real production software and solving real problems.

It almost gives me back some hope for the future of the software industry.

While profiling Atrack and after writing some code to monitory the live memcache usage stats and display some pretty graphs, I noticed all the CPU time was spent picking and unpicking stuff from memcache, this is really expensive in App Engine because cPickle is disabled, and you are forced to use the excruciatingly slow pure python pickle module.

So for now I used a bunch of calls to string.split() and string.join() to serialize my data into a string before feeding it to memcache, this seems to improve things considerably and my CPU quota can breathe for now.

Next I would like to benchmark how well various serialization methods perform in App Engine, I have seen some comparisons of protocol buffers, json, etc, but I suspect the results wont apply to the pure-python environment in App Engine, and I think none included bencode (which I have learned to love after having to use to implement the bt tracker protocol).

In related news, I built an App Engine based site that monitors open trackers, used mako for the templates, which turned out to be bearable.

Been playing lately with App Engine. My first experiment is Atrack, a (BitTorrent) tracker that relies purely on memcached, it is fast and efficient, and less than 100 lines of code.

There is demo open installation in appspot, add http://bittrk.appspot.com/announce (or if you are paranoid https://bittrk.appspot.com/announce) to any torrents you like, I could use the stress testing!

So far I'm tracking a few thousand torrents (after torrentfreak broke the news) and barely using %1 of the App Engine quota.

Of course one of the cool things about atrack is that there is no way for me to really what torrents or how many torrents exactly are being tracked! This makes me happy but it is hard to shake the curiosity to know who and what for people are using your code! Ah, the wonders of privacy :))

While reading on the Bittorrent tracking protocol I realized that the problem it solves is much more general and a subset could easily be used for decentralized online gaming, chat systems, and to help other 'grid' like applications find each other inside the cloud.

So I started to write up an spec for Ntrack, a generalized and simplified tracker scheme, that should be backwards compatible with bittorrent clients and trackers, but makes all the bt-specific functionality optional. This is pretty much the subset implemented by atrack; I'm working on a distributed chat system that uses it and I hope others come up with other apps that take advantage of this.

P.S.: I know others have built trackers on app engine in the past, but they seem to be out of quota most of the time, and by looking at the source this is not surprising given how over-engineered they are. *sigh*

Share and enjoy.

17 Mar 2007 (updated 20 Jun 2009 at 05:43 UTC) »

This year Plan 9 from Bell Labs is a mentoring organization at the Google Summer of Code!

We are interested in all kinds of projects related to Plan 9, Plan 9 from User Space, 9P and Inferno. We have a list of ideas but we are happy to help you come up with a project that suits your interests and skills best.

Aside from the 4500$ provided as part of GSoC, we will send all participants a fantastic Glenda T-Shirt!

Hurry up, the deadline to apply is the 24 of March!

The first Swedish wmii9con will take place the 18/19 of February in Stockholm.

The main aim is to have fun and meet other Plan 9 and wmii users. It will be more more of a party with a bunch geeks than any sort of conference, but if you are interested in learning more about Plan 9 feel free to drop by and have some drinks with us.

I also will be speaking at FOSDEM the following week and a bunch of 9fans will co me along.

In other news the new Plan 9 web site has been quietly launched which much cleaner design and the full "sources" source tree is available over the web. We also have a more friendly address: 9fans.net

The new website is generated from troff(!) source using a new tool htmlroff , it still needs a bit of polishing but works great and the html version the papers look much nicer, for example see the Security in Plan 9 paper.

I have been quite busy with various things, but I promise to try keeping this diary more updated.

8 older entries...


uriel certified others as follows:

  • uriel certified uriel as Journeyer
  • uriel certified plan9 as Journeyer
  • uriel certified markus as Journeyer
  • uriel certified Hallski as Apprentice
  • uriel certified fbriere as Journeyer
  • uriel certified SorrowD as Journeyer
  • uriel certified garbeam as Journeyer
  • uriel certified Leimy as Journeyer
  • uriel certified mako as Journeyer
  • uriel certified zahod as Apprentice
  • uriel certified noselasd as Journeyer
  • uriel certified vt3 as Journeyer
  • uriel certified mjl as Master
  • uriel certified AxelB as Journeyer
  • uriel certified lethal as Journeyer
  • uriel certified major as Journeyer
  • uriel certified McLone as Journeyer
  • uriel certified bogon as Journeyer
  • uriel certified chillywilly as Apprentice
  • uriel certified rsc as Master
  • uriel certified fgb as Master
  • uriel certified JohnGalt as Journeyer
  • uriel certified btdn as Journeyer
  • uriel certified chesky as Journeyer
  • uriel certified Fefe as Journeyer

Others have certified uriel as follows:

  • uriel certified uriel as Journeyer
  • fbriere certified uriel as Journeyer
  • garbeam certified uriel as Journeyer
  • Zaitcev certified uriel as Journeyer
  • zahod certified uriel as Master
  • McLone certified uriel as Journeyer
  • Leimy certified uriel as Journeyer
  • ncm certified uriel as Apprentice
  • fxn certified uriel as Journeyer
  • bogon certified uriel as Journeyer
  • rsc certified uriel as Journeyer
  • fgb certified uriel as Master
  • 8088 certified uriel as Master
  • JohnGalt certified uriel as Journeyer
  • btdn certified uriel as Journeyer
  • Sphinx certified uriel as Journeyer
  • amatus certified uriel as Journeyer
  • sye certified uriel as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page