Search Results: "jan"

6 April 2010

John Goerzen: Begin questioning my sanity NOW

It s been a long and wet winter here. We live down a dirt/sand/gravel road, and when it rains, it s difficult to get a car down the road due to mud. And impossible to get a bicycle down it. As a result, I ve only been able to ride my bicycle to work once since November, and that was in January. Last Thursday, I intended to ride in to work, but discovered my front tire wouldn t hold air. I had heard about a wonderful local bike repair shop, so I dropped off the wheel there. The owner replaced the tube and checked it out, and charged me, yes, $4 including labor and the tube. Nice. So today was my first ride of the season. I rode a total of 21.8 miles (35 km) today, which was probably unwise enough for being as out of shape as I am. It s 9.6 miles each way to work, plus I did some errands over lunch. But add to that the winds 30 MPH (48 kph) with gusts to 43 MPH (69 kph). This morning, they were weaker and also mostly at my back. This afternoon, though, they were mostly a vicious crosswind. If you ve bicycled much, you ll know that s less annoying than a headwind, but is still quite annoying and takes a lot more energy to battle than you might think. So, I am now rather sore. And the question is: will I be silly enough to do this again tomorrow? The answer to that probably depends on how late I stay up watching the Butler/Duke game tonight, as I have to get up an hour earlier on days that I bicycle to work. I found that the bicycle rack at work which, somewhat to my annoyance, was moved indoors last year has been rather disused. It is in a rather dusty and dirty part of our manufacturing shop, and there were large metal bins completely blocking the path to it, which I had to move before I could park my bike. Then, of course, it was the usual comments which I take with a smile about somebody that shows up to work wearing cycling shorts & shirt. It should be noted that I change into professional clothes at work. But my commute is too long to wear them on the way in and expect to be presentable, non-smelly, and pain-free. In any case, evidence that this may not have been the best day to start my commute: it hurts to sit at the moment.

4 April 2010

Dirk Eddelbuettel: UCLA and LA RUG talks on R and C++ integration

We spent last week in the LA area and had a generally good time out west. I was able to sneak in two talks and a group discussion, thanks to the help by Jan de Leeuw (and everybody at UCLA's Stats department) as well as by Szilard Pafka representing the LA R User's Group. Pdf files for the slides for the talks are now on my presentations page in both a compact handout and presentation slide version (where the content is identical; if in doubt use the first file). The talks centered around R and C++ integration using both Rcpp and RInside and summarise where both projects stand after all the recent work Romain and I put in over the last few months. The presentations went fairly well; I received some favourable comments. Szilard and the R User Group had also suggested a group discussion about CRAN, its growth and how to maximise its usefulness. Given my CRANberries feed, my work on the CRAN Task Views for Empirical Finance and High-Performance Computing with R as well as our cran2deb binary package generator, I had some views and ideas that helped frame the discussion which turned out to very useful and informed. So maybe we should do this User Group thing in Chicago too! Special thanks to Jan de Leeuw and Szilard Pafka for organising the meeting, talks and discussion.

3 April 2010

Joerg Jaspert: Fun with broken hardware

As you might have read, one of Debians slightly important machines had some hardware trouble. Before I get into more details of this story, let me say thank you to all the people who worked on this issue: - The DSA (Debian System Administrators) team, - the local admins at Brown University Computer Science department. I intentionally leave out the HP support here, I think their work in this issue was pretty suboptimal. While they do follow a certain schema, it took a bit long and the stunt with the technician not finding the replacement board and later on leaving without further notice wasn t all that great. (Update: Just to clarify this: In general we are happy with HP and the hardware and relationship and all that stuff. And usually the support works pretty well, like for all the times we had to replace broken disks.) Now, the story. This all started by us noticing something in ries kernel output telling about some trouble with the ram:
ries kernel: [168074.392016] Northbridge Error, node 0, core: -1
ries kernel: [168074.392186] K8 ECC error.
This was first noticed somewhere at the beginning of January. A DSA member then used the usual HP tools to check whats up, none of it reported an error. There wasn t much of an option left besides waiting what happens in the future. No support would do anything here. Until March we did not have any trouble. But at the 14th of March this changed, as the HP tools now found a serious error, reporting Status: DIMM is degraded for the third DIMM module. A support ticket was opened at this point and a replacement DIMM got sent out. Unfortunately the well known Mr. Murphy did look at this issue and so the wrong thing was sent out to the wrong place. Countdown continued and 10 days later the host decided to randomly lockup. And as HP servers have an Automatic Server Reset function in such cases, the whole machine rebooted. Not only once. Guess how much a filesystem likes such things when the machine is active. And for added fun a second DIMM got reported as broken, we now had DIMM #3 and #4 gone off. A certain ping-pong with HP support later we asked the local admins to take out the broken DIMMs and then also to change the order in which the remaining DIMMs are arranged. Unfortunately this did not help, the errors stayed. At this time we already turned off the services running on the machine and it mostly waited in the HP Insight Diagnostics test from HPs SmartStart CD. (And it always locked itself at 97% here). The support asked us to try another round of work on the machine, which our DSA team and the local admins did. But as it already was the 30th of March and nothing helped, our DSA got a little more direct in asking for a working solution. Like replacing the board and sending a technician to look and fix the machine. This was scheduled for the 1st of April, but turned out to not work as hoped. For some reason the technician was not able to find the board that was sent as replacement (no fault of our local admins!), so nothing happened the 1st of April except us getting a little upset. DSA communicated this to HP support, asking for escalation and finally getting this fixed. Our local admins could at last greet a HP technician on the 2nd of April then and he even had the replacement board with him, so he did his work there. He also confirmed that the two DIMMs mentioned above are faulty. For some reason he did not replace them, but left them outside of the machine. He also left the place without telling the Brown CS staff, so it wasn t the best performance he made. Fortunately the machine was in a working state again, only missing 2 of its DIMMs, 4Gb RAM. This has to be replaced by HP in the next days. When the Brown CS staff found out the technician left without notice they enabled our DSA to access the ilo of the machine again, so they could get the machine back up. Of course the first run was the HP SmartStart stuff again, running a full test. It reported no error, pheeew. There had been a few more steps in getting the settings of the ilo correct again and running a full filesystem check on it, but somewhere in the night the machine was back up and ready for us FTPMasters and Release team to get the services back. As the machine was back up in the middle of the night where I was sleeping, I did start my work somewhere this morning. At 10:25 CEST this started with a md5sum check of all files we have in our pool/ structure, ie. the Debian archive. We had 655k files to check, so it naturally took a while. Luckily we only found 32 broken files. Even better a set of them is already fixed, the rest of them is easily fixable with a set of binnmus the buildd people helpfully schedule, so not too much work involved in fixing this issue. Could have been worse. (Actually, when the first reboots happened, before the long downtime, we also had some broken logfiles, unreadable changes files and such things. But those I already fixed back then). More or less in parallel to the md5sum check we also started the queue daemons again, to let our upload queues from the other hosts forward their files to the central queue on ftp-master, tested the triggers to the new buildd peoples machine and the release team did a britney run. This took the first 5 hours (and a bit) of the process. As a second step, and we are still in this, we started the processing of the incoming queue. Turned out we have to process 10gigabytes of new uploads, in a total of 1285 uploads. This process is still running at the time I write this blog post, having processed about 1100 uploads. A good 9 til 10 hours run, but this was expected. I actually thought it will take even longer. When this is done I will go and have a manual dinstall run. That is, I will run every action a dinstall is usually doing by hand. And verify each step. Usually dinstall takes some 2 hours, manually it can take a bit more. Somewhere during this run a mirror push will also be done, a fairly huge one this time, with all those updates. When this all works I will turn on FTPMaster cronjobs after this dinstall, or at latest tomorrow morning, as usual, and service is back as usual. As far as I know the release team plans to turn on their cronjobs tomorrow morning too, so this will all be nice then. Apropos release: Please note what I wrote in my latest d-d-a mail:
As a sidenote from me: If you have a package that might be involved in
whatever transition to testing, or simply might get involved, it could
really help if you wait a day or two with the next upload, so the
release team can sort through all before you give them new trouble. If
in doubt, try mailing debian-release@lists.debian.org and ask. :)
So, thats it, enough annoyance with all those status bits here and there. I go leave you alone now. :)

