self() 3.0 released
May 2019
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
This site is an effort to share some of the base knowledge I have gathered through all this years working with Linux, FreeBSD, OpenBSD, Python or Zope, among others. So, take a look around and I hope you will find the contents useful.
Recent Entries
Recent Comments
Recent Trackbacks
OpenBSD (9 items)
BSD (0 items)
FreeBSD (19 items)
Linux (3 items)
Security (3 items)
Python (22 items)
Zope (13 items)
Daily (144 items)
e-shell (9 items)
Hacks (14 items)
PostgreSQL (3 items)
OSX (8 items)
Nintendo DS (0 items)
enlightenment (0 items)
Apache (3 items)
Nintendo Wii (1 items)
Django (24 items)
Music (12 items)
Plone (7 items)
Varnish (0 items)
Lugo (2 items)
Sendmail (0 items)
europython (7 items)
Cherokee (1 items)
self (1 items)
Nature (1 items)
Hiking (0 items)
uwsgi (0 items)
nginx (0 items)
cycling (10 items)
Networking (1 items)
DNS (0 items)

Syndicate this site (XML)

RSS/RDF 0.91

26 noviembre

self() 3.0 released

codename "the patient pilgrim searching for a new path"

I'm pleased to announce a new release of self(), my work-in-progress soul() implementation for the body() base class.

As announced last year, with the release of version 3.0 the 3.x branch is officially announced. This includes some major rewrites, but we have kept backwards compatibility with older versions of self().

Probably the major improvement/change from the 2.x branch is the new privilege separation code between the two main modes of operation, the so called public mode and private mode (some call them the work mode and the personal mode). Now there is a clean separation between them, avoiding overflows that ended in leaks of information and terrible consecuences in the past.

I would like to list some of the highlights of this new version:

  • Improved Python support in general, django and plone support in particular
  • Improved javascript support (jQuery)
  • Improved the workflow mechanism. Now requests from users are handled properly, using chains and a new system of privileges that allow tasks to be done more efficiently
  • Added more documentation to the knowledge base

There are, of course, some bugfixes and new security stuff:

  • Fixed a bug in the trust authentication mechanism, which was used to identify trusted users. Seems that, under certain conditions, an attacker could bypass this mechanism so self() recognizes it as a trusted person. (Sadly this was exploited 1 time succesfully this year)
  • Due to that bug, a major rewrite of the authentication mechanisms configuration has been made. Now accesses are more restricted. There was even a change in how access privilege is given, now it is more difficult.

During the development of the new 3.0 release there was some really intensive sprints, I would like to add some comments about them and the people that collaborate somehow:

  • Birmingham: 29th June - 3rd July. This sprint took place while attending the europython conference. Most of the work here was done by santi@ (now an usual contributor to the project) and me@.
    • Found a bug in the project management tool code. Fixed the bug and started work to improve the tool to avoid this kind of bugs
    • Added a KLD to the kernel driving_from_the_other_side that could be dinamically loaded, allowing self() to be capable of driving the other way around
    • Met a lot of other python developers, share thoughts and gather some ideas for the project.
  • London: 5th - 13th August. Another sprint in the UK. This time it took place in London. Some highlights:
    • Added a new developer to the project (nittin@), which will help with mobile phones optimizations
    • Improvements in the official documentation about how to create successfull forks of self()
    • Added a new method to the CrazyStuff module (search_for_invaders) and tested it in London. It seemed to work fine (found 2 invaders ;D)
    • Tested the sleep mode in some parks. All tests passed ok
  • Athens: 12th-21th september. This sprint was a request from betabug last year, when releasing 2.9, so it was quickly added to the list of posible sprints for this year. The sprint took place for more than one week and was really productive. I would like to thank all the greek development team that worked so hardly there with betabug and me (panos@, rika@, graffic@...). Some highlights:
    • Almost finished the privilege separation code thanks to bebu@'s wisdom (some more work took place weeks later).
    • Started the .gr support in the i18n layer
    • Improved support for self() to work in foreign environments (without the need of external modules)
    • Added a variety of methods (including the new ouzo() and souvlaki() ones) to the Taste class.
    • Found a bug in the internal GPS code. It got lost for the first time since earlier versions of self().
    • Added a new module that allow self() to recalibrate the GPS through IRC
    • Tested the Galicia.queimada code, that was there for some time now, all tests worked ok.

You can get the source code of self() here:

Don't forget to check the usual checksums to ensure you are downloading the right version:

  • MD5 (self-3.0.tar.bz2) = cebd95add62a1fbd31fce88f17af1017
  • SHA256 (self-3.0.tar.bz2) = 66e4c000f2000eb1cca164f97c441e14d438ca2599c8e79f4de6ecade0de8b32

To end the announcement, I would like to thank everyone that made this new release posible, you are the ones responsible for such a nice job, thanks a lot, keep doing such a great effort.

For the rest of you, who didn't know about self() yet, please download it, test it and report any bugs you could find, thank you too.

Posted by wu at 14:16 | Comments (0) | Trackbacks (0)
<< The day after a party... | Main | FreeBSD 8.0 released >>
Re: self() 3.0 released

Congrats for the new and updated branch 3.0. The download works so well but I cannot ./configure the package ;).

As I told you before, congrats! great job (and great post too, it made me laugh a lot).


Posted by: r0sk at noviembre 26,2009 15:40
Re: self() 3.0 released

As someone who expects a mayor release early next year as well, I want to congratulate you for all those years of work and improvement and thank you for sharing the know-how so we can keep track of the progress.

So long, be well and congratulations again.

Posted by: foz at noviembre 26,2009 16:54
Re: self() 3.0 released

@r0sk: thnk you for being one of the usual contributors on the project. You know what to do about the ./configure problem, add a ticket! ;D

@foz: HEY! it took me some time to discover who you really are! I mean, really like in the real world... ;D What a nice surprise to notice you follow my blog! Hope everything is going ok on your side. (we should met some day and have some beers!)

Posted by: Wu at noviembre 27,2009 00:04
Re: self() 3.0 released

Congratulations for the new release! It was a huge pleasure to work with you on the Athens sprint! Even though it was more than one week it was quite relaxed for being so productive!

Indeed, testing the Galicia.queimada was interesting, I learned a lot too! Hope to see you soon in another sprint somewhere!

Posted by: betabug at noviembre 27,2009 10:27
Happy Birthday!

Χρόνια πολλά Wu!
Wish you many happy and healthy years!
Yes, a queimada would be great to have again!

Posted by: Panos at noviembre 27,2009 10:33
Re: self() 3.0 released

@betabug: the pleasure was all mine, I'm glad we could met finally (as you've been a contributor on the self() project for quite a long time now). That *long* week was probably one of the best times through this year. Thank you so much for be such a great host.
(What about an sprint in Paris in 2010? perhaps we could get saad involved and perhaps even our friend from the leatherpantz country could join us too...)

@Panos: What could I say? you are welcome to visit us here in galicia (there is plenty of augardente to prepare some more queimada!). Thank you for your contribution (I forgot to mention it, but Panos helped the project providing some useful information about maps, for the new geolocalization code that will be in the 3.1 release! ;D)

Posted by: Wu at noviembre 27,2009 14:18
Please send trackback to:
There are no trackbacks.
Post a comment