Search Results: "jan"

6 September 2010

Gustavo Franco: Gooooogle!

We will celebrate Independency Day here in Brazil tomorrow (the year was 1822 for those into world history). I took the time to visit Belo Horizonte and meet a few googlers I don't see in a while. The cool part is that Rodrigo and his wife Ellen are also in town. We (me and Rodrigo) used to work in the same team at Google here in Belo, he's now living in Zurich.

I would like to let you know that I'll be rejoining Google in a month or so!

For those out of the loop: I quit Google San Francisco a few months ago to get back to Rio de Janeiro in order to assist my family with some complicated issues. They were all sorted out and Google rehired me! How cool is that?

I'm glad to be part of Google Site Reliability Engineering again and looking forward to meet all the Debian Developers in Mountain View and San Francisco. I've met Andy and a few others already. Please stop by and say hi!

Jan Hauke Rahm: tmux entered my system

Been playing with that thought for a while now, finally got to rebuilding it for lenny, now I m using it tmux is the new screen. To have fun already I read a few short introductions and got myself a few suggestions for a proper .tmux.conf. So, for root I have this one now: # Copy mode
unbind [
bind Escape copy-mode
# Use Vi mode
setw -g mode-keys vi
# Make mouse useful in copy mode
setw -g mode-mouse on
# More straight forward key bindings for splitting
unbind %
bind split-window -h
bind h split-window -h
unbind '"'
bind - split-window -v
bind v split-window -v
# History
set -g history-limit 4000
# Terminal emulator window title
set -g set-titles on
set -g set-titles-string '#S:#I.#P #W'
# Status Bar
set -g status-bg black
set -g status-fg white
set -g status-interval 1
set -g status-left '#[fg=green]#H#[default]'
# no line break here, it's just to long for my blog layout!
set -g status-right '#[fg=yellow]#(cut -d " " -f 1-4 /proc/loadavg)#[default] #[fg=cyan,bold]%Y-%m-%d %H:%M:%S#[default]'
# Notifying if other windows has activities
setw -g monitor-activity on
set -g visual-activity on
# Highlighting the active window in status bar
setw -g window-status-current-bg red
# Clock
setw -g clock-mode-colour green
setw -g clock-mode-style 24
# Create a default session
new -n htop -d htop
setw -t htop monitor-activity off
neww -n aptitude -d aptitude
neww -d
Then I added a new alias to my user s zsh config: alias root='su -c "tmux attach"' Why tmux attach ? Because tmux would start a new session which I don t want it to. The config already starts a session which we can immediately attach to. Also, when such session was started I can attach to it as a user with the very same command over and over again. That makes it pretty handy as I always have htop, aptitude and a free shell available in a nice tmux session. Great. How did I live until now? ;-)

2 September 2010

Evgeni Golov: The joy and pain of WordPress

