Microsoft and Novell
Ars Technica has summed it up rather nicely. I like Marks photo in that article
Ars Technica has summed it up rather nicely. I like Marks photo in that article
The RSS feed of the Ubuntu Security notices has been improved. It now contains the details of the USN and linkifies bugs, CVE numbers and urls in the header. It also links to packages on launchpad. Kees Cook will be happy now
With public transportiation going down the drain fast here and a cheap car available, I joined the greenhouse masses and bought my first car. It’s an almost 9 year old dark blue suzuki alto and it’s quite fuel efficient, so my contribution to the climate crisis will not be large.
In other news: I started poking at usplash again and will have some nice patches ready before feature freeze, if mjg59 accepts them. Still looking for a Qt person to port the already famous usplash-switcher to Qt. Anyone?
One thing I don’t like in django is that there is no from input firld that’s automatically set to the current logged in user (like the auto_now datetimefield). Problem with such a field is that there isn’t always a current user, since you can also manipulate django objects on the command line (which is great!). But given that there sometimes is a user, why not take advantage of that and inspect the request? Problem is that you don’t have access to the current request from everywhere, but it’s somewhere on the call stack. Fortunately, you don’t have to do ASM hacking to access the python callstack, python has a neat little gem called sys._getframe which works real pythonic and doesn’t even run off the stack but raises a ValueError if you try and access a non-existing frame. Don’t forget to del(frame) though, otherwise python (and in the case of mod_python: apache) segfaults.
def get_user():
i=1
user = None
while True:
try:
frame = sys._getframe(i)
except ValueError: # Stack isn't this deep
break
if 'request' in frame.f_locals and
issubclass(type(frame.f_locals['request']) , HttpRequest):
user = frame.f_locals['request'].user
del(frame)
break
del(frame)
i += 1
return user
Yesterday was the first meeting of the Ubuntu community council in 2007. This was the first meeting where I wore my new CC secretary hat and it felt good. I love the Ubuntu community and this is one of the ways I try to help making it grow. The CC meetings are a good place to get to know what is going on in various parts of the community and you don’t see so many cool contributions per second anywhere else 
The next meeting isn’t scheduled yet, and since it’s now part of my duty to poke the council members about a date people can now blame me if it is delayed.