Search Results: "nate"

25 August 2006

Clint Adams: The hats were made in Nicaragua, really.

Numerous professional fields have codes of ethics. Numerous individuals have their own personal casuistries which can manifest themselves in structured expressions of moral or ethical belief. For example, the bellicose snake cuddlers of the Martym Waste pledge that they will never bet against their own snakes in any cuddle matches. Permitting such behavior would be prone to abuse, as the cuddler would be tempted to cruelly withhold love from the snake in advance of the cuddle match, thereby sabotaging the cuddle balance. In Framingham, Massachussetts, there's a girl who refuses to buy soap made from fish fat; only the pork-based soaps are acceptable to her. The reasoning for this is irrelevant. The American medical industry has many ethical rules, and the American pharmaceutical industry does not. Lawyers have to behave in certain ways with regard to their clients. The American Psychological Association has ethical principles. In the area of experimentation, some principles are shared with the medical industry: informed consent, for instance. For non-professionals, this is not an issue, and you will see laymen performing experiments on unwitting persons all the time. I once saw someone announce that she found Panama hats irresistably sexy. She thought it would be fun to lie to see whether or not anyone would wear Panama hats the next day. A few people did. She laughed and called them pathetic losers. For a legitimate psychologist, this would be improper behavior; the victims of the experiment did not give informed consent. For her, apparently, there is nothing objectionable in this behavior. Another important precept is the post-experiment debriefing. One may assume that an experiment is just a one-off thing and if things don't work as planned, one can just move on and try something new. Unfortunately, social experiments can cause irreparable harm to the participants, which is why the experimenters take precautions to avoid harm throughout the experiment, and do damage control as part of the debriefing if the preventative measures have failed. For the Panama hat girl, there is no obligation for avoidance of harm, debriefing, or cleaning up any mess she might have caused. Perhaps karma or ill will will bite her in the ass. Perhaps not. Fortunately, people do not submit to whimsy and perform social experiments without thinking through the potential consequences very, very carefully. Under other conditions, the world might be a place of distress, and sociology books might be more than 4 pages thick.

23 August 2006

Martin F. Krafft: Urgent Warning!

A dangerous virus is being passed electronically, orally, and by hand, and has been for many years. Recent advances in science have finally lead to its identification: This virus is called Wicked Overarching Recreational Killer (WORK). If you receive WORK from any of your colleagues, your boss or anyone else by any means DO NOT TOUCH OR COME NEAR IT. This virus will wipe out your private life completely. Should you come into contact with WORK, immediately take your friends to the nearest bar and consume any of the proven antidotes:
  • Worm Incubating Neutralisation Elixier (WINE)
  • Besieged Employee Entertainment Revitaliser (BEER)
In addition, any form of large-scale Bothersome Oppressive, Or Zealous Employer (BOOZE) elimination is known to work as well. If possible, combine the above for increased rate of success. Also, take the antidotes repeatedly until WORK has been completely eliminated from your system. This message brought to you by the Ministry of Health, your local barman, and the joy of mass emails.

Wouter Verhelst: Accept to gettext

In 2003, I needed to write a PHP site that would need to be internationalized, and decided to use gettext() for this purpose. While PHP has proper support for gettext, it unfortunately does not have any builtin way to easily convert the data in the Accept-Language and Accept-Charset HTTP headers into something that can be understood by gettext. So I sat down, and over the course of an afternoon, I wrote 83 lines of PHP code (excluding comments) that would do just that: parse the above two headers, and return a gettext string which represents the best match out of a set of strings specified. It's pretty easy in use, and was written quite generically, so I put a GPL tag on top of it, put it online, added a comment to the documentation of the gettext stuff in the PHP manual advertising the URL, and stopped thinking of it. The project that I wrote this file originally for eventually wasn't even finished; today, I don't even recall what it was. In early 2005, I received a mail from Matthew Palmer thanking me for the code, and telling me that he'd incorporated it in IRM of which he's part of the development team. Which reminded me of its existance. For a short while. Today, I was cleaning out my INBOX, and stumbled upon this old email again. Which got me curious, so I started googling for those 83 lines of code that I'd entrusted to the Free Software world three years ago. I must say I'm pleasantly surprised. My file accept-to-gettext.inc seems to be used in a variety of free software projects, including of course IRM, but also the GnuCash website, or in this french educational thing called SLIS. It seems to be quoted in its entirety on some turkish PHP-related forum. It has been adapted to support different translation systems. And so on... the list is rather long. Can't say I'm not proud. And yet, the code contains a rather silly bug: the assumption that character set encodings are somehow linked to translations. They are not; gettext is perfectly capable of transparently transcribing one character set to another. Oh well...