As you may not have noticed, I migrated my site to WordPress some time ago as I did not want to maintain the old piece of crap I wrote myself when I was young ;)
Today I want to tell you a story of the development of a plugin for WordPress. As the title says, it s much about joy and pain and I think I should start with the pain :) WordPress is written in PHP, so are the plugins for it. And PHP is REAL pain (but there is no decent blogging software for Django or Zope that would fit all my needs). It is especially pain when you work with Python every day. What the heck are those curly braces and dollar signs and $this-> ? That s just not the way Guido indented it ;)
Additionally my last contacts with PHP were some time back in 2008 when I hacked on SysCP, which today result in commits like this:
-        if (is_int($new_instance['max_items'])) $instance['max_items'] = $new_instance['max_items'];
+        if (ctype_digit($new_instance['max_items'])) $instance['max_items'] = $new_instance['max_items'];
But I have to admit that the WordPress API is pretty good. Not very well documented (the wiki pages at codex.wordpress.org are sometimes outdated), so you have to read the source and google a bit, but when you found the needed sources, it s pretty straight forward.
My plan was to write a simple widget, displaying my Twitter and identi.ca timelines. Yes, both together, not one widget per service. The reason for this is the fact that I mostly post via identi.ca and the messages get synced over to Twitter and only the local replies and retweets/redents differ.
The basic WordPress widget would look like this (source: http://codex.wordpress.org/Widget_API#Developing_Widgets_on_2.8.2B):
class My_Widget extends WP_Widget  
	function My_Widget()  
		// widget actual processes
	 
	function form($instance)  
		// outputs the options form on admin
	 
	function update($new_instance, $old_instance)  
		// processes widget options to be saved
	 
	function widget($args, $instance)  
		// outputs the content of the widget
	 
 
register_widget('My_Widget');
One only has to modify the widget() function and here you go. From some other Twitter plugin I knew that I only had to include rss.php and call fetch_rss(url) for every feed URL to get the timelines as an array via MagPie. But when looking at rss.php, you notice the deprecation message in the header, saying one should use SimplePie now. Some google later I knew that I had to include feed.php and call fetch_feed(url) to get a SimplePie object representing the feed contents. But SimplePie is even cooler: I can call fetch_feed(array(url1, url2)) and get a merged feed, containing both.
Now I added a duplicate filter to elliminate the messages posted to both, twitter AND identi.ca and my widget was ready. You can find the result on http://github.com/evgeni/wp-statusnet-widget and soon on http://wordpress.org/extend/plugins/statusnet-widget/ :)

28 August 2010

Antti-Juhani Kaijanaho: Dear Lazyweb: Does this software exist?

I ve been wondering if the following kind of testing management software exists (preferably free software, of course). It would allow one to specify a number of test cases. For each, one should be able to describe preconditions, testing instructions and expected outcome. Also, file attachments should be supported in case a test case needs a particular data set. It would publish a web site describing each test case. A tester (who in the free software world could be anyone) would take a test case, follow the instructions given and observe whatever outcome occurs. The tester would then file a test report with this software, either a terse success report or a more verbose failure report. The software should maintain testing statistics so that testers could easily choose test cases that have a dearth of reports. As a bonus, it would be nice if the software could submit a failure report as a bug report . (Note that this would be useful for handling the sort of tests that cannot be automated. There are many good ways already to run automated test suites.)

24 August 2010

Gunnar Wolf: Thinking about how human-machine interaction is categorized

During DebConf, I managed to squeeze out of the middle of everything for long enough to write a column, a short article for a participation I have every three months, for Mexican Software Gur magazine. All in all, I liked the resulting text The current number's main topic is alternative user interfaces. I find it sometimes hard to define what Software Gur 's audience is Probably, project leaders in software development; not the actual developers, but people who actually understand about coding... but care more about The Big Picture, Processes, Architecture Engineering and Buzzword Compliance. It is an interesting magazine, all in all, but with a focus and viewpoint I often feel myself not precisely comfortable with. So, if this trimester's topic was alternative user interfaces, I decided to write on the history and future of the man-machine interface (Spanish only) (version in the magazine's site). My viewpoint comes from the fact that I do not believe we are in a state of so great, innovative changes that everybody is trumpeting, and I'd rather get others to really think on whether user interfaces have gone different in the last decades. Yes, there are many changes, but in form rather than essence. Anyway, I shared this text with some friends. Some days later, when I was back in Mexico, Pooka/Alejandro Miranda lent me a very interesting book: Hacer clic: Hacia Una Sociosemiotica De Las Interacciones Digitales (Do click: Towards a Socio-semiotics of Digital Interaction (Cibercultura)), by Carlos Scolari. I am not yet even halfway through it, but I am enjoying it This book speaks, so far, about the meanings of interfaces, and of the history of interfaces themselves, even forgetting that nowadays we (mostly) refer to interfaces as what we have between the man and the machine. Hacer click (book cover) Sadly, I cannot find this book in English, as it is very well worth a read. But if the topic sounds interesting and you can understand the language, don't hesitate and pick up the book. It gives an interesting insight on the topic, for a group of people (us techies) used to looking at things in a much more human-cognitive-process-oriented way. [update] I found this nice overview of the "Hacer clic" book, written as a presentation for the book. It explains precisely the part I am currently reading - The four metafora for interaction: Conversational, instrumental, superficial and spatial.

13 August 2010

Biella Coleman: Rare Sharing of Data Leads to Progress on Alzheimer s

Finally. Let s hope other scientists follow in their footsteps and make rare a marker of the past:
No one would own the data. No one could submit patent applications, though private companies would ultimately profit from any drugs or imaging tests developed as a result of the effort. It was unbelievable, said Dr. John Q. Trojanowski, an Alzheimer s researcher at the University of Pennsylvania. It s not science the way most of us have practiced it in our careers. But we all realized that we would never get biomarkers unless all of us parked our egos and intellectual-property noses outside the door and agreed that all of our data would be public immediately.