31 March 2010

John Goerzen: It s that time of the decade: I m reinstalling Debian

My main home workstation (previously named katherina, after a distant ancestor) was originally bought a few years ago probably 2002 or 2003. Since then, it s had its motherboard upgraded twice, new hard disks, and then even was moved to a completely new machine back in January. Throughout all of that, it s still running the original sid that I put on it when it was new, dist-upgraded since then, copied to new disks via tar and netcat, but never reinstalled. So it s probably been less than my average of 10 years on a given Debian install. But it s time. For one thing, despite the fact that I was one of the people that helped start Debian s amd64 port (then known as the pure64 effort), I ve been running i386 on my 64-bit workstation. For another, I want to switch from XFS to ext4. And finally, it has not escaped my notice that my laptop running Gnome with xmonad feels a lot faster than the far more powerful desktop running KDE4 with xmonad, plus Gnome integrates better with xmonad. And there are some nice gnome bits installed by default that my KDE system doesn t have, and 400 packages installed on my system that are no longer in any archive. I could, of course, clean that stuff up but all this adds up to enough of an excuse to start from scratch. I continue to be very impressed with the quality of squeeze. This will be a very nice release when it comes out.

30 March 2010

David Welton: Where Tcl and Tk Went Wrong

I've been pondering this subject for a while, and I think I'm finally ready to write about it.
Tcl was, for many years, my go-to language of choice. It's still near and dear to me in many ways, and I even worked on a portion of a book about it ( http://journal.dedasys.com/2009/09/15/tcl-and-the-tk-toolkit-2nd-edition ). However, examining what "went wrong" is quite interesting, if one attempts, as much as possible, a dispassionate, analytical approach that aims to gain knowledge, rather than assign blame or paper over real defects with a rose-colored vision of things. It has made me consider, and learn, about a variety of aspects of the software industry, such as economics and marketing, that I had not previously been interested in. Indeed, my thesis is that Tcl and Tk's problems primarily stem from economic and marketing (human) factors, rather than any serious defects with the technology itself. Before we go further, I want to say that Tcl is not "dying". It is still a very widely used language, with a lot of code in production, and, importantly, a healthy, diverse, and highly talented core team that is dedicated to maintaining and improving the code. That said, since its "heyday" in the late 90ies, it has not ... "thrived", I guess we can say. I would also like to state that "hindsight is 20-20" - it's easy to criticize after the fact, and not nearly so easy to do the right thing in the right moment. This was one reason why I was reticent to write this article. Let me repeat that I am writing it not out of malice or frustration (I went through a "frustrated" phase, but that's in the past), but because at this point I think it's a genuinely interesting "case history" of a the rise and gentle decline of a widely used software system, and that there is a lot to be learned. At the height of its popularity, Tcl was up there with Perl, which was the scripting language in those days. Perl, Tcl, and Python were often mentioned together. Ruby existed, but was virtually unknown outside of Japan. PHP was on the rise, but still hadn't really come into its own. Lua hadn't really carved out a niche for itself yet, either. Tcl is no longer one of the popular languages, these days, so to say it hasn't had problems is to bury one's head in the sand: it has fallen in terms of popularity. To examine what went wrong, we should probably start off with what went right: These features led to Tcl being widely used, from Cisco routers to advanced television graphics generation programs to the AOLserver web server, which was busy serving out large quantities of dynamic web pages when many of us were still fiddling around with comparatively slow and clunky CGI programs in Perl. Note also that there have been a lot of cool things to have gone into Tcl in the mean time. It has a lot of impressive features; many more than most people realize, and has had a lot of them for a while. Check out http://www.tcl.tk to learn more about the "good stuff". But that's not the point of this article... There was a healthy, active community of developers producing lots of interesting add-ons for the language, and working on the language itself. This culminated in its adoption by Sun Microsystems, which hired the language's creator, Dr. John Ousterhout, and a team of people, who added a lot of great features to the language. Quoting from Ousterhout's history of Tcl page:

The additional resources provided by Sun allowed us to make major improvements to Tcl and Tk. Scott Stanton and Ray Johnson ported Tcl and Tk to Windows and the Macintosh, so that Tcl became an outstanding cross-platform development environment; Windows quickly came to be the most common platform. Jacob Levy and Scott Stanton overhauled the I/O system and added socket support, so that Tcl could easily be used for a variety of network applications. Brian Lewis built a bytecode compiler for Tcl scripts, which provided speedups of as much as a factor of 10x. Jacob Levy implemented Safe-Tcl, a powerful security model that allows untrusted scripts to be evaluated safely. Jacob Levy and Laurent Demailly built a Tcl plugin, so that Tcl scripts can be evaluated in a Web browser, and we created Jacl and TclBlend, which allow Tcl and Java to work closely together. We added many other smaller improvements, such as dynamic loading, namespaces, time and date support, binary I/O, additional file manipulation commands, and an improved font mechanism. Unfortunately, after several years, Sun decided that they wanted to promote one and only one language. And that language was Java. So Ousterhout and many people from his team decamped to a startup that Ousterhout founded, called Scriptics, where the Tcl and Tk innovations continued:

In 1998, Scriptics made several patch releases for Tcl 8.0 to fix bugs and add small new features, such as a better support for the [incr Tcl] extension. In April 1999, Scriptics made its first major open source release, Tcl/Tk 8.1. This release added Unicode support (for internationalization), thread safety (for multi-threaded server applications), and an all-new regular expression package by Henry Spencer that included many new features as well as Unicode support.
However, as many a company based around open source was to find later, it's a tough space to be in. Scriptics changed its name to Ajuba, and was eventually sold (at a healthy profit, apparently, making it a relative dot com success story, all in all) to Interwoven, for the "B2B" technology that Ajuba had developed. Interwoven was not interested in Tcl, particularly, so, to create a system for the ongoing development and governance of the language, the "Tcl Core Team" was created. This was something of a blow to Tcl, but certainly not fatal: Perl, Python, Ruby, PHP, Lua have all had some paid corporate support, but it has by no means been constant, or included large teams. At the same time in the late 90ies, open source was really starting to take off in general. Programmers were making all kinds of progress, and had begun to make Linux into what is today the world's most widely used server platform, and laying the groundwork for the KDE and Gnome desktops. While these may still not be widely used, they are for the most part very polished systems, and leaps and bounds better than what passed for the 'Unix desktop' experience in the 90ies. One of the key bits of work that was added to Tk was to make it look pretty good on Microsoft Windows systems. This was in an time when the "enterprisey" folks were turning away from Unix in the form of AIX, Solaris, HPUX, et al. and taking up NT as the platform of choice, so it was in some ways sensible to make Tk work well there, and in any case as a cross platform GUI toolkit, it ought to work well there in any case. And, on the Unix side, Tk emulated the expensive, professional Motif look and feel that serious Unix programmers used. What could go wrong? As Gnome and KDE continued to mature, though, what would become one of Tk's major (in my opinion) marketing blunders took root. I have it on good authority, from someone who was there in the office, that the Scriptics guys working on Tcl and Tk viewed Gnome and KDE (and the Gtk and Qt toolkits) as not really worth their while. To be fair, since Tk has always been under a liberal BSD style license, the Qt toolkit has always been "off limits". Still, though, the attitude was that Tk was a standalone system, and since it ran on pretty much any Unix system, it didn't need to bother with Gnome or KDE. Gradually, though, as more and more people used Gnome and KDE exclusively on Linux, the Tk look and feel began to look more and more antiquated, a relic from the 1990ies when Motif (which has since pretty much disappeared) was king. Tk applications started to really stand out by not looking at all like the rest of the operating system. And, while Linux may not be responsible for a vast portion of the world's desktops, it is widely used by developers, who were turned off by the increasingly creaky look of the Tk applications they saw. Tk is and was actually a fairly flexible system, and it would have been possible to tweak the look and feel to make it look a bit better on Linux, without even doing any major work. Maybe not perfect, but certainly better looking. Nothing happened, though. Another problem was that Tk and Tcl made it so easy to create GUIs that anyone could, and did, despite, in many cases, a complete lack of design skills. You can't particularly blame the tools for how they're used, but there was certainly a cultural problem: if you read most of the early Tcl and Tk books, and even many of the modern ones, there are hundreds of pages dedicated to exactly how to use Tk, but few to none explaining even basic user interface concepts, or even admonitions to the user to seek out that knowledge prior to attempting a serious GUI program. The end result is that a lot of Tk programs, besides just looking "old fashioned" had fairly poor user interfaces because they were made by programmers who did not have a UI/design culture. Contrast that with Gnome and KDE, which have made a point of focusing on how to make a good GUI for their systems, complete with guidelines about how applications should behave. It may have taken them some time to get things right, but they have done a lot to try and instill a culture of creating high quality, well-integrated GUI's that are consistent with the system where they run. Lately, there has been a lot of work to update the Tk look and feel, and it has finally started to bear fruit. However, in terms of marketing, the damage has already been done: the image of "old, crufty Tk" has been firmly planted in countless developers' minds, and no amount of facts are going to displace it in the near future. Another problem Tcl faced, as it grew, was the tug-of-war between those wishing to see it small, light, and easy to distribute embedded within some other program, and those wishing it to become a "full-fledged" programming language, with lots of tools for solving every day programs. Unfortunately, that tug of war seems to have left it somewhere in the middle. Lua is probably more popular these days as an embedded language, because it is very small, and very fast, and doesn't have as much "baggage" as Tcl. Meaning, of course, that it doesn't do as much as Tcl either, but for a system where one merely wishes to embed a scripting language, without much 'extra stuff', Tcl's extra functionality is perhaps a burden rather than a bonus. On the other hand, while Perl was happily chugging along with their CPAN system for distributing code, giving users easy access to a huge array of add-on functionality, and Python was building up a "batteries included" distribution, that included a lot of very useful software straight out of the box. Tcl, on the other hand, chose to keep the core distribution smallish, and only lately has got some semblance of a packaging and distribution system, that is, however, run by ActiveState, and is (at least according to a cursory glance at the Tcl'ers wiki), not even fully open source. The lack of a good distribution mechanism, and, in the meantime, eschewing a larger, batteries-included main distribution left Tcl users with a language that, out of the box, did significantly less than the competition. Technically, a Python style "big" distribution would not have been all that difficult, so once again, I think this is a marketing problem: a failure of the Tcl Core Team to observe the "market", assess what users needed, and act on it in a timely manner. Somewhat related to the large Tcl vs small Tcl issue was one particular extension, or extensions to the language that was noticeably absent: a system for writing "object oriented" code. Tcl, at heart, will never be an OO language through and through, like Ruby or Smalltalk, but that doesn't mean that an OO system for it is not a useful way of organizing larger Tcl systems. Indeed, Tcl's syntax is flexible enough that it's possible to write an OO system in Tcl itself, or, optimizing for speed, utilizing the extensive C API in order to create new commands. Over the years, a number of such systems have arisen, the most well-known being "Incr Tcl" (a play on the incr command, which is akin to += 1 in languages like C). However, none of these extensions was ever included with the standard Tcl distribution or somehow "blessed" as the official OO system for Tcl. This meant that a newcomer to Tcl wishing to organize their code according to OO principles had to pick a system to use from several competing options. And of course, newcomers are the least able to judge a complex feature like that in a language, making it a doubly stressful choice. Furthermore, even experienced Tcl programmers who wanted to share their code could not utilize an OO system if they wanted their code to work with just standard Tcl. Also, if their code had a dependancy on some OO system, it would require the user to download not only the extension in question, but the OO system it was built on, which, naturally, might conflict with whatever OO system the user had already selected! As of Tcl 8.6, thanks to the work of Donal Fellows, Tcl is finally integrating the building blocks of an OO system in the core itself, but this effort is probably something like 10 years too late. Some other more or less minor things that have taken too long to get integrated in the Tcl or Tk distributions include the PNG format (still not there in a production release of Tcl), a readline-based command line (Tkcon is nice, but not a replacement for simply being able to type "tclsh" and get a nice, functional shell like Python, Ruby and most other languages have. This could easily lead to a bad first experience for someone trying out Tcl). Tcl also took too long to integrate a first-class hash type (accessed with the 'dict' command), which only appeared in 8.5. Its "arrays" aren't bad, but don't quite have the full power of a hash table as dict implements them. Once again, the code to do these things was/is out there, it has just been a matter of integrating it into Tcl and Tk, which has been a slow process. One actual technical problem that Tcl faces is the concept that all values must be representable as a string. This is more or less ok for things like lists, hash tables or numbers, but is problematic when the user wishes to represent a value that simply isn't a string. A basic example is a file handle, which at the C API level is a FILE*. How does Tcl get around this? It keeps an internal hash table with a Tcl-script accessible string, such as "file5" that points to a FILE * value that is used internally by file commands. This works pretty well, but there is a big "but": since you can compose a string like "file5" at any time, that must be able to access the actual file pointer, you can't do any sort of "garbage collection" to determine when to clean things up automatically. Other languages have explicit references to resources, so the program "knows" when a resource is no longer referenced by the rest of the program, and can clean it up. Therefore, the programmer must explicity free any resources referenced this way. This explanation is simplifying things somewhat, but it is something I view as a technical problem with Tcl. If you've been following along, you've noticed a lot of "these days" and "recently". That's because Tcl is still very actively developed, with a lot of new ideas going into it. However, if you look at the release dates, it seems that after Ajuba was sold off, and Ousterhout pretty much abandoned an active role in the language for good, placing it in the hands of the Tcl Core Team, there was a lull in the momentum, with Tcl 8.5 taking 5 years to be released. This is actually, in my opinion, an interesting phenomenon in languages: you risk hitting some kind of local maximum when your language is popular enough to have a lot of users who will be angry if things are changed or accidentally broken in the course of big upheavals. So you have to slow down, go carefully, and not rock the boat too much. On the other hand, there is an opportunity cost in that newer languages with less to lose can race ahead of you, adding all kinds of cool and handy new things, or simply fix and remove "broken" features. Erlang is another system that has, in my opinion, suffered from this problem to some degree, but this article is long enough already! Once again, though, not really a technical issue, but a problem with how the code was managed (and not an easy one to solve, at that). A Tcl failure that I was personally involved with was the web infrastructure. What went on to become Apache Rivet was one of the first open source Apache/Tcl projects, and was actually quite a nice system: it was significantly faster than PHP, and of course made use of Tcl, which at the time had a large library of existing code, and could be easily repurposed for projects outside the web (or the other way around: non-web code could be brought in to a web-based project). One thing I ought to have done differently with the Apache Rivet project was listen to the wise advice of Damon Courtney, my "partner in crime" on the project, who wanted to see Apache Rivet have a fairly "fat" distribution with lots of useful goodies. Rails and Django, these days, have shown that that's a sensible approach, rather than relying on lots of little extensions that the user has to go around and collect. The code was out there, I should have helped make Rivet do more "out of the box". A problem that is and it isn't: the syntax. Tcl's syntax is amazingly flexible. Since everything is a command, you can write new commands in Tcl itself - and that goes for control structures, too! For instance, Tcl has a "while" command, but no "do ... while". It's very easy to implement that in Tcl itself. You simply can't do that in most "everyday" languages. However, this comes at something of a "cost". The syntax, for your average programmer who doesn't want to go too far out of their comfort zone, is perhaps a little bit further afield from the C family of languages than they would prefer. Still though, a "human" problem, rather than a technical one. Perhaps, sadly, the message is that you'd better not "scare" people when introducing a new language, by showing people something that doesn't look at least a little bit familiar. Conclusions? First and foremost, that, gradually, Tcl and Tk continue to be improved. However, if one visits developer forums, there are also a lot of negatives associated with the Tcl and Tk "brands", and I am not sure if it will be possible to rectify that. So what can we learn from the rise and subsequent "stagnation" of Tcl?

28 March 2010

Antti-Juhani Kaijanaho: Coloring line art in the Gimp, and some other stuff

I have written a tutorial on how to produce colored comic strip from script to finished image, using pencils, ink, paper, scanner, and the Gimp. It, of course, suffers from the fact that I am myself fairly new to this stuff, but there it is. I hope someone finds it useful.
Drawing a speech bubble

Drawing a speech bubble

27 March 2010

Russell Coker: How to Choose a Free Software Mission

Jane McGoningal gave an interesting TED talk about how Online Gaming can Make a Better World [1]. One of her points is that there is no unemployment in games such as World of Warcraft, there is always a world saving mission available to you which is just within reach of your skill level and no-one is assigned a mission that they can t possibly do. It seems to me that the free software development community has a similar issue, there are always missions available at all skill levels. Our challenge is to find ways to encourage people to accept the missions and to provide them appropriate levels of support to encourage them on their path to an epic win . Choosing a suitable mission is a particularly difficult problem as you often don t know how difficult a task will be until you are more than half complete. Jane makes points about humans being happier when working hard and a desire for epic meaning . She says that it s a problem that gamers believe that they can change a virtual world but not the real world . If you change the virtual world of software development then that changes the real-world . Jane cites Herodotus as reporting a kingdom that was gripped in a famine for 18 years where the king instituted a policy of playing games and eating on alternate days with the aim being that the games would distract people from their hunger. I m sure that I m not the only person who s gone without food or water for a day because of being too busy coding She has a lot of other interesting points and I recommend that you read the Institute For The Future [2] web site for more background information. Now my question is, how can we encourage programmers to start doing Free Software and Open Source development and achieving some Epic Wins? I don t claim to have good answers and I would appreciate any suggestions. If you blog about this please leave a comment on this post to direct readers to your blog.

26 March 2010

Jan Hauke Rahm: I got to get a life, I guess

I just had a nice talk with dpkg, yeah right, the bot The cracy thing is, that conversation made the most sense of my day. So, here it goes: 23:50 <jhr> hi!
23:50 <dpkg> hi
23:50 <jhr> how are you?
23:50 <dpkg> pretty good. how about you?
23:50 <jhr> I suppose it s going well
23:51 <dpkg> i haven t a clue
23:51 <jhr> how would you? it s my life!
23:51 <dpkg> I give up, what is it?
23:51 <jhr> oh, busy? I m sorry, didn t wanna annoy you
23:51 <dpkg> I don t know, could you explain it?
23:52 <jhr> uhh annoyance well, that s like when you have a girl friend that always just talks about makeup, you know?
23:52 <dpkg> You are person #2 to send an unparseable request
23:52 <jhr> oh, you already know my girl friend?
23:52 <dpkg> I resemble that remark!
23:52 <jhr> fuck yeah
23:52 <dpkg> wish i knew
23:52 <jhr> oh well, let s cut to the chase
23:53 <dpkg> no idea
23:53 <jhr> but I do
23:53 <dpkg> no idea
23:53 <jhr> why aptitude?
23:53 <dpkg> aptitude has more advanced conflict/dependency resolution and will often find a solution where apt-get gives up. It can be used from the command line like apt-get plus an interactive resolver makes it much easier to recover from broken dependencies. It has advanced search capabilities (see <aptitude search>).
23:53 <jhr> I see
23:53 <dpkg> I see, said the blind man.
23:53 <jhr> haha
23:53 * dpkg laughs!! that s funny jhr!
23:53 <jhr> you re weird
23:53 <dpkg> wish i knew
23:54 <jhr> thanks a lot!
23:54 <dpkg> my pleasure

Sandro Tosi: I'm going to Pycon Italia 4

Yep, I'll be there this year too (sadly I can't say it's my fourth time, since I missed Pycon1).

I'm not that excited about the proposed talks, hey we don't need that much of Django :) I hope the invited speakers will surprise me, I'm confident the organization will do that.

See ya there!

24 March 2010

Theppitak Karoonboonyanan: The Mini-DebCamp in Khon Kaen

So, Thailand Mini-DebCamp 2010 in Khon Kaen has already ended. It's another memorable event I've joined, and especially for this one, been in the organizing team. We owed many people for its success. I'd like to thank our guest DDs for their talks, many of which are improvised. Special thanks to Paul Wise and Yakiharu Yabuki for preparing the talks on Debian Social Contract and Debian packaging in one night, so our audiences can prepare themselves for the Bug Squashing Party in the next 3 consecutive days. Thanks Paul Wise, Andrew Lee, Yakiharu Yabuki, Daiki Ueno, Christian Perrier and our local participants for their efforts in tackling more than 50 bugs during the BSP, 30 of which have been closed and 14 with proposed patches. Thanks Christian Perrier for several talks in the last two days. We also had Andrew Lee's talk on Debian EzGo project, along with talks from our local distro developers (Linux SIS, Linux TLE) on what are being worked on and what can be pushed into Debian. And Neutron Soutmun had presented some future plan on the RahuNAS, a captive portal software based on Debian. A special agenda had been arranged to improve Debian mirroring in Thailand. Chatchai Jantaraprim, the ftp.th.debian.org maintainer, had shared us the backgrounds and motivations behind the official mirror setup for Thailand. Andrew Lee, the ftp.tw.debian.org maintainer, had introduced us to the Debian mirroring infrastructure, and encouraged the local mirror Debian mirror maintainers to do it Debian way. We had exchanged experiences and problems found among the current mirror sites, which can be much useful for their improvements, as well as cooperation in the future. Christian Perrier had also introduced us to the Debian translation workflow and how to coordinate translation via mailing list. This can be useful in the future for Thai if we can form a team, rather than a single-handed translation as present. Christian's talk on Debian contribution paths, along with their fresh hands-on experience in the BSP, had indeed motivated many local people to join Debian. I've been told by some people that they wanted to actually join Debian after this event, after just having a wish to do so for a long time. And Christian's yet another talk on key signing, with live demonstration, was really helpful for Thai audiences, as few of us were familiar with the concept and practice. Yes, taking care of PGP key does require special cares! Night chats and parties were also cool. We enjoyed the drinks (especially, Debian wine!), snacks, and chats together, and exchanged many stories. For me personally, it made me feel Debian as a live community, with people living in it. For the record, we even had a real bug squashing party, as fried bugs are among well-known Esaan dishes. And we had immediately got new voluntary vegetarians because of it! Hee hee.. Hello Christian, I witnessed it. ;-) And thumbs up to Yabuki for his bravery! Yes, it's a wonderful event for me indeed. Thanks Khon Kaen University (Kitt Tientanopajai et. al.) for hosting it. Thanks NECTEC Information and Mobile Applications Program and Science Park KKU for the financial support. Thanks NECTEC people for taking care of foreign participants in traveling between Bangkok and Khon Kaen. And thanks all participants for their contributions to make this event a great one! Picture credits: Supphachoke Suntiwichaya, DebConf Gallery

23 March 2010

Dirk Eddelbuettel: RInside release 0.2.2

The shiny new 0.2.2 release of RInside has just been uploaded to CRAN; it should hit mirrors tommorow. Sources are also at my RInside page. RInside is a set of convenience classes to facilitate embedding of R inside of C++ applications. It works particularly well with Rcpp and now depends on it. This is the first release since version 0.2.1 in early January. Romain and I made numerous changes to Rcpp in the meantime. With this release, RInside is starting to catch up by taking advantage of many new automatic (templated) type converters. We have updated the existing examples, and added several new ones. These are all visibile directly via the Doxygen-generated documentation under the Files heading. Two examples are also shown directly on the RInside page. Also added are new examples showing how to use RInside to embed R inside C++ applications using MPI for parallel computing. This was contributed via two examples files by Jianping Hua, and we reworked the examples slightly (and added two variants that use MPI's C++ API). As it is so short, here is the basic 'Hello, World' example now showing the simpler Rcpp-based variable assignment:
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4;  tab-width: 8; -*-
//
// Simple example showing how to do the standard 'hello, world' using embedded R
//
// Copyright (C) 2009 Dirk Eddelbuettel
// Copyright (C) 2010 Dirk Eddelbuettel and Romain Francois
//
// GPL'ed
#include <RInside.h>                    // for the embedded R via RInside

int main(int argc, char *argv[])  
    RInside R(argc, argv);              // create an embedded R instance
    R["txt"] = "Hello, world!\n";	// assign a char* (string) to 'txt'
    R.parseEvalQ("cat(txt)");           // eval the init string, ignoring any returns
    exit(0);
 
One minor setback is that the examples currently segfault on Windows. That may be an issue with linking and class instantiation or something related. Romain and I focus much more on Linux and OS X, so this has not gotten a lot of attention. Debugging help would be appreciated.

21 March 2010

Alejandro Rios P.: MiniDebconf at Panama (day Three)

Today is the last day of this conference, which has been a great experience of interaction between Central America and Caribbean communities. Yesterday we had packaging, BTS, kernel, pbuilder and quilt related talks. We also expanded the web of trust with a key signing party with almost 30 participants. Even a BoF about people interested in VoIP was held before going downtown to share some beers :)

This morning we had talks about hands on maintaining and translation tasks, we had also a group photo, and a quick visit to the Panama Canal.

Although it has been hard for me to and others to identify common areas of interest towards future work in Debian, it seems to me that these could be centered around l10n and i18n issues, along with packaging and digital inclusion projects.

20 March 2010

Maximilian Attems: New klibc release 1.5.17

Not only fixes ipconfig regressions due to fixes in 1.5.16, but ipconfig should no longer discard useful packages. We also fixed a long standing klibc sparc specific socket bug (#444087): sparc lists socket system calls, but does not provide all of them natively. So one is better off on sparc to use sys_socketcall. Thanks to Jan Hauke Rahm the packaging switched to modern Source Format 3.0 (quilt) with debhelper 7 usage reducing cdbs overhead on build. This is a big switch and makes me very happy. New addition include a $(make help) target in Makefile to ease klibc build. A small losetup got added to klibc-utils. i386 and sparc build fine against current linux-libc-dev: klibc-1.5.17 released
P.S.: New outfall seem to include armel and s390 due to libgcc changes.
Update: Seems only a small packaging error due to test target invocation, should be fixed in 1.5.17-3.

Alejandro Rios P.: MiniDebconf at Panama (day Two)

Yesterday began the central america and caribbean MiniDebconf at Panama. Over 50 people from Mexico, Belice, Nicaragua, Guatemala, Costa Rica, Salvador, Colombia and Venezuela, among others, are here to share experiences around Free Software and Debian contributions. All this is possible to several sponsors from Panama and SPI, and the hard work from many people, specially Anto Recio, Mauro Rosero, Carolina Flores, Gunnar Wolf and the local team.

More info(in spanish), including live streaming url can be found on: http://softwarelibre.ca/wiki/MiniDebconf2010

update: Also, on a personal note, I'll take the chance of this event to start my transition to a stronger gpg key, so If you have signed my old one, please take a look at: http://people.debian.org/~alerios/key-transition-2010-03-20.txt

19 March 2010

Ren&#233; Mayorga: MiniDebConf Panam 2010

Finally, after almost 6 months of planing, this event is coming and will be start tomorrow, this is really great, There was a first attempt, and an idea to do a local(central-america based) Debian gathering on 2007 IIRC, now it will happen :) (almost 3 years later and at the same country). There was a lot of things that actually change since the fitst attempt, now Central-america has a more strong FLOSS Community, and now this event is possible, and it will happen this weekend yay! I really need to say thanks to Anto, Mauro Rosero, David, Caro and Gunnar, but I realize that doing all the orga stuffs was hard, I was quite involved since January, and I really say that you need a lot of work and energy to make a small event like this happen, but right now while I still sitting at home trying to finish to prepare my talks I realize that there was a lot of hard work put on this from everyone, and I m really happy to attend this gathering, also I hope that this event do something good on the local FLOSS people, since we have quite nice people here, but they are afraid to contribute, this is the chance to work together and push a bit to get more contributors from central-america.

17 March 2010

Gustavo Noronha Silva: WebKitGTK+ 1.1.90 is out!

We re coming close to GNOME 2.30 release date, and we are getting ready to branch a stable release off of WebKit s svn trunk in preparation for that. The idea of the stable branch is to try to maintain, and improve stability, with no additional features going in. Speaking of features, though, if you ve been paying attention you will have noticed WebKitGTK+ has come a long way, now. We came from not having basic features such as download support or openning links in new tabs, a more-or-less working HTML5 media implementation, and very few or missing in action developers to a thriving project, that gets more, and more attention, and contributors every day, with advanced features available, and rocking HTML5 media support that leaves little to be desired. It s been just over one year since we started rolling mostly bi-weekly releases, each adding more awesome features. There are still many issues, and we are not always equipped as a team to handle all the specifics of the engine ourselves, but I am really happy with the progress we ve made, and really thankful for the support my employer Collabora has given all the way for this to happen, including the early work on plugins, and many other things before my time as a contributor. When I switched to using Epiphany with the WebKit backend as my default browser back in January 2009, that meant having to deal with a whole lot of misbehaviour, and work-around a lot of painful brokeness. These days I enjoy a snappy, functional browser that makes me happy. If you haven t done so yet, go download, and test the newest Epiphany, with the latest WebKitGTK+, and help us make the GNOME 2.30 s web browser rock even more!

13 March 2010

Lucas Nussbaum: RC bugs of the week

I just couldn t resist I joined the game, but did it the other way around. I could only file 51 new FTBFS (Fail To Build From Source) bugs this time. Looks like Squeeze is getting closer! I ve also been doing rebuilds of Ubuntu lucid. There are currently 561 packages that fail to build from source in lucid/amd64, versus 430 in sid/amd64 (I will start rebuilding squeeze instead of sid after the freeze). Surprisingly, only 131 packages fail in both. I would have expected that number to be much higher. The 51 new FTBFS bugs:
#573648: gnome-chemistry-utils: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573649: /api/package-list is no longer compressed
#573650: /api/package-list is no longer compressed
#573651: virt-top: FTBFS: configure: error: Cannot find required OCaml package extlib
#573652: heartbeat: FTBFS: Nonexistent build-dependency: libcluster-glue-dev
#573653: abiword: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573654: helium: FTBFS: Makefile: hGetLine: invalid argument (Invalid or incomplete multibyte or wide character)
#573655: mlton-cross: FTBFS: /bin/sh: wget: not found
#573656: pytest-xdist: FTBFS: ImportError: No module named setuptools
#573657: libfile-fu-perl: FTBFS: tests failed
#573658: libphysfs: FTBFS: docs/man/man3/PHYSFS_addToSearchPath.3: No such file or directory at /usr/bin/dh_installman line 127.
#573659: ecl: FTBFS: rm: cannot remove /build/user-ecl_10.2.1-1-amd64-S2bazb/ecl-10.2.1/debian/ecl/usr/share/info/dir : No such file or directory
#573660: /api/package-list is no longer compressed
#573661: libdbix-class-schema-loader-perl: FTBFS: tests failed
#573662: /api/package-list is no longer compressed
#573663: libthai: FTBFS: /usr/bin/install: cannot stat ./../doc/man/man3/th_render_text_tis.3 : No such file or directory
#573664: /api/package-list is no longer compressed
#573665: hunspell-dict-ko: FTBFS: build hangs
#573666: plexus-active-collections: FTBFS: missing junit:junit:jar:debian
#573667: nuapplet: FTBFS: Can t find gnutls library developpement files!
#573668: binutils-z80: FTBFS: /bin/sh: cannot open /build/user-binutils-z80_2.20-3-amd64-MwJBIl/binutils-z80-2.20/binutils-2.20.tar.bz2: No such file
#573669: keynav: FTBFS: keynav.c:799: error: too few arguments to function xdo_mousemove
#573670: moblin-panel-applications: FTBFS: moblin-netbook-launcher.c:1640: undefined reference to mx_scroll_view_get_vscroll_bar
#573671: tetradraw: FTBFS: /bin/bash: line 1: automake-1.7: command not found
#573672: beid: FTBFS: rm: cannot remove _src/eidmw/bin/eidmw_*.qm : No such file or directory
#573673: swfdec-gnome: FTBFS: Nonexistent build-dependency: libswfdec-0.8-dev
#573674: swfdec-mozilla: FTBFS: Nonexistent build-dependency: libswfdec-0.8-dev
#573675: jasmin-sable: FTBFS: Error: JAVA_HOME is not defined correctly.
#573676: corosync: FTBFS: Depends field, reference to libcorosync4 : error in version: version string is empty
#573677: banshee-extension-mirage: FTBFS: ./PlaylistGeneratorSource.cs(469,39): error CS0539: Banshee.PlaybackController.IBasicPlaybackController.Next in explicit interface declaration is not a member of interface
#573678: gnucash: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573679: libwx-perl: FTBFS: xvfb-run: error: Xvfb failed to start
#573680: /api/package-list is no longer compressed
#573681: fso-usaged: FTBFS: fsobasics-2.0.vapi:110.2-110.84: error: FsoFramework already contains a definition for AsyncWorkerQueue
#573682: libiscwt-java: FTBFS: Nonexistent build-dependency: libswt-gtk-3.4-java
#573683: nordugrid-arc-nox: FTBFS: ld: cannot find -larccrypto
#573684: cssc: FTBFS: rm: cannot remove /build/user-cssc_1.2.0-1-amd64-XCK7aQ/cssc-1.2.0/debian/cssc/usr/share/info/dir* : No such file or directory
#573685: django-threaded-multihost: FTBFS: distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse( setuptools-hg )
#573686: /api/package-list is no longer compressed
#573687: davical: FTBFS: /bin/sh: phpdoc: not found
#573688: gauche-gtk: FTBFS: gauche-gtk.c:450: error: too few arguments to function Scm_Apply
#573689: quilt: FTBFS: tests failed
#573690: pyabiword: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573691: flumotion: FTBFS: configure: error: You need at least version 2.0.1 of Twisted
#573692: libnet-dns-zone-parser-perl: FTBFS: tests failed
#573693: nip2: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573694: hedgewars: FTBFS: Error: Illegal parameter: -Nu
#573695: epsilon: FTBFS: FAILED (skips=5, expectedFailures=1, errors=7, successes=229)
#573696: python-glpk: FTBFS: Unsatisfiable build-dependency: libglpk-dev(inst 4.43-1 ! <= wanted 4.38.999)
#573697: libnanoxml2-java: FTBFS: cp: cannot stat /usr/share/doc/default-jdk-doc/api/package-list.gz : No such file or directory
#573698: doxia-maven-plugin: FTBFS: Reason: Cannot find parent: org.apache.maven.doxia:doxia

10 March 2010

Jan Hauke Rahm: Re: Patience, my young padawan

Thanks! PS: Things like that shouldn t be a problem :-)

John Goerzen: Numerous Updates

It s been awhile since I ve posted some family/home updates, so here they are, sorta random-like Jacob is 3.5 now, and Oliver is about 8 months old at this point. Jacob Jacob has a few trends going on lately: pretending to be a cat, and inventing new games to play. He has one game he likes to play with me called tunnels and slippers. He will have me sit on the couch, put my feet up on the footstool, and crawl on top of my legs. He ll want me to bounce him, then he can crawl underneath the tunnel. The slippers part came because he started to steal my slippers one time during winter. He d struggle furiously to get it off, then shriek with delight as he ran away, listing to my indignation at having a cold foot now. Then I was supposed to run after him, pick him up in the air, and get the slipper back. Here he is, trying to steal a slipper while I happened to be holding a camera: img_2345.jpg He s said quite a few memorable quotes this winter: Dec. 8: Jacob looked outside this morning and yelled, WOW! Look at that! , ran across the room and yelled, MOM! WOW! There is snow outside this window too! WOW! Snow is ALL OVER THE PLACE! January: When told his grandparents were going back to Indiana: The kitty doesn t like that. (the pretending to be a cat thing) The next morning when he remembered they were gone: Oh. My kitty is so very sad now. February: My name is kitty. Jacob Cat! March: I didn t realize the basketball could go so far! He s been starting to make his first attempts at sounding out words. He s been interested in 2- and 3-digit numbers, trying to figure out how to tell time, and asking me the German words for all sorts of things. (And showing some disappointment with my German vocabulary.) Jacob talks about Oliver as a sweet baby, and is often very caring about him. Jacob wants to make sure Oliver has *plenty* of toys. Though there have been some times when Jacob has pushed Oliver over. Here s the Christmas photo of the two of them: img_2367r And another: img_2357.jpg Jacob has also started to pick up an interest in singing: his favorite song is one that he made up, and it goes Engine, engine, passenger car I still sing a song to Jacob at bedtime each night, but Home On the Range doesn t cut it anymore. No, now I have a make up a song on the spot on a topic of Jacob s choosing each night. Last night he chose a song about the ceiling light and the smoke detector. Other nights, it s been about his toy butterfly, his night light, various smoke detectors (that s a popular one), or something from his day. Oliver img_2371.jpg Oliver recently has started being able to sit up by himself. He can also scoot all over the room. I think he s saying dad , but Terah disagrees and thinks he s just babbling. Her case wasn t helped the day I asked him, Are you saying Dad? He got a big smile after the question and laughed at me. He loves playing peek-a-boo, playing with us or playing by himself. Oliver has been eating the mashed-up baby food for awhile. Terah recently gave him a rice puff, and he put it in his mouth but wasn t sure what to do with it. He has been taking quite an interest in watching the rest of us eat, though, and sits at the table with us in his high chair.

8 March 2010

Vincent Sanders: Music hath charms to soothe a savage breast, to soften rocks, or bend a knotted oak.

Since I last mentioned music back in January I have accumulated another ten albums and unlike last time where there were only a couple of stand outs, this time I have he opposite problem.

The unordered list:

Justin Sandercoe - "Small town eyes"

I am learning to play the guitar, I have been using Justins' course, it is very very good, this album? Also very good. If you like melodic guitar lead music with varied influences this is for you. A couple of tracks made me immediately think of some Crowded House riffs (which is not a bad thing). Only minor niggle is the uneven levels on some of the louder pieces, but it really is a minor observation on an otherwise fine first album.

Molly Lewis - "I made you a CD, but I eated it."

Although this is only a short selection of original material from Molly, it is a very promising first album. I really like her voice and although a ukulele is not generally the most well respected of instruments, in her hands, it has an odd charm. This album is available from DFTBA records.

Rhett and Link - "Up to this point"

A pair of talented comedians who use music very effectively to highlight their humour. I originally stumbled across them on youtube and decided to take a punt. The album is 27 short pieces which fit together surprisingly well. Difficult to categorise but think a cross between Flight of the Choncords and Jonathan Coulton with a dash of youtube immediacy.

They Might Be Giants - "Flood", "Apollo 18" and "John Henry"

Strictly a replacement of the old tapes which have completely disintegrated in the intervening couple of decades since first purchased. Flood is still one of my favourite albums ever, certainly in my top 10. If you do not know them TMBG are just ace, please try their music!

Seasick Steve - "Started out with nothin and i still got most of it left"

Well its a kinda fun album primarily based on blues electric "guitar" (some of the instruments are little more than a stick with a nail in and a guitar pickup.) Nothing bad, easy to get along with, definitely worth a listen.

La Roux - "La Roux"

This synth pop album was on remainder in ASDA and I took a gamble. Its OK I guess and for 3quid I cannot really complain.

Red Hot Chili Peppers - "By the way"

Not their best, but competent enough.

Aqua - "Aquarium" , "Aquarius"

Um...yes, I have a soft spot for 90's cheese OK? Nothing more than a gross self indulgence of my silly side. But they are fun ;-)


So that is my new music since January all 166 tracks of it . Most of it pretty good, certainly no lemons (well aside from the Aqua but that is supposed to be silly!)

Oh and The XX has really grown on me from last time and I am looking forward to their next release.







Next.

Previous.