Evan Prodromou: 6 Fructidor CCXIV

Argh... trying to get caught up on this journal in the wee hours of the morning here in wt:Odense. I've had pretty bad jet lag this trip -- I've never been particularly good with time changes, and the North-America-to-Europe switcheroo really throws me off. So by 2PM I'm falling down on my feet, but at 4AM I'm rarin' to go. Odense has been a particularly nice place to visit. We got into wt:Copenhagen a few days ago, and crashed at the Airport Hilton there. It's actually attached to the airport -- you can just walk right in. Maj got a good deal on a room, and we figured it would make sense to sleep with the baby right there, rather than fight the train system to find another hotel in the city centre. After a free brunch including many different kinds of pickled fish, and a looong nap, we took the train into the Central Station in Copenhagen, right by Tivoli Gardens. There were lines around the block for the amusement park, but we skirted them and headed into the pedestrian area near City Hall. Based on a recommendation in Wikitravel, we went to the line of caf s and restaurants off of Nyhavn, a sliver of water poking into the heart of the town. It was a great walk, and we had a casual sidewalk dinner at a place called Carl's Corner. The canal was lined with boats that had been converted to restaurants -- we may try one when we go back to Copenhagen this week. tags:

Wikisym The next morning I got up at dawn and got on a train to Odense for Wikisym. I missed my connection at the Central Station, and all the trains were running late, so I got real confused about where to go. The fact that I was carrying all of our luggage didn't help matters. But a few false starts later, I managed to get myself oriented and on my way. The train ride was beautiful -- wt:Denmark is a very pretty country, with rolling grassy hills and clusters of small, peak-rooved houses by the tracks. The trip from Copenhagen to Odense takes you from wt:Zealand to wt:Funen, across a long rail bridge. Very impressive. Once I'd landed in Odense and got myself organized, I slipped into the back of the room for Wikisym to catch the last few minutes of Angela Beesley's keynote address. Angela might be the hardest-working person in Wikidom -- she's a tireless community organizer not only for the Wikimedia Foundation sites like Wikipedia but also for Wikia's sites. After her talk, we did an wp:Open Space session, which continued throughout the day, interlaced with the academic presentations. I'm getting to be a big fan of Open Space; it was really effective for RecentChangesCamp, and I think it works well for organizing a conference. Ted Ernst led the sessions, with the help of Gerard Muller of the Danish Open Space Institute. Probably the most productive Open Space session for me was the one about non-text wikis -- using wiki techniques for video, audio, image and visual language editing. I'm fascinated by this stuff, and it's great to hear that some people are working with SVG and SMIL to do in-browser multimedia editing. The consensus is that the technologies Aren't There Yet but are around the corner. The other major thing I think I picked up from this session was Eugene Eric Kim's discussion of Wiki Ohana. Ohana is the Hawaiian word for family; the Wiki Ohana is a project to develop some interoperability and a transmission of our Wiki principles to new members of the family. I think it's a great idea and I'm going to try to get involved further. tags:

Odense We had a great walk around Odense's core pedestrian area. It's not exceptional for Northern European towns -- it reminds me of the Netherlands, and Maj of Switzerland -- but the car-free cobble-stone walking areas are a real relief after years in North America. We have some pedestrian areas in Montreal, of course, but not in the same way. Odense is the childhood home of wp:Hans Christian Anderson, and the city is decorated with statues of HCA, and of characters from his stories (the Tin Soldier, Thumbelina, etc.) It gives a kind of fairy-tale air to the town. I'm not sure they should feel so proud of being Anderson's childhood home, though -- from everything I've read, his childhood was nightmarishly cruel, and his abysmally poor family was harshly treated by the society here. But, of course, that's in the past. Now, we had a real nice time walking around. Amita June likes tottering along on the cobblestones, and shouting really loud in the small streets to hear the echos. We ended up having dinner in a place called the Cuckoo Caf -- great food under a spreading tree in a little square. This morning -- no, yesterday morning -- Maj got up and took the first sessions, and Amita June and I slept in. We went off into town again to find a bakery, and shared a chunk of brunsviger, a sugary pastry that will probably rot out her tiny teeth. I had a cup of tea, which was less than satisfying. I've been trying to cut caffeine out of my life, so we've been having decaf at home, but they don't seem to serve it in caf s here. I'm a creature of habit, and I like the taste of coffee even if it doesn't have the caffeine oomph. tags:

CAPS LOCK SUCKS In response to Lars's defense of CAPS LOCK: Lars, you ignorant slut. Caps lock has been the bane of online culture since the invention of mixed case in the late 1960s. It is a hallmark of clueless newbie-ism for people who are too analphabetic to remember the exceedingly simple English capitalization rules. The only legitimate purpose for CAPS LOCK is for doing C macros and defines, but hey, who writes in C any more? Anyways, that's just lazy programming. A real programmer would write a macro to capitalize the names of other macros where used. That's just good programming practice. Another important point is that CAPS LOCK is Eurocentric and imperialistic. What value does CAPS LOCK have for someone writing in Eritrean, Malayalam or Ojibwa? None at all. Yet dead white males like Lars Wirzenius want to force their CAPS LOCK cultural hegemony on an increasingly global culture. For shame. The worst thing about CAPS LOCK is that it squats in the middle of the most important letters on the keyboard, like a rat trap waiting to spring. Big and ugly, it always catches your left pinky when you're reaching for Ctl or Shift or Tab or A or whatever. Key-chording is here to stay, and CAPS LOCK not only ignores this important UI development but actively interferes with it. Modal interfaces are rightfully extinct, and CAPS LOCK needs to go the way of the dinosaur. It's time to eliminate this obsolete key once and for all. (This message brought to you by The Taxpayers Against Caps Lock Coalition. I, Evan Prodromou, endorse this message.) tags:

21 August 2006

Gustavo Franco: epiphany 2.14 in Debian

<a onblur="try parent.deselectBloggerImageGracefully(); catch(e) " href="http://www.telecable.es/personales/algarcia/img/epiphany-88x31.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 89px; height: 31px;" src="http://www.telecable.es/personales/algarcia/img/epiphany-88x31.png" alt="" border="0" /></a>If you're using GNOME as your desktop environment, it's possible that you're using the wrong browser or just using one that isn't doing everything you want as i was, right ? Well, when Firefox came into the scene with one of its previous names i was using Galeon. Galeon worked for me, but it lacked some features that the new browser was offering. I would like to tell you that the same thing is happening again, and it's now time to give <a href="http://www.gnome.org/projects/epiphany/">epiphany</a> a try. If you did it before, do it again with the latest epiphany (2.14.0) in Debian sid, my reasons are below:<br /><span style="font-weight: bold;"><br /><span style="font-weight: bold;">Gecko<br /><span style="font-weight: bold;"></span></span></span>Yes, it uses Gecko 1.8 as backend and not gtkhtml so don't worry about page rendering. For those 'in the loop', it's already linked against <a href="http://developer.mozilla.org/en/docs/XULRunner">xulrunner</a><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"> </span></span></span>library. Firefox (in Debian sid) isn't yet.<br /><br /><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>Bookmarks</span><br />You can attach tags (epiphany calls them 'topics') to the bookmarks and it will organize everything in a tree for you. The bookmark manager looks good for me too, i'm not too much into the bookmark thing but together with deskbar-applet and epiphany topics i can find what i want.<br /><br />The most interesting feature is that epiphany can look up to bookmarks published using avahi (mdns/dns-sd daemon) and show them as "local sites". In other words, you can setup a centralized bookmark server and all the epiphany users in your network will be able to see them. I've a mt-daapd server, and epiphany recognize that there's a admin website around, just like rhythmbox does.<br /><br /><span style="font-weight: bold;">Extensions<br /></span>Yes, it has extensions and is able to do ad-block and all that. Unfortunately the latest <a href="http://packages.debian.org/epiphany-extensions">epiphany-extensions</a> package still needs to be built for i386, but it's already ok for amd64 arm hppa powerpc s390.<br /><span style="font-weight: bold;"><br /></span><span style="font-weight: bold;">RSS<br /></span>I had some rss apps around, but wasn't really using them because what i needed was subscribe from the browser, organize the feeds in the app using topics/tags or folders and see some interesting integration between that app and the browser. It's now done, try epiphany and liferea. =)<br /><span style="font-weight: bold;"><br /></span><span style="font-weight: bold;">Memory<br /></span>After eight hours using epiphany it won't eat all your memory to 'optimize page loading' and even with this "bug" i don't see epiphany (and the rest of my desktop) too slow to open a new page after all this time.<br /><br />I think that a lot of users and developers will just look to epiphany as a serious Firefox alternative, after a big "user oriented" distribution pick it as the default browser. Thanks to the epiphany developers anyway, keep the good work.

Gustavo Franco: Debian Python Modules Team

Guilherme Pastore and I silently started python-modules project some time ago. I drafted our policy, uploaded a package to our svn repository and Paul Wise joined us. We aim to do for Python language in Debian what pkg-perl does for Perl, but until then we were out of time to finnish the policy, prepare the announcement and keep the things moving (adding people to the group, ...).<br /><br />Raphael Hertzog heard about us and joined the team (now as a admin), and we announced today this new group in debian-devel-announce. Guilherme is still busy with real life stuff, but we're already 9 members ready to flood the Debian archives with high quality python modules packaged. We don't want to package only new modules, so if you're maintaining a python module in Debian contact us at <a href="http://lists.debian.org/debian-python">debian-python mailing list</a>.<br /><br />For those who see that there's a pkg-python group, yes it exists. pkg-python is specific to Python package itself, python-modules aims package and keep with a good quality the Python modules only (not apps). I think we can merge pkg-turbogears, python-krb5 that are groups for modules too and probably others into python-modules not pkg-python, but we will coordinate our work using debian-python mailing list as i said.

Gustavo Franco: 7th International Free Software Forum

I'll be in Porto Alegre, Brazil <a href="http://fisl.softwarelivre.org/7.0/www/?q=en">for the event</a> (FISL, in portuguese) from 19 may until 22, the last day. There will be some interesting Debian related activities there:<br /><br /><span style="font-weight: bold;">Debian stand<br /><span style="font-weight: bold;"></span></span>We will have a stand in the event, and there we plan to coordinate a Key Signing Party (KSP) and a Bug Squashing Party (BSP). Since we will have many DDs and NMs there, it sounds promising. If you want to join us in the BSP, keep an eye at debian-qa mailing list and irc.freenode.net - #debian-bugs.<span style="font-weight: bold;"><br /><br />Sacix<br /></span>I will talk about a CDD called <a href="http://www.sacix.org/">Sacix</a>, that aims to be the default choice for telecentres and counts with more than 15000 end-users in Brazil right now. The project wasn't a CDD until i jumped in and released with a team the 5.11 (November, last year). The next release is scheduled to May and will be Sarge based again, but with a interesting telecentre management system developed in PHP, some "in house made" backports and stuff from backports.org. Stay tuned or just go there and watch my talk.<br /><br /><span style="font-weight: bold;">Debian-BR-CDD<br /></span>Unlike Sacix, <a href="http://cdd.debian-br.org/">Debian-BR-CDD</a> has no clear goal in terms of audience and in its first release ships the most user-friendly GNU/Linux desktop for Portuguese speakers until now. The 1.0 announcement was made, but the release party and Otavio Salvador (DD and Debian-BR-CDD starter) talk will happen during the event.<br /><br />I'm sure that i will have some time to keep uploading <a href="http://python-modules.alioth.debian.org">python-modules</a> and meet with Otavio to talk about some new stuff for LTSP package and discuss it with <a href="http://alioth.debian.org/projects/pkg-ltsp">pkg-ltsp</a> members. Hopefully i'll be more involved in GNOME too, due to the evil <a href="http://qa.debian.org/developer.php?login=guilherme.pastore@terra.com.br">Guilherme</a> influence, that just received his account. Isn't it cool when you see a 15yr old hacker joining the project ? That's the real "fresh blood" we need.<br /><span style="font-weight: bold;"><br /></span>

Gustavo Franco: Join us in our party

There's a <a href="http://wiki.debian.org/BSP">Bug Squashing Party</a> going on (April 20th - 23rd) as Guilherme <a href="http://lists.debian.org/debian-devel-announce/2006/04/msg00012.html">announced in debian-devel-announce</a>. If you're a new maintainer or debian developer, join us to squash some bugs helping Etch to be released soon. The BSP is being coordinated in irc.debian.org - #debian-bugs and there will be a real-life brazilian DDs and NMs meeting dedicating some time to the BSP, in some hours. We plan to do it daily until the end of the 7th Free Software International Forum were some of us are right now.

Gustavo Franco: utnubu-desktop for the masses

Well, during our current BSP i've decided to stop working on the RC bugs for a while and upload a new package that should be interesting for many users: utnubu-meta source package. I'll explain the background and the history about this package now...<br /><br />In Ubuntu there' s ubuntu-meta source package that results in <a href="http://packages.debian.org/ubuntu-minimal">ubuntu-minimal</a>, <a href="http://packages.ubuntu.com/ubuntu-standard">ubuntu-standard</a> and <a href="http://packages.ubuntu.com/ubuntu-desktop">ubuntu-desktop</a>. They're metapackages and the list of packages is built with a tool called germinate based on a seed in the web. I've a <a href="http://people.debian.org/%7Estratus/bzr/debian-seeds/">branch of cjwatson' ubuntu seed</a> and asked him to upload <a href="http://packages.debian.org/germinate">germinate</a> in Debian, he did! To avoid confusion, i've renamed "our ubuntu-meta" to utnubu-meta and it will be included in <a href="http://alioth.debian.org/projects/utnubu">utnubu alioth group </a>in svn soon.<br /><br />If you're interested in utnubu stuff, go check utnubu-meta changelog and "backmerge" some of the packages that aren't included in Debian' metapackages.

Gustavo Franco: dpmt update and more

<span style="font-weight: bold;">Debian Python Modules Team</span> <span style="font-weight: bold;"><span style="font-weight: bold;"><br /></span></span>The group is receiving new members, old packages from these new members and of course brand new packages every week, to say the least. I would like to say thanks for those who joined and for buxy, fatalerror and arnaud. We're working on a lot of interesting stuff and QA in the packages, you will notice the difference in Etch. Btw, i hope to see just Python 2.4 (and not 2.3 too, since we already dropped 2.1 and 2.2) in our upcoming release and a lot of interesting modules already packaged and well supported (dpmt is working on this, right now).<br /><br /><span style="font-weight: bold;">pkg-gnome</span><br />I'm a newbie in the group, i'm cleaning up bugs (pinging submitters) and already did some work on the packages on our svn repository. Unfortunately my first upload (totem) was rejected due to some naming and compatibility issues with the browsers plugins (mozilla vs libxul). seb128 jumped in and saved us. totem 1.4 is still almost ready to go and the rest of the gnome 2.14 is entering the archive.<br /><br />Well, i'm counting the days to the debcamp. Hopefully i'll participate in: ltsp modularization (pkg-ltsp), cleaning up bugs (pkg-gnome) and do some utnubu (read desktop) related work on tasksel. Since utnubu-meta was rejected. :/<span style="font-weight: bold;"><br /><br /></span>

Gustavo Franco: In 2 minutes you can...

...do a lot of different things while your new Debian Desktop is booting.<br /><br />Well, it's clear that some people in the project are thinking how we can speed up the boot times (no unfortunately i wasn't at debconf). I would like to invite you to split your ideas in two groups: a) Good For Etch; b) Dreams. :P My point here is that with what we've today, without break too much stuff for sure, applying some work where it's necessary we will have something good in December.<br /><br />Btw, i ran bootchart on three scenarios, using the latest weekly built image of testing, installing the desktop task, see my results:<br /><a href="http://www.flickr.com/photo_zoom.gne?id=151973355&size=o">Boot without changes (gdm left out)</a> - 2 m 29 s<br /><a href="http://www.flickr.com/photo_zoom.gne?id=151973357&amp;size=o">Adding "CONCURRENCY=shell" in /etc/default/rcS (gdm left out)</a> - 1 m 46 s<br /><a href="http://www.flickr.com/photo_zoom.gne?id=151973356&amp;size=o">Installing insserv and following the instructions in its README</a> - *1 m 29 s*<br /><br />I would like to hear what's the status of this "concurrency" stuff in /etc/default/rcS (is startpar default in sid now?) and if it breaks something. The other point is that we could push insserv tests forward, please read the documentation and do it yourself preparing your own bootchart results for comparison.<br /><br />The next step would add LSB headers in our init scripts, that will take more time because it involves a lot of packages. I think if we can guarantee that insserv and its dependency tree is ok, then we have the needed headers but they're not in the packages. We could release Etch this way, and add this workload to the individual maintainers of packages with init scripts during Etch+1 release cycle.

Gustavo Franco: tasks quality assurance and status

Christoph Berg (myon) is my hero of the day. He worked on <a href="http://bugs.debian.org/377673">#377673</a> and implemented task support on ddpo. You can now see a package overview for each task in tasksel, eg: <a href="http://qa.debian.org/developer.php?task=desktop">desktop</a>, <a href="http://qa.debian.org/developer.php?task=gnome-desktop">gnome-desktop</a>. This is a killer feature for keep the tasks healthy, helping tasksel users, aptitude users using tasks and new Debian users (debian-installer includes tasksel).<br /><br />Task list (except l10n related): database-server, desktop, dns-server, file-server, gnome-desktop, kde-desktop, laptop, mail-server, manual, print-server, web-server. There are a lot of l10n related tasks too, eg: swedish, swedish-desktop.<br />Tasks being considered: xfce-desktop, bluetooth.<br /><br />I did some work to put gnome-tasksel in shape (see <a href="http://bugs.debian.org/368518">#368518</a>), but this is still in progress. After this, the plan is write a new tool to suggest tasks on the desktop based on events. If you plug your scanner and you're using the tool, it can suggest you the scanner task. It will be in pygtk and will notify the user through python-notify that i already uploaded. Unfortunately, i don't think it will be good enough to be in Etch. My goal for Etch is put all the tasks in shape (at least the desktop related), and bring back gnome-tasksel.<br /><br />It's good to point out that the new d-i (post sarge) guesses and suggests to the user which task could be useful to install (just some, it won't guess between web and dns server of course) based on your hardware and partition layout.

20 August 2006

Martin Michlmayr: Status update of Debian on Linksys NSLU2

Beta 3 of debian-installer has been released recently and some people are wondering about the status of Debian on Linksys NSLU2. This ARM based device includes an Ethernet chip for which Intel provides a driver (based on some code which only recently became free software and which still requires some microcode which is only distributable together with a click-through license). During the beta 3 development process, I tested the installation on NSLU2 with my USB Ethernet gadget to make sure it works. When beta 3 came out, I wanted to integrate Intel's module and make unofficial images available. Marcus Better did some great work in the last few weeks putting the sources into a Debian packages from which the modules can easily be created. Unfortunately, they don't seem to work. My kernel oopses immediately when I insert them. I spent more than a day compiling the modules myself, trying various things, but to no avail. I have now given up and sent a call for help. What this means is that the unofficial images with the Ethernet driver are unsupported right now, even though Debian on NSLU2 works fine if you have a USB Ethernet adapter. In the long run, I hope to be able to support Ethernet using a driver which is currently being developed. The author has made good progress already and is aiming for mainline inclusion. I hope it will be usable on the NSLU2 in the next few weeks but it's hard to tell. There has also been some development that users may not directly see but which is important maintenance work. The firmware of the NSLU2 has a 1 MB limit for the kernel. So far, we have provided a special kernel for the NSLU2 but it would be better if we could use one generic kernel for all IXP4xx based devices. Together with Marc Singer, the author of APEX, we're now integrating his boot loader as a 2nd stage loader to work around this limit. In summary, NSLU2 development work is still being done, even though the in-built Ethernet is currently not supported. This problem will be addressed in the long run with a proper, mainline driver which will hopfully be usable in the next few weeks. Help with NSLU2 support is welcome because even though I'm still working on it, I now have a number of more interesting devices I'm currently working on (more on this later).

16 August 2006

Mario Iseli: Begin of the 3. semester, 2 important birthdays, baking

try Today was a quite exciting day, first of all I had to stand up early in the morning, fortunately i reached the train on time. At 7.30 the school began and we had 3 lessons “ABU”, this was the most interesting part because later we had 2 hours of english. I mean, I don’t speak really good english yet, but I would like to learn it better, and the only thing we learned today was that “must not” doesnt mean “not have to” as most native german speakers would think. But yeah, I already learned it in the second month in the 8. schoolyear which is now nearly 3 years ago. The afternoon was also a little bit a horror, first we had programming, the topic was “Exceptionhandling in Java”. I think it’s a quite interesting subject, but the teacher was so boring, I mean, the examples didn’t “fix” a problem during runtime, they only printed out “there was an error!” or whatever useless. :-( Then we had theory about servers and a little bit networking, I mean, most IT-students administrate some servers in their office and we learned today “A server provides a service in a network”, very interesting! Yes, so I will better forget this day! catch(ExceptionMarioDemotivated md) There are also reasons to celebrate! Today are 2 birthdays which are quite important to me. First Kerim, one of my best friends, became 17 and has now only to wait one year anymore until he’s “adult” here in Switzerland, ok, “to be adult” is relative anyway. Kerim, I wish you a lot of luck and love and whatever for your future! Stay as you are and I’m already glad to go to Zurich with you again (I’ll pay the next Frappu) The other important birthday belongs to the Debian project which is now 13 years young. Thanks to the whole community. For example I’m writing now this blog (and serve it) with Debian, so it’s time to say all “members” THANK YOU to make it possible! I’m thinking again about the future, what will be actual in 13 years in the IT? Will we win “the war” against software patents and all the other problems? At least our success with the ODF is motivating for the next 13 years! Ok, I’m quite busy now with baking some Debian-bread, I will offer a little brunch tomorrow in the office. Details, pictures and recipe will follow tomorrow.

Lars Wirzenius: Random thought: TDD doesn't eliminate debugging

Martin, I know about TDD, thanks. It is great for preventing all the kinds of bugs you expect to make (or make again), and can write test cases for. Been using it for years. It's part of what I meant when I said "every now and then a bug slips through, and then I'm screwed". It doesn't, however, help, when something really unexpected happens. For example, who would have expected beforehand to write a test case for the Pentium floating point bug? Not just a test case of whether floating point arithmetic works at all, but a test case specifically for the small number of special cases in which the original Pentium failed. It's for the unexpected cases where you really need your debugging skills. That's what the book is good for.

Felipe Augusto van de Wiel: 15 Aug 2006

13 years...

[Debian]
Happy Birthday!!! I was waiting a little bit, in other parts of the world Debian is already celebrating, now people from Brazil (and also UTC-0300) can join the party! Last Saturday our Debian User Group celebrate the Debian Anniversary with a big barbecue, sports and good conversations during the entire afternoon! Next Saturday (19.August) different Debian User Groups in Brazil will coordinate the Debian Day in different cities at the same time. Have fun! 13 years of Debian and counting! :-)

In a quick note, I'm still moving ahead with my NM. I have to fix a few points on my packages (and I'm still waiting my sponsor -- Hi Otavio! -- to upload a couple of packages). And I have a few more to work on, I hope I find the time in the next days.


[Random Stuff]
At Monday (14.August) night (20h 00min UTC-0300) I visit (pt_BR) a very small city in the state I live in Brazil. They invited me to speak about Debian and Free Software for a group of students and also for locals. It was a nice talk and one of the things that got my attention is the number of women interested, of course, I told them to visit the Debian Women Project (which reminds me that I need to translate the site -- and lots of other files). Back to the work!

15 August 2006

Martin F. Krafft: Test-driven development

Lars, I strongly suggest test-driven development. It seems to preemptively do the most relevant of what the debugging rules you quote instruct you to do later. The principles:
  1. design your interface
  2. write tests that fail
  3. write the code to make the tests stop failing
  4. refactor
  5. lather, rinse, repeat
It's a philosophy that anticipates bugs and errors, yet it uses that very fact to guard against them. Test-driven development has changed the way I (and many others, I learnt it while becoming a Plone developer) plan, design, think about, and implement code. And yet, it's really not far away from how you're already doing things. Really. For C++ coders, I recommend libtut, which is elegant and non-intrusive. PS: The definitive (and quite good) book on test-driven development by Kent Beck is only 200-something pages, so it's also in the domain of shorter books. Update: sorry, liw, for making it sound like I assumed you had spent the last years in a cocoon or cave or curled up in a corner. I didn't intend to doubt that you know of TDD, just wanted to get that off my mind what your post put there. And of course, I agree with you: TDD will not eliminate debugging. But it will make your debugging sessions a lot less frequent, even though the really long and painful ones are exactly those that it won't prevent...

Mario Iseli: OpenLDAP, LUG-Seeland, School

Today was a strange christian day here in Kanton Solothurn and I didn’t have to work, so I had a lot of time to prepare my presentation for next Friday about OpenLDAP. First of all I prepared the stuff for the school which begins tomorrow, so my holidays are now definitely past :-( . I was excited that I didn’t receive my timetable by snailmail so I had to google and found it finally. Poorwise i have now to stand up very early in the morning, my train goes at 07.07 in the morning. Now to OpenLDAP, fortunately Mathias Weyland, the president from the LUGS, gave me a book about OpenLDAP from O’reilly, I really like it: It’s quite informative and sometimes the author is making some jokes. Priska Rubischon already bothered that i have to tell something about netgroups and autofs, this was completely new because I newer worked with NIS (and netgroups etc.) and neither with autofs (in most cases I use samba and libpam-mount). It’s not so difficult as i thaught. OpenLDAP in Debian comes with nice schemas which help to migrate from NIS to LDAP, so I had a look at those schemes and the chapter about netgroups in the book. Also autofs is not complicated, for example, if you want to share /home to the clients you have to prepare a NFS-Server which shares this directory and configure /etc/auto.master and /etc/auto.home on the clients. These two files can lookup where and how it can mount /home. On my testing-infrastructure I just used netgroups for the NFS-exports, so I have now an example what they’re for. After all I realized that my speech will also be about “How do I plan a network in a company”, so I realized that the security of LDAP is also very important. Fortunately OpenLDAP can be secured quite hard, it supports SASL and KERBEROS_V4 authentication mechanisms! When I would realize now a network i would do the following: I still ask me how i can protect my netgroups so that nobody can plug computer “x” out and plug in his computer, take the IP of “x” and mount the NFS-shares. Kerberos as user authentication would be a solution, but I don’t really like it. As I already told I prefer libpam-mount, with it’s help it would be possible that every user gets his share mounted maybe over smb. Now I will search for a solution how i can properly secure NFS, so it does only allow connections from users@boxes authenticated with LDAP and not user@host-which-can-be-faked. If you have an idea feel free to write it down here in my blog! In the evening I went to “Biel” by train to join the LUG-Seeland meeting. Beat Fasel explained me a lot about genetical biology, his work and the evolution, this was very interesting. Later we talked about the future of our community, I will prepare bylaws for the next meeting which we will sign. Other ideas were about preparing an install event and a mailinglist because we don’t have communication over the internet and this is quite complicated if we want to organise something in teamwork.

Gunnar Wolf: Speaking of which...

A couple of days ago, I replied to Madduck's post regarding unhappiness with XFS. Ben replied with a trackback as well: He's also moving away from XFS. And... Well, I noticed the unavoidable: XFS, in the end, _did_ eat my data.
I use a chroot in my desktop machine as a backups server, for two other machines. The backups are done three times a week. And last time, they failed. Why? Because /dev/hdd2 is not mounted. Why?
mosca:~# mount /dev/hdd1 /var/backups
mount: Unknown error 990
Oh, nice, great and stinky shit. Ok, lets fix it...
mosca:~# fsck /dev/hdd1
fsck 1.39 (29-May-2006)
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_check(8) and xfs_repair(8).
mosca:~# xfs_check /dev/hdd1
* ERROR: mismatched uuid in log
*            SB : ed5d0cc4-487b-4ee4-95c8-6cc2fe441562
*            log: ed5d0cc4-487b-4ea4-95c8-6cc2fe441562
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_check.  If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
Fortunately, that's only some backups and a very untweaked chroot, made easily with debootstrap... But still, that's something I'll have to work on this evening. Sigh, as I didn't have enough pending work already :-/

Aigars Mahinovs: Why? Oh Gods! Why?


$ mv .ssh/ .ssh.old/
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://aigarius:password@aigarius.com/home/aigarius" )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
gnomevfs.AccessDeniedError: Access denied
>>>
$ ssh aigarius.com
The authenticity of host 'aigarius.com (85.254.216.40)' can't be established.
RSA key fingerprint is 6d:29:c0:f3:d0:84:c9:a9:d9:4c:7e:e3:1a:18:a2:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'aigarius.com,85.254.216.40' (RSA) to the list of known hosts.
aigarius@aigarius.com's password: *******
[...]
aigarius.com$ exit
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://aigarius:password@aigarius.com/home/aigarius" )
<gnomevfs .FileInfo 'aigarius'>
>>>
Of course, this is mentioned nowhere in the sparse documentation. Please keep me away from the person who wrote GnomeVFS and its Python bindings. Bloodshed might ensue. Bug reported Why can’t someone write a nice, light, working network file transfer protocol abstraction library that would be independent of any desktop environment (bonus) and a working X server (I am looking at you, GnomeVFS). Something that would simply provided all file and folder manipulation operations in sync and async ways in such way that those operations work completely uniformly across all supported protocols. Support for at least ssh and ftp is essential, webdav, nfs, rsync and other protocols that allow writing files to remote locations and http, https and other protocols that only allow read only access to remote files would be very welcome. The library should be in C with bindings in C++, Python, Perl, Ruby, PHP and also a command line processor that would allow all commands to be used in a shell script.
Why something like this can not be written and obsolete the GnomeVFS and those KIOslaves. Freedesktop.org, I am looking at you, please! Update: Apparently I only need to “import gnome.ui” and execute “gnome.ui.authentication_manager_init()” and my application will automagically get a proper authentication dialog in this case. Unfortunately it is not documented anywhere that I could find. :P

Next.

Previous.