Biella Coleman: Rare Sharing of Data Leads to Progress on Alzheimer s

Finally. Let s hope other scientists follow in their footsteps and make rare a marker of the past:
No one would own the data. No one could submit patent applications, though private companies would ultimately profit from any drugs or imaging tests developed as a result of the effort. It was unbelievable, said Dr. John Q. Trojanowski, an Alzheimer s researcher at the University of Pennsylvania. It s not science the way most of us have practiced it in our careers. But we all realized that we would never get biomarkers unless all of us parked our egos and intellectual-property noses outside the door and agreed that all of our data would be public immediately.

Antti-Juhani Kaijanaho: dctrl-tools translations

dctrl-tools 1.14 (targeting squeeze) has the following incomplete translations (as of right now in git): ca: 89 translated messages, 4 fuzzy translations, 18 untranslated messages.
cs: 108 translated messages, 1 fuzzy translation, 2 untranslated messages.
de: 111 translated messages.
en_GB: 89 translated messages, 4 fuzzy translations, 18 untranslated messages.
es: 89 translated messages, 4 fuzzy translations, 18 untranslated messages.
fi: 111 translated messages.
fr: 108 translated messages, 1 fuzzy translation, 2 untranslated messages.
it: 65 translated messages, 8 fuzzy translations, 38 untranslated messages.
ja: 89 translated messages, 4 fuzzy translations, 18 untranslated messages.
pl: 49 translated messages, 2 fuzzy translations, 60 untranslated messages.
pt_BR: 89 translated messages, 4 fuzzy translations, 18 untranslated messages.
ru: 108 translated messages, 1 fuzzy translation, 2 untranslated messages.
sv: 84 translated messages, 4 fuzzy translations, 23 untranslated messages.
vi: 89 translated messages, 4 fuzzy translations, 18 untranslated messages. I have put the relevant pot and po files up. This is not an archival URI, but I ll keep it available long enough for this. Submissions through the BTS are accepted, as usual. Debian developers and others with collab-maint access may, if they wish, push their updates directly to the Git repository. Please use the maint-2.14 branch and please read the README. I will NOT be gathering translations from Rosetta. All contributors and committers are asked to declare whether they can affirm the Developer s Certificate of Origin. The commit tag Signed-off-by is, by convention, interpreted as an affirmation of that document by the person identified on that tag line.

10 August 2010

Russell Coker: Cyborgs solving Protein Folding problems

Arstechnica has an interesting article about protein folding problems being solved by a combination of brute-force software and human pattern recognition in the form of a computer game [1]. Here is a link to the primary source which also mentions the fact that players can design their own proteins which could potentially cure some diseases [2]. This is very similar to Garry Kasparov s observations about ideal methods for playing chess given computers and humans [3]. It is also similar to Jane McGoningal s ideas about using online gaming to make a better world [4] which inspired my post about choosing a free software mission [5]. What other serious problems can we solve via computer games and screen-savers?

9 August 2010

Gustavo Noronha Silva: WebKitGTK+ and the Web Inspector

When I started working on WebKitGTK+ I was a web developer, writing IT applications using Python and Django, and building features for content portals running Plone (argh). Even though I was an Epiphany user ever since it was forked off Galeon, I still had to use Firefox for my work, because I couldn t really live without Firebug. It should come as no surprise, then, that one of my first patches to WebKitGTK+ was actually making the awesome Web Inspector work in our port. After the initial support, though, not a lot has been done to further improve it, partly because it was already good enough for many uses, partly because I somehow started doing non-web development again ;). These last weeks, through my R&D efforts in Collabora, I have been able to push Web Inspector features and integration a bit further. A simple change that boosts the Inspector s usability quite a bit is having the nodes that are being hovered highlighted. Along with that, the ability to attach the inspector to Epiphany s window should make it easier to use for poking the DOM. The Web Inspector has a number of settings that control its behaviour. Since, for instance, enabling javascript debugging may slow down javascript performance, the inspector usually has it disabled by default, and provides a button to enable it. It also provides an option for always enabling that feature, but that does not work right now, because we are not saving/restoring the relevant settings. A solution to that is in the works using the GSettings infrastructure that was recently merged into glib. Here s a simple screencast, showing these improvements in action (click the video to check it out in full size): <video controls="controls" src="http://kov.eti.br/media/webkit/inspector.ogv" width="400"></video>

4 August 2010

Martin-&#201;ric Racine: A small death, a big birth.

I dunno why, but hearing bagpipes always gives me the creeps, probably because their melodies sound like a whole country was just brutally slaughtered and is being mourned. Sure enough, this morning, on my way to pick up my new national ID card matching my new citizenship, I ran into a Scottish regiment warming their bagpipes in preparation for the Police marching band festival of Helsinki and instantly had goosebumps, to the point of running a mental list of everyone among my relatives who might have crossed the Styx during the last few hours. While my mother's recent ailments have indeed been a source of concern, I simply couldn't think of any reason for them to degenerate to a fatal extent, so I mentally crossed that possibility out. Still, even after marching a few blocks further downtown towards the central police station, I simply couldn't shake the deep sadness that got onto me upon hearing the bagpipes rehearsal. By the time I reached my destination, an answer came: before I could get my new ID card, I'd have to surrender my old Foreigner's ID card. As odd as it might sound, I felt sad to let go of that pink-tinted little bugger. See, as much as I've hated being a foreigner all these years, that pinkish ID card was my only legal tie to this country and the photo of me it bears represented an important phase of struggles in my life, a phase that I would have loved to document in any possible way. Alas, it was not possible, so I gave one last look at my old card, handed it over and took my new blue-tinted citizen's ID card in exchange. Walking back across downtown towards my home, all I could do was stare at my new ID card in disbelief: the Citizenship line indeed said FIN. I suppose that was the real message: C' tait la fin d'une citoyennet et le d but d'une autre. Une petite mort, une grande (re)naissance. Seh n on hyv vaihtokauppa, miun puolesta.

Russell Coker: WordPress Maintainability

For a while I ve been maintaining my own WordPress packages. I use quite a few plugins that weren t included in Debian, some of them have unclear licenses so they can t go in Debian while the rest would have to go in Volatile at best because they update regularly and often have little or no information in the changelog to describe the reason for the update so we have to assume there is a potential security issue and update it reasonably quickly. As I m maintaining plugin packages it seems most reasonable to keep maintaining my own packages of WordPress itself which I started doing some time ago then the version in Debian became outdated. Now WordPress isn t a convenient package to maintain, the design of it is that a user will upload it to their web space via FTP or whatever, it s not designed to be managed by a packaging system with the option of rolling back upgrades that don t work, tracking dependencies, etc. One example of this is the fact that it comes with a couple of plugins included in the package, of which Akismet is widely used. The Akismet package is periodically updated asynchronously from the updates to the WordPress package with the apparent expectation that you can just FTP the files. Of course I have to build a new WordPress package whenever Akismet is changed. Now there is a new default theme for WordPress called TwentyTen [1]. This theme ships with WordPress and again has updates asynchronously. Just over a week ago my blog prompting me for an update to the theme even though I hadn t consciously installed it I have to update because I don t know whether one of the other users on the same system has chosen it and because having a message about an update being required is annoying. The Themes update page has no option for visiting the web site for the theme and only offered to send it to my server via FTP or SFTP, of course I m not going to give WordPress access to change it s own PHP files (and thus allow a trojan to be installed). So I had to do some Google searching to find the download page for TewntyTen which happens to not be in the first few results from a Google search (even though those pages look like they should have a link to it and thus waste the time of anyone who just wants to download it). After downloading the theme I had to build a new WordPress package containing it I could have split it out into a separate package and have the WordPress package depend on it, but I ve got enough little WordPress packages already. It doesn t seem worth-while to put too much effort into my private repository of WordPress packages that possibly aren t used by anyone other than me. Plugins aren t as bad, the list of plugins gives you a link to the main web page for each plugin which allows you to download it. I wonder what portion of the WordPress user-base install via FTP to a server that they don t understand and what portion of them use servers that are maintained properly with a packaging system, my guess is that with the possible exception of WordPress.com most bloggers are running on packaged code. It seems to me that optimising for Debian and CentOS is the smart thing to do for anyone who is developing a web service nowadays. That includes files managed by the packaging system, an option to downgrade (as well as upgrade) the database format (which changes with almost every release), and an option for upgrading the database from the command-line (so it can be done once for dozens or hundreds of users). deb http://www.coker.com.au lenny wordpress I have a repository of WordPress packages that anyone can use with the above APT sources.list line. There is no reason why they shouldn t work with Testing or Unstable (the packaging process mostly involves copying PHP files to the correct locations) but I only test them on Lenny.

2 August 2010

Gunnar Wolf: We have released!

If you have seen me anywhere near my computer at DebConf, you probably have seen the face of a hurried, worried developer. Still, if you monitor my Debian-related activity, you will notice it is still quite low, even given my (much needed and very much enjoyed) vacations pre-DebConf. Yes, orga-team work is very time consuming, even if my role is far from central this year. And yes, DebCamp+DebConf are known for sucking time into social interaction, which is great but not so (formally) productive. And yes, I even took 1.5 days off to visit my family and a friend who live in the area... Still, I managed to release! \ / Release what? I have been working with Pooka for the last ~2 years on the Seminary on Collaborative Knowledge Construction. We assembled a group of ~10 speakers/authors, each of whom prepared a chapter for a book meant for publication. Pooka and me coordinated the work, which took a long time because it was also an interaction experiment (and because we both did it only in our free time). After the coordination work started fading, I took up the task of coming up with a way to translate it all into LaTeX (and fix a host of conversion bugs, and play with the available packages, and... Hey, I'm after all just a LaTeX newbie, and had to learn to tame the beast!), I stumbled upon that precious fact that makes so many projects release. I stumbled upon a deadline. We want to publish the book under the seal of IIEc-UNAM. Besides my workplace, it is a very well regarded university, and having its seal in our work is definitively a big plus. And the Publications Committee of my Institute is meeting this week - So I had to send our final manuscript by today. Having a deadline overlapping with DebConf sucks. But somehow, I managed to do the needed work to my complete satisfaction. The work is now in the Committee's hands, and I expect to have more news soon(ish). Oh, and where can you get our work? Well, if you register in our site, you will be able to read the whole contents. And once the book is approved and published, the whole work will be published online under a free (CC-BY-SA) license. BTW, that probably means I will have more time to fix my Debian bugs and pending stuff! \ /

29 July 2010

Gintautas Miliauskas: Python course projects

This spring I read a course on Python in Vilnius University, Department of Mathematics and informatics. The course was not mandatory, which I suspect is one of the reasons why my students were quite a bright and motivated bunch. I began the course with a brief introduction to the Python language and the standard library, then dedicated a few lectures to Django and in the remainder I covered various libraries (GUI toolkits, Pygame) and techniques (testing, debugging, optimization). One of the major tasks of the course (and the deciding factor in the final valuation) was to develop a project using Python. The students were given complete freedom over the topic of the project and the tools used, as long as Python was involved. The quality of the result varied, of course; had I given concrete tasks, the low bar would definitely have been higher. However, I am happy with how things turned out. Probably the best-executed project was 1000 Online, an online multiplayer card game (see rules). It was developed by Vytautas Karpavi ius. Vytautas apparently had prior experience with Python and Django, nevertheless, the quality of the app (and the code behind it) is impressive. Among the other projects, Gegute.lt, a Lithuanian clone of Reddit is still up and running. It's nothing too fancy, but looks quite clean for a university project. Other projects perhaps were not perfectly executed, but were very interesting conceptually. Jonas Keturka developed a bot (BitBucket) for the online strategy game Travian. Marius Damarackas developed a web-based guess-the-song game. He used YouTube for the song material and Last.fm (IIRC) to make you guess among similar songs, so that it would not be too easy. Andrius Chamentauskas developed a Puyo Pop clone (GitHub) with PyGame, complete with multiplayer and an AI. Paulius Budzinskas worked towards his course paper by developing a bacteria movement modelling and visualisation app (GitHub; Lithuanian only). David Abdurachmanov developed a spell-checker bot for WikiAnswers.com, with a really baroque and sophisticated architecture. I believe he has applied to Google Summer of Code with that project; I wonder how that is working out. For reference, you can find links to all student repositories on GitHub/BitBucket in this list. Beware: some of them may be documented/commented in Lithuanian. Another interesting effect of the course was that people started using Python in other related courses, for example in Mathematical Modelling and Numeric Methods. I even heard that the lecturer was impressed and expressed interest in learning Python. Another lecturer, this time a statistician, was interested in teaching and using SAGE at lab practice. Feeling such 'ripples' going through the department sure felt nice. By the way, the university also offers lectures on Ruby, read by Saulius Grigaitis. I took some inspiration from him for the course form and content.

15 July 2010

Jordi Mallach: Hiking through the Pyrenean GR 11

Tomorrow, at this time, I'll probably be unsuccessfully trying to find a comfortable position on a seat of the Bilmanbus to Irun. Very early on Saturday, as soon as we get off the bus, Maria and I will quickly head to Hondarribia's beach in Cape Higer to symbolically wet our feet in the waters of the Cantabrian Sea. We won't have much time to enjoy the cold waters of the ocean, though. Soon after that, we'll have to take a deep breath, look East, and start walking if we want to achieve our utmost objective: take a bath in the beautiful beaches of the Cap de Creus, in the Mediterranean sea. In between, 30 days and 840 kilometres of thick woods, deep valleys, high peaks and cold waters, all of which shape incredible landscapes.


The Portella de Baiau, during our 2008 trip For a whole month, we'll be mostly disconnected from everything else that isn't our knee ache, our blisters, the Sun over our heads or where to get food. It's the first time I leave on a hiking trip as long and tough as this one, and I feel both uncertainty and eagerness. We've been so busy during the last few months that we've been unable to train at all for this, and I'm probably in the worst physical condition in a decade. It's too late to take care of that now, so we'll try to take good care of our legs and spine. In order to get back home in the Mediterranean, we'll have to be fast, some days joining two stages and skipping a few that we know are not that interesting (sections over asphalt, etc.). It's hard to make it in just one month, but we'll try our best. The plan is going to sleep not long after sunset, getting up at dawn, to be able to walk for a decent time before the heat starts being a handicap and just resting at midday, when the Sun is <strongest.> Of course, this means that I'm missing, yet again, this year's edition of DebConf in New York City, which is really sad because I was looking forward hanging around with Mako, Mika, Biella, micah, Clint and the rest of the NYC/ Boston gang, but when the idea of doing a long trip this summer popped up around January, it was clear DebConf seemed unlikely this year. I hope all of you have a lot of fun, and see you in a few weeks!

Enrico Zini: On python, frameworks and TOOWTDI

On python, frameworks and TOOWTDI The Python world is ridden with frameworks, microframeworks, metaframeworks and their likes. They are often very clever things, but more often than not they are a tool of despair. A very peculiar thing about Python web frameworkish things is that there are so many of them. There's cherrypy (in its various API redesigns), fapws, gunicorn, bottle and flask, paste, werkzeug and flup, tornado, pylons, turbogears 1 and 2, django, repoze who, what and whatnot, all the myriad of rendering engines and buffet as a metathing on top of them, diesel, twisted, and I apologise if I don't spend my day listing and hyperlinking them all, I hope I made my point. Frameworks are supposed to standardise some aspects of programming; the nice thing about standards is that there are so many of them to choose from, and they all suck, so I'll make my own. But wasn't Python supposed to be the world of TIOOWTDI? Ok, everbody knows it isn't. Just in the standard library there are 2 implementations of pickle and 2 urllibs. But people like the TIOOWTDI idea. I believe the reason people like the TIOOWTDI idea is because it creates a framework. It standardises some aspects of programming, and defines building blocks that guarantee that people doing similar jobs will be using similar sets of components. Let's take for example the datetime module in the standard library. It is an embarassing example of a badly designed module, so embarassing that the standard library documentation continuously fails to document its fundamental design flaws and common work-arounds hoping that noone notices them, but as a consequence each poor soul starting to use it for nontrivial things has to google for hours in despair to rediscover in how many ways it's broken. But still, datetime works as a structure to hold those values that make a date, time, or full UTC timestamp. For that job it's become the standard, and as such it's an important component of the Python TIOOWTDI framework: one can use it to exchange datetimes among different libraries: for example ORMs are using it instead of rolling their own, which makes database programming so much easier when date/time is involved. Even if the implementation is far from perfect, once we apply TIOOWTDI to dates and timestamps, python code from different authors can exchange dates without worries. This is much better than having 3 different superior datetime libraries and having to convert date objects from one to another when passing values from a web form to an ORM. There is an often overlooked Python framework. The Pyton framework. It's called TIOOWTDI. All the micro-mini-midi-maxi-meta-frameworks that people scatter around, are, or should be, just experiments, proofs of concept, competing ideas waiting to be distilled in The Only One Way, bringing the Python experience one step forward. What is unfortunate is that this last distillation thing happens so rarely that people get used to the idea of having to use proof of concept code to get things done. Update: this post apparently wasn't very clear, so here is some clarification:

13 July 2010

Christoph Berg: Cool Unix Features: date -d @

I've always been annoyed about how hard it is to convert seconds-since-epoch to strings. I've always been using "date -d '1970-01-01 + 1234 sec'", but as it turned out, that's wrong because it uses the wrong timezone. Luckily, there's a slick replacement:
$ date -d '@1234'
Do 1. Jan 01:20:34 CET 1970
The right version of the "long" version is:
$ date -d '1970-01-01 UTC + 1234 sec'
Do 1. Jan 01:20:34 CET 1970

8 July 2010

Michael Prokop: Report from FAI developer workshop 07/2010

Last weekend (2010-07-02 2010-07-04) nine people met at the FAI developer workshop at Linuxhotel in Essen/Germany. If you can t remember: FAI is a non-interactive system to install, customize and manage Linux systems and software configurations on computers as well as virtual machines and chroot environments, from small networks to large-scale infrastructures and clusters. The participants of the FAI meeting: picture of participants of the FAI developer workshop 2010 second row from left to right: Michael Goetze, Michael Prokop, Andreas Schuldei
first row from left to right: Sebastian Hetze, Manuel Hachtkemper, Thomas Lange, Mattias Jansson
missing on the picture: Thomas Neumann (left on sunday midday) and Stephan Hermann (only part-time) Friday afternoon started with getting to know each other, continuing with discussions all around FAI. On saturday we started to hack on FAI. * Between the hack sessions and discussions the attending people presented their FAI usage and approaches. Some notes from the presentations:
FAI Manager webfrontend / Stephan Hermann Stephan \sh Hermann presented his FAI web frontend which should be released under the GPL license in those days. The frontend uses qooxdoo whereas the backend is based on django, rpc4django and python-tftpy. Screenshot of FAI manager webfrontend A demo video is available at blip.tv. Currently Stephan is searching for a nice name for his FAI management tool please send suggestions either to him or to the linux-fai-devel mailinglist. Grml / Michael Prokop Grml is a Debian based Linux live system specially made for system administrators. Grml uses grml-live for building the ISOs, whereas grml-live itself uses FAI s dirinstall feature to build the live system. This provides the Grml team with a nice way to autobuild 18 ISOs per day, known as daily.grml.org. Mika also presented Grml s netscript bootoption and the ethdevice bootoption of live-initramfs which is useful for booting Grml/FAI via PXE. Host Europe / Michael Goetze Host Europe uses FAI for installing Debian and Ubuntu (32+64 bit) in the support center. They have ~20 FAI classes and use a Debian lenny NFSROOT as base for all deployed systems. Their main problems with FAI aren t related to FAI itself, but instead e.g. broadcom NICs with lack of support for it in Lenny s kernel. They are not using softupdate (yet) and currently use Kickstart for deploying CentOS but are working on deploying CentOS with FAI as well. LIS AG / Sebastian Hetze Linux Information Systems AG (LIS AG) are using FAI 3.2.17 and provide a luma and PyQt based GUI to their customers. They use DHCP, LDAP and DDNS for inventory, configuration and deployment. Mathematical Institute of the University of Bonn / Manuel Hachtkemper The Mathematical Institute of the University of Bonn uses FAI 3.1.8 and 3.3.5 for managing ~150 systems. They are automatically running softupdates every day, reporting how many hosts actually did run the softupdate and how many didn t run. The involved failogwatch tool supports two regex files, one for excluding specific hosts and the other one for grepping for known problems in the logs. Spotify / Andreas Schuldei + Mattias Jansson Spotify is a peer-to-peer music streaming service and the operating people at Spotify use FAI for deploying the systems. Currently they are using FAI 3.3.3 to deploy ~400 bare metal machines and ~150 virtualised machines. They have their class names in DNS using the txt/Text record entry. They are using a self written prepend_class script to manage dependencies between classes. University K ln / Thomas Lange Thomas uses FAI s trunk version (of course :) ), managing ~25 machines with less than 20 FAI classes. He s not using softupdates as Lenny s aptitude ignores the hold status of packages (this bug should be fixed for Squeeze). $COMPANY One of the big telecommunication providers in Germany uses FAI 3.3.3 for installing their bare-metal and virtual servers, providing Debian, Ubuntu and SLES. They are using Debian NFSROOT as a base for all systems as well and their main problems with FAI wasn t FAI itself but how to manage installation of virtual machines.
On Saturday evening we had a nice barbecue which included beer and K lsch *d&r*. ;) On Sunday we continued with discussions and development. Our work-log of the weekend: Important decisions made: We noticed that many FAI users implement their own way how to handle dependency management between classes, we will re-consider how we could provide such a mechanism through FAI s core. We also noted that it s important that any self-written scripts used within FAI are fully idempotent and users should be aware of this. Last but not least many thanks to the sponsors of the FAI developer workshop 07/2010! The workshop wouldn t have been possible without our generous sponsors, namely being:

6 July 2010

Martin-&#201;ric Racine: On pohjant hden alla, T koti mulla mainen, M el m st laulan...

My girlfriend and I were out picking up a cake at the bakery last week, when my phone rang: Without knowing, at that moment, I had just become a citizen of the country in which I have been living for the past 12 years. It was only yesterday, upon receiving the decision in the mail and looking at the date on the certificate that I realized that, when I got the phone call, the decision had already been made and the bureaucracy was only looking for reassurances that I fully intend upon acquitting my civic obligations as soon as humanely possible. To say that reading the decision was a highly emotional moment is an understatement. Trying to explain the intensity of this moment to my girlfriend, I compared it to the day when a teenager reaches adulthood. This instant brought a similar feeling: suddenly, the whole EU opens its doors to me and I'm free to decide how to best use the opportunities it offers. What next? For now, completing this government training to become a bureaucrat. Funnily enough, becoming a citizen resolved the whole issue of background checks, which also suddenly triples the number of possible venues for the on-job part of the training. In my case, it looks like I'll be spending the next few months at the Ministry of Employment and Entrepreneurship, working on EU projects that fund R&D efforts and export sales ventures in each member state. After that, I'm not sure. On one hand, I'd like to apply for the Ministry of Foreign Affairs' KAVAKU recruitment program for future diplomats. On the other hand, that ministry is extremely picky about whom it accepts and it's not particularly known for favoring naturalized individuals. This being said, our current Minister recently published rather ambitious plans to completely reform the Ministry by bringing in seasoned professionals from the private sector who could efficiently promote Finnish know-how and products abroad, rather than hiring more of the same Public Administration graduates, so, who knows? Maybe the time is right for someone like me to join the ranks of the Finnish diplomacy? An other option that I'm considering is to permanently move to Estonia. When my last job there ended, I was left with the feeling that I could have accomplished a lot more, if only I were in a legal position to move there, rather than commute a couple of times a week. Beyond the pioneering work that myself and my diplomat friends at the Estonian embassy did in Turkey, there was a demand for us to perform the same magic in other countries of interest to Estonia. Unfortunately, not being in a position to be on-site and no longer having a job that paid for me to be there often enough meant that I had to pass on that opportunity. Now, seeing how one of my friends recently left the diplomacy and is open to new challenges, I'm wondering if now might be a good time to resume our operation and prepare our next campaign? Wow... So much to think about, now that a whole continent opened its doors to me. Hienoa! Olen suomalainen.

29 June 2010

Jan Hauke Rahm: [OT] Online magazine in German about music

It s pretty off topic for my blog since I usually only blog about technical stuff. But this is just great. Real life people having a real look at concerts of prominent and not-so-prominent musicians. And it s all in German which is a nice thing since most of such stuff I have to find on English web sites (except the obvious German big press influence). Made me notice I missed the concert of Jamie Cullum of course. But the article is quite nice and I definitely enjoy reading more of those. Have a look if you re as keen on music as I am, or not. :)

Next.

Previous.