Search Results: "cas"

28 December 2008

Russ Allbery: Lintian 2.1.3

Over the last couple of days, I've found some time to work on Lintian for the first time in quite a while. It's been a good feeling both for getting back to a project that I've done very little on for several months and finally feeling energized about a coding project. I think after a week of vacation, I'm starting to recover my energy. I uploaded Lintian 2.1.3 earlier today and am currently doing a fresh archive-wide run for lintian.debian.org. This version has several new checks for watch files from Raphael Geissert, several fixes for the lintian.d.o output, a few other random bug fixes, and an attempt to tackle unversioned shared libraries in a more comprehensive fashion. Shared libraries with an SONAME that doesn't contain a version number can't be represented in the shlibs system (but can in the symbols system), so Lintian always reports them as missing from shlibs when they're installed in public directories. That's not really the right tag, since they don't belong in shlibs. The more basic problem is that, except for a few special cases mostly coming from libc, they really don't belong in public directories. With no versioning in the SONAME, we can't handle changes to the ABI without completely changing the library name and can't use the shlibs system to manage them. Most of the libraries in this situation are actually private libraries for one particular application. As Policy already says, those libraries shouidn't be installed in public directories like /usr/lib; they should be installed in private subdirectories of /usr/lib for that application. The biggest group of offenders here currently seems to be KDE; for some reason, unless I'm missing something, this seems to be a semi-standard KDE way of doing things. This version of Lintian will hopefully handle this better. Such libraries won't be expected to be in shlibs files and won't get erroneous tags about not being listed there. We'll also do a better job of distinguishing between versioned shared libraries and shared library names that just contain a hyphen. Such unversioned libraries will get a separate tag pointing at the portion of Policy that says to put private libraries and plugins in a subdirectory instead of /usr/lib. Thanks as always to Frank Lichtenheld, Adam D. Barratt, and Jord Polo for all the hard work they've been putting into Lintian. It's gotten much better over the few months that I've not been able to work on it, which is making me more excited to get back to it and do more.

27 December 2008

Sandro Tosi: Thinkpad T30, SmartLink modem and Teleconomy

Being left in the IT medieval, thanks to my lovely telco, the only way I can (very far away) simulate a broadband connection, is stipulating a flat 56k contract (don't laugh, please). The name of this "offer" is TeleconomyInternet.

Do you think that firing up gnome-ppp on a Thinkpad T30 laptop would work at the first try? Of course not... The problem seems to be in the telephone number to call, that badly interact with SmartLink 56k modem. Here's the story, in case you'll find yourself in the same situation.

The modem on the T30 is:
$ lspci   grep Modem
00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'97 Modem Controller (rev 02)
that is a SmartLink modem, supported well by sl-modem-deamon package and by alsa:
$ ps -eo command   grep slm
/usr/sbin/slmodemd --alsa -c ITALY modem:1
Remember to edit /etc/default/sl-modem-daemon file and set the right country for you.

Now, I installed gnome-ppp (just to try an easy tool), that uses wvdial under the hood.

wvdial auto-detection utility works quite well, and the found Init2 string:
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
works well if the number to call is a local one (I tried it before, and worked). Since Teleconomy provides a state-wide number (702...) with the above string the connection will fail with a sad:
NO CARRIER
No Carrier! Trying again.
But there is a fix: first, the Init1 should be ATX3 (but it seems to be enbedded in the one below), and the last arguments must be changed (well, I think it has something to do with line speed (MS=34 will result in a 33.6k line) or protocol, but don't care too much as long as it works) resulting in this Init2:
ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
And remember to select the "stupid mode" in gnome-ppp, and you'll have a nice:
--> Initializing modem.
--> Sending: ATX3
ATX3
OK
--> Sending: ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
OK
Modem initialized.
Sending: ATM1L3DT7020187187
Waiting for carrier.
ATM1L3DT7020187187
CONNECT 52000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Dec 26 19:12:23 2008
--> Pid of pppd: 4870
--> Using interface ppp0
--> local IP address ......
I'll move to ppp soon, since gnome-ppp seems to not understand "fsck, reconnect when disconnect, dude" option.

How nice is to be in the 21st century...

MJ Ray: Looking Back: 2008 Part 2

This is a continuation from part 1 but can be enjoyed on its own too, like a good red wine. It s a bit early for me for red wine, though.
May
June
July
  • Standing for Election to SPI Board Again - my most popular page ever, by number of page views anyway. It was spammed to hell so often that comments are now switched off. I suspect the US Election had more to do the popularity of this article than my unsuccessful candidature for the Software in the Public Interest board.
  • Batting Against Three Strikes through the Back Door - I m a member and ambassador for ThePhoneCoop and TTLLP are agents/resellers for them, so this misguided EU law-making was worth some of my time. Writing about it here got me a response from Neil Parish MEP that I don t think I would have got otherwise. It s a terrible shame he never sent a reply from Malcolm Harbour.
  • LugRadio Live Event Review - a review of one of the most populist UK free software events by one of their most vociferous critics (back before they went all Creative Commons warm and fuzzy) was always going to be popular, which is partly why I wrote it, but not the whole reason: I m delighted that the event should return in the future. It s not perfect, but it s pretty damn fantastic. A tech conference crossed with a rocking gig by the strangest boyband ever, with a cheerleading racoon and some very cool people.
  • Good News on the Koha 3.0.0-final Approach - another surprisingly popular marginal comment. I ve currently broken/desynched/something my local git tree. I m going to repair it by New Year and then start writing up more Koha explorations and sending patches upstream.
August
More to follow in a couple of days

25 December 2008

Jose Carlos Garcia Sogo: git tips

Git is becoming my main utility for Debian packaging, as I am using it to keep my work on packages I maintain alone or in a team by using git.debian.org facilities. I am not still using tools like TopGit to keep patches, by I also intend to do so in a near future.
What does git give me over svn? Basically two things: branches and having the whole source code at hand. The first is obvious, I can easily create branches to experiment without having to change anything in the way the package is, so if a new upstream release occurs in the time it takes me to implement some change (and that usually happens) I can upload it straight, not affecting my undergoing changes.
Also I appreciate having the whole source code. This could have been also done using svn, but we preferred not to do so, and most packages only have debian dir in their svn repositories. This makes harder work with upstream sources, where they need to be patched. Git provides me the way to have always an upstream source code copy at hand, and the branch power can also be applied to it.
But I wanted to write about a couple of git tips that I found. Seems that they have already appeared on Planet Debian before, but I think that is not a bad idea to remember them (from damog s blog):

1. Changing into a directory that contains a repo and shows you on PS1 what branch you are standing on:

On .bashrc I have:

GITPS1='$(__git_ps1 ":%s ")'
export PS1="$ GREEN \w$ RS $ YELLOW $ GITPS1 $ RS \\$ "

But what I didn t want to lose was the code that was posted to paste.bin after in a comment someone pointed out that this trick was a bit annying if your home dir were also a git repo. This is one solution:

__maybe_git_ps1 ()
local BRANCH="$(__git_ps1 '%s')"
case "$BRANCH" in
master)
# silent
;;
'')
# not a git repo? -> silent
;;
*)
if [ -n "$1" ]; then
printf $1 $BRANCH
else
printf (%s) $BRANCH
fi
;;
esac

2. An alias I like to use on repos that are personal for quick tracking:

[alias]

log1 = log pretty=oneline abbrev-commit
Thanks damog for these tips!

23 December 2008

Wouter Verhelst: Cantilene "Jeugdkoor van het jaar"

or, "Youth choir of the year" Between my 16th and 25th birthday, I was a happy member of this particular choir; and today, five years later, there are still many members of this choir that I know personally including, of course, their conductor. It's not the first time Cantilene joined the race for "Choir of the year". The first two times, I was still a member. However, it is the first time they won in the category "youth choirs"; the first time, Cantilene came up second; the second time, we unfortunately did not make it to the finals. The fact that they did make it this time around, gives me mixed feelings; of course I'm happy that they won, but I'm sad that I couldn't be part of it this time. Well, that's part of getting older, I guess. In any case, here's a big contratulations to Cantilene! For those who care, if you do a search on youtube for "Cantilene", "Koor van het jaar", or "Luc Anthonis" (the conductor), you'll find a number of films most of them from the Canvas belgian TV station. In related news, with Caljent (the choir that I am a member of, today) we had two concerts last weekend. They were a success, but unfortunately no thanks to me; I lost my voice somewhere during the evening of the 20th, and thus was quite unable to sing most of what we were going to sing. That did not stop me from being on stage and singing anyway, but I had to playback about half that time... Here's for hoping that my voice will be better on christmas, since we're singing in mass then... I'm mostly there, but not quite entirely yet.

Emilio Pozuelo Monfort: Hello Planet Debian!

Hello Debian fans! I m Emilio Pozuelo Monfort (aka pochu), a Debian contributor coming from Ubuntu (where I m a MOTU), and hopefully a DD in the near future, as I m in NM. Sandro Tosi has added me to Planet Debian, so here I am! I ll be posting from time to time (don t expect me to flood your feed reader, I m more of a casual writter) with Debian-related topics. For those of you who don t know me, I m an Spanish guy contributing mostly to the GNOME packages and some Python applications. But if something breaks in your desktop, don t blame me, but my sponsor! :P

Biella Coleman: The Prosaics of Micro-writing

Recently much ink has been spilled on the forms of micro-writing (Twitter, Facebook status updates, micro-blogging) that have captivated the hearts, minds, and especially keyboards of those, like me, who spend a lot of time in front of the blue screen (whether a computer or a phone). Lately, perhaps in part because I was home bound for days, I went on a status-update frenzy, updating my Facebook feed like there was no tomorrow and checking in as often to read the short nuggets left by friends. Despite this recent bonanza, I don t admit to all my friends of this addiction as some of them seem to really dislike no the more accurate term is detest this linguistic genre. Generally, it seems to me, there are those that love these messages, and then there are those who disparage them for being inane, short blasts of egotistical information that reflect and worse, reinforce the rampant, raw, unfiltered American love with self, performing the individual, and all that related jazz. I am sympathetic with the haters and at times, I admit I feel nothing but the hate (and perhaps this is why I have yet to Twit) but after thinking about it I have decided I am not really in their camp. Why? Well, something I do when I am thinking through phenomenon is ask: What Would Bakhtin Think (WWBT) as he is a theorist that I adore for he avoids so many of the traps, mostly of binary thinking, that befall most academic theorists. The answer to WWBT, at least from the way I read him, would be that he would dig and find something quite significant about these linguistic ephemera. Bakhtin, who was a Russian literary critic and thinker , thought highly of the novel as a genre for, unlike poetry, it provides a window into everyday life, into the depths and heights of the prosaic, which, however prosaic, is actually where all the extraordinary stuff of life resides. For in the humdrum of life is where he locates wonder, magic, suffering, laughter, mystery, love, oppression, and joy even if its significance often slips right on by our awareness, our perceptual world, until it is unearthed by such genres as the novel (and I would add film). You really can t get more mundane than these micro-statements, though albeit they can be fantastically funny, frustratingly opaque, devilishly satiric, and in rare occasions, poetic; and it is for all these reasons that I find them personally enjoyable and analytically valuable. So much of our life is seeped and steeped in the mundane and yet it is whizzes by us without much reflection. We certainly don t have much of a window into the mundane lives of others, especially in any real time sense. These updates are short pauses, like a temporal parenthesis (which any reader of this blog can I tell I am fond of) or a pleasant hiccup. While many say that they are egotistical blasts, I experience them otherwise, especially when I find myself smiling, laughing, wondering not at what I say but what others throw out there. For with the short update, I am transported, however ephemerally and momentarily, to your mundane world and share in the pleasures of life as is. And for those that remain unconvinced, at least take my word that Bakhtin is worth paying attention to (that is, if you pay attention to academic theory), here is a review essay that might convince you (subscription required but I will try to post a full copy later)

Neil Williams: gcc warning on error

Following a thread on Planet GNOME, I decided to add a few more warning options to my main upstream projects. I started with:
-g -O2 -g2 -Wall -Werror -Wdeclaration-after-statement -Wno-pointer-sign -Wcast-align -Wbad-function-cast -Wmissing-declarations -Winline -Wsign-compare -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wl,--as-needed


I'm adding -Wredundant-decls (which itself has highlighted a bug in QOF 0.7.5, fixed in 0.8.0 SVN). and -Wwrite-strings which caught lots of nasty bugs. (You know the ones, you're confident that a string is newly allocated and needs a g_free but then the program seg.faults in operation and you can't find why?) Also added -Wformat-security, -Wswitch-enum, -Winit-self - the first one to not cause any new errors and -Wmissing-include-dirs (which I'm glad to say raised no errors because it is checking my autotools foo). Test project for this run: pilot-qof. Changes now in CVS (yes, CVS - why not? pilot-qof is stable enough that it doesn't need any of the SVN features that caused migration of other projects).

Later, I'll add the same warnings to QOF and gpe-expenses upstream.

22 December 2008

Steve Kemp: What can you do? Sparta will need sons.

Since I've ranted a little recently lets do another public bugfix. The last few times people seemed to like them, and writing things down helps me keep track of where I am, what I'm doing, and how soon it will be "beer o'clock". So I looked over the release critical bug list, looking for things that might be easy to fix. One bug jumped out at me: I installed the package:
skx@gold:~$ apt-get install gnomad2
..
The following NEW packages will be installed
  gnomad2 libmtp7 libnjb5 libtagc0
..
Once I copied an .mp3 file to my home directory, with the .ogg suffix I got a segfault on startup:
skx@gold:~$ cp /home/music/Audio/RedDwarf-back-to-reality.mp3 ~/foo.ogg
skx@gold:~$ gnomad2
..
LIBMTP_Get_First_Device: No Devices Attached
PDE device NULL.
TagLib: Ogg::File::packet() -- Could not find the requested packet.
TagLib: Vorbis::File::read() - Could not find the Vorbis comment header.
[segfault]
skx@gold:~$
So I downloaded the source ("apt-get source gnomad2"), and the dependencies for rebuilding ("apt-get build-dep gnomad2"). This allowed me to rebuild it locally:
skx@gold:/tmp/gnomad2-2.9.1$ ./configure --enable-debug && make
skx@gold:/tmp/gnomad2-2.9.1$ cd src/
And now it can be run under GDB.
skx@gold:/tmp/gnomad2-2.9.1/src$ gdb ./gnomad2
GNU gdb 6.8-debian
...
(gdb) run
Starting program: /tmp/gnomad2-2.9.1/src/gnomad2
...
LIBMTP_Get_First_Device: No Devices Attached
PDE device NULL.
[New Thread 0x41dcd950 (LWP 23593)]
TagLib: Ogg::File::packet() -- Could not find the requested packet.
TagLib: Vorbis::File::read() - Could not find the Vorbis comment header.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x41dcd950 (LWP 23593)]
0x00007fc89e0340b0 in taglib_tag_artist () from /usr/lib/libtag_c.so.0
(gdb)
Interestingly the crash comes from a library, libtag_c.so.0. So either: Time to guess which that is. Charitably we'll assume any library that segfaults will be quickly fixed, because it will have more users than a single program.. Moving on we can look at the gnomad2 source for mentions of taglib. Several mentions are found, but src/tagfile.c is clearly the correct place to look. That file contains the following code:
void
get_tag_for_file (metadata_t *meta)
 
  gchar *tmppath = filename_fromutf8(meta->path);
  TagLib_Tag *tag;
  const TagLib_AudioProperties *properties;
  TagLib_File *file = taglib_file_new(tmppath);
  if(file == NULL)  
    g_printf("could not open file %s", tmppath);
    g_free(tmppath);
    return;
   
  g_free(tmppath);
  tag = taglib_file_tag(file);
  properties = taglib_file_audioproperties(file);
  gchar* artist = taglib_tag_artist(tag);
  ..
This looks like a great place to explore because opening a file to read the tags is most likely where the crash is going to be coming from. Interestingly we see the code: Let us guess that the file opening is succeeding but that the tag structure fetched via taglib_file_tag is NULL - and this causes the crash. A quick edit:
  g_free(tmppath);
  tag = taglib_file_tag(file);
  if(tag == NULL)  
    g_printf("tag was null");
    return;
   
  properties = taglib_file_audioproperties(file);
  gchar* artist = taglib_tag_artist(tag);
Rebuild, and the segfault is gone. We have a winner. Now we just need to file a patch... ObFilm: 300

Steve Kemp: They look like big, good, strong hands, don't they?

Russ Allbery recently commented that it is really nice to receive patches for trivial scripts posted online. I agree. More than once I've posted a trivial script and had it be improved by people, or later included elsewhere. So in the spirit of sharing here is my latest toy script: This is a trivial script which searches a Maildir hierarchy and outputs a list of each email address which you've ever sent mail to. Why would you want that? In my case my (personal) spam filtering makes use of whitelisting, and the assumption is that if I've ever mailed you in the past then I want to see your replies, and you get a break. These days my (personal) mail filtering has a couple of broad rules: After that then I see your message only if CRM119 decides I should.
#
# remove potentially spoofed header
#
:0 fhw
* ^X-whitelist:
  $FORMAIL -I "X-whitelist"
#
#  GPG-signed messages are OK and will be whitelisted
#
:0fW
* < 1024000
 /home/steve/bin/isgpged
:0e
  $FORMAIL -A "X-whitelist: yes" -A "X-GPG-Signed: Yes"
#
#  Get the sender of the message.
#
FROM= formail -x From:  sed 's/^\([^@]*[ <]\)//'   sed 's/\([ >]\).*$//' 
#
# Add a whitelist tag if appropriate
#
:0 fhw
* !^X-whitelist: yes
* ? test -s $HOME/.procmail_whitelist
* ? echo $FROM  fgrep -qisf $HOME/.procmail_whitelist
  $FORMAIL -A "X-whitelist: yes" -A "X-Whitelist-Test: $FROM"
The net result of these tests is that I can now run the spam filter on non-whitelisted mails:
#
# Run CRM114 mailreaver
#
:0fw: .msgid.lock
* !^X-whitelist: yes
  /usr/bin/crm -u /home/steve/.crm /usr/share/crm114/mailreaver.crm
#
#  Spam.
#
:0:
* ^X-CRM114-Status: SPAM.*
* !^X-whitelist: yes
.CRM.Spam/
#
#  Unsure.
#
:0
* ^X-CRM114-Status:.*UNSURE
* !^X-whitelist: yes
.CRM.Unsure/
There is more to my setup than that, but that's the minimum you'd need to see. Of course this is a reminder, once more, that the kind of filtering that you carry out for yourself is different from that that other people will do. ObFilm: The NeverEnding Story

21 December 2008

Gustavo Franco: Debian Project 2.0 (rc bugs and site).

The title of this post sucks, so that's up to you help me come with an alternative. It's also a bit sarcastic to remember that Debian is around for ages, Internet was smaller and poor, web wasn't a hit on the streets. Debian GNU/Linux is successful being an universal operating system. The question is: What's next? Lenny is the short term answer, but we can do more...

Do we really need to stop and discuss everything? Let's discuss everything yeah, but always do the fun work in parallel. Let's force ourselves to much higher standards.

Please remember that in many cases it isn't that easy to contribute with more than ideas when an alternative implementation requires additional privileges. Higher standards doesn't mean lock everything even more, no. It involves release the keys and make sure we can revert any changes that are clearly bad.

Flame a new installer idea (remember that? nobody does...) or initial code is easy. Give it some room and see what happens later... Ask yourself now: Do I have any privileges in Debian that may be forbidding people to help this project? Well, if you answered yes please post in your blog, come out on IRC and talk to others. Make sure you act as an useful bridge not as a blocker. If you don't have enough time, share your privilege with a secondary (hint: Maintain a package is a privilege).

I'm on vacation from my regular job and committed to help Debian full-time on the following tasks, if folks from the respective projects are interested, drop me a comment. Those who disagree, please keep working on whatever you are. It will be much more productive to us. There we go:

RC bugs - Do downgrades/removals from packages with less XXX users (as in popcon) now. Higher standards! I can't do that by myself since I have no access, if you are a release team member and is happy with that, we define the number and I prepare the list based on BTS.

Site - I would like to help the team working on the web site to split it in two. "current" and "legacy". current would be a very small one with content related to a few topics such as: Lenny, download, documentation, how to contribute and more. It would have a new UI (multiple languages yes), use XHTML or whatever the team feels ok. The key detail is that current would be www.debian.org on the day we release Lenny and after. current would have a link (or multiple links) to legacy website. People are free to cross-post current content to legacy website as well, but the best would be move from legacy to current.

I have some more ideas, but let's focus on a few things so I can deliver. release team and www, it's your turn now.

Holger Levsen: Please show some respect while standing on the shoulders of giants

I unsubscribed from -devel and -vote the other day, as the pain/gain ratio was just not worth it anymore (and -project is very much pending). Sadly, I still could not escape from what I wanted to escape from, as some people bring up those discussions and "their style" on planet.

Please show some fscking respect to your peers! Debian is not about freedom (whether you like it or not, and no matter how you define freedom), it's not about freedom of speech or being open minded, it's just about creating the greatest free operating system. The free operating system, that's why we are here.

I for one, disagree with many debian contributors ideas and believes, whether (those ideas are) Debian related or not. To give one example, I think religion is hillarious and believing in (a) higher being(s) is a sure sign of an ill (or weak, or both, or whatever) mind. (Quite similar to smoking btw, and for those who don't know, I do smoke.) But I'm not shoving this down all the time to anybody who makes a religious reference in Debian (nor in real life). Quite the contrary, I do admire quite some people who take motivation out of their religious believes to do things they think are good. I belive this is quite common the other way round too, eg when religious and human-rights motivated groups work together to help immigrants. They dont share (all) the same beliefs, and in some they have huge disagreements (eg. I think religion is the root and a means^wcontributor to many of the worlds evils) but they choose to respectfully disagree on these views to be able to work together on the common goal they share: help immigrants.

And in the same way I (try to) (dis)agree with my fellow Debian peers about their insane or great ideas. I try to respectfully disagree (or respectfully agree). And I do acknowledge that I sometimes fail, eg the above words about religion might have hurt some peoples feelings. I do give a damn about having hurt those people (so I ment to say sorry with that in cheek damn joke), even though I dont give a damn about religion. And I think the last sentence might have been too sharp to be respectful while I belive the above paragraph is fine. I also think its fine to be disrespectful (in or outside Debian) once in a while, since we are all humans and make mistakes once in a while, but I dont think it's fine to have those people in Debian who fail all the time (or too often), be it because they are incompetent to treat fellow peers with respect or because they dont care (or because they think they do something good with their kindergarten rhetoric).

Contributing to Debian is not a human right (and suppressing some voices (and esp. noise) in Debian is not censorship, for fucks sake!). We are only here, because we are standing on the shoulders of giants (except for the very few giants among us) and because we want to create/improve a great operating system. And thats why I think it's perfectly acceptable and desirable to not allow those messages here, which are distracting and/or blocking of from reaching this goal. An occasional outburst (and be that a 2-4 weeks long or a single big outburst) doesnt qualify in my book for being kicked out, no matter how harsh or unreasonable it was. Constant disruption IMO is. Where to draw the line is tricky (and I'm convinced there can't be a single written "line" covering everything in Debian), but not to draw any lines will result in only the vocal and thick-skin minorities to stay.

And with nice, respectful communities (which have policies quite a lot like the DFSG) like fedora and ubuntu available, failing to be(come again) a respectfull community might really contribute a lot to the end or slow decline of Debian. Sure, "the end of Debian!11" is a somewhat constant meme, but it is (sadly) not like Debian is undestroyable. Debian is very certainly much easier to destroy than to rebuild.

We need to take measures to prevent some peoples ideas of freedom from harming or destroying the project. And I don't mean some peoples ideas of Debian police state or Debian teletubby county - I'm very confident those ideas will not win here. But sadly I can see the results of poisonous people, or rather, their behaviour win.

And undoubtfully I also can see many great people in Debian making sure this will not happen.

The future is unwritten and I wish we show our fellows the respect they deserve. Debian wasn't made by you, more than 99,99999% of it was made by other people. And if you have to, attack ideas, not people. And usually it's also unneeded to _attack_ an idea (merely challanging it is usually enough), because usually the Debian person proposing it is not so stupid not to take your criticism into consideration.

That's why I'm still in favor of a social committee, even though I see very much the dangers of power abuse and the cultural norms in a world wide project. But I see much more danger in not stopping unrespectful assholes from urinating into our living rooms and work benches, using the waiver of "free speech" and "we all have different standards of whats acceptable."

Simpler said: either you respect the community or this community shall not be yours.

That said, I wish you all a very merry xmas, whether you celebrate and believe, or one of the two, or none. Be happy and let it be. And may we have a great 2009, despite we'll release lenny that late! ;-)
P.S.: I'll post this to -project as well, so you can reply more easily.

Joerg Jaspert: Planet I18N

And there it is. We now can have Planet Debian in other languages than english. The first one is Spanish but the framework allows for any number. In case you do want to have Planet Debian in a different language, follow this steps: (2LETTER means the 2char ISO Code of your language. Like es for the spanish one, de for a german, etc.) You need to have 10 feeds ready and filled in in the file you send us. All the feeds should provide a category that has entries with only the language for this new instance. (Otherwise it won t make sense to create a Planet instance for a language ) Planet now features a link section called Planet I18N right above the Subscriptions. That will always list the currently active other language Planets. The various planets share the common files like CSS, graphics and all the hackergotchis.
It was a bit of work to get to the point where we are able to add multiple planets to the system. First I had to upgrade the code behind it to a newer one, Planet Venus instead of Planet Planet. Main advantage being that it uses multi-threading to fetch the feeds, greatly speeding up that part. And this weekend I had to rewrite all the templates, going away from old (and simple) htmltmpl format to one based on Django. Htmltmpl simply has no way to deal with our Planet now anymore, especially as it has no way to access all config file values. Which I need for the translated strings, or I would need one template per language. Which would be insane. Various other things in Django also make Django templates a way easier thing to deal with, for example simply saying
  % firstof var1 var2 var3 "nothing" % 
instead of having a huge if-then-elsif-elsif-lalala chain. And we do have that multiple times.

20 December 2008

Joey Hess: two parties and a story

Happy solstice! High point of the season for me, and today was a two party day. My sister has reached the point where a good b-day present for her is merging the blog style comments branch into ikiwiki and installing linux on yet another laptop. So we had a little installation party with cake and Carcassonne. Except for wireless it was a success. Since I outsourced the other present to the UK, perhaps someone can sort out Christmas by telling me how to get Intel 5100 wireless working in Debian? ;-) At the solstice party tonight, all three of the recent inhabitants of the bottom of Wortroot washed up on the porch, each of us looking a bit scraggly (especially the current resident). Jeremy told this story:
His friend decided to drive his SUV down the driveway to the farm, without consulting with him first. (This driveway was blasted out of the hillside by amateurs, using dynamite, in an earlier era of life at the farm. It has been basically unmaintained since, progressively more eroded and rutted, and over the last 20 years only the Yellow Truck (with no brakes) has had free reign over it.) He got down the hill ok, and he passed the small field, and then he got to the narrow place. (Where the creek is eroding the driveway away faster than we can cut into the hill to widen it.) And Jeremey told him to stop, but he kept on going.. sliding right off the driveway, and rolling the SUV into the creek. (The creek here is, now that I think of it, exactly as wide as your average SUV is tall, and in a gully exactly as deep as your average SUV is wide. It must have fit perfectly.) They tried winching it out. That didn't work. They didn't even think to ask neighbor Jimmie to once again haul a vehicle up the driveway. His tractor couldn't have gotten this one out. They had to rent a "small backhoe on treads, like a tank" to do the job.
Ok, maybe you have to have lived there to appreciate this. :-)

Biella Coleman: Crumble Away

I consider myself a fairly creative thinker but not even close to outrageously creative. I do have a few friends that fit that later category and one of them is my ex-roommate, Zack Brown (of kernel traffic fame. After many, really too many months of not seeing him, I met him for dinner last night under very snowy NYC conditions and as is always the case, he opened our evening meeting with an unusual and compelling story (and I usually am skeptical of his claims but my skepticism is most often totally unwarranted). Last night, his declaration was the following. He let me know that he has been working on a game, since before we met in 2001, which I was never knew about, and just recently all the pieces and this is metaphorical and literal for there are many pieces in the game have come together and has filed a patent for the game (news to me that you could patent a game). After thinking about it for 7 years(!!!), he has invented a game that I have to say looks stunningly interesting Crumble. It is simple in its rules and format but the strategy is quite demanding and complex. It is requires deep thought but also, it seems, a very visual mind. If you are interested in following its development and marketing (he is looking for manufacturers), you can keep track of developments on his blog. If you are a daring and patient soul (who can refrain from sneezing and laughing) you can make your own pieces and play sooner. And if you work at Google (NYC office) apparently, people are already playing, so you can join and Crumble Away!

Biella Coleman: Crumble Away

I consider myself a fairly creative thinker but not even close to outrageously creative. I do have a few friends that fit that later category and one of them is my ex-roommate, Zack Brown (of kernel traffic fame. After many, really too many months of not seeing him, I met him for dinner last night under very snowy NYC conditions and as is always the case, he opened our evening meeting with an unusual and compelling story (and I usually am skeptical of his claims but my skepticism is most often totally unwarranted). Last night, his declaration was the following. He let me know that he has been working on a game, since before we met in 2001, which I was never knew about, and just recently all the pieces and this is metaphorical and literal for there are many pieces in the game have come together and has filed a patent for the game (news to me that you could patent a game). After thinking about it for 7 years(!!!), he has invented a game that I have to say looks stunningly interesting Crumble. It is simple in its rules and format but the strategy is quite demanding and complex. It is requires deep thought but also, it seems, a very visual mind. If you are interested in following its development and marketing (he is looking for manufacturers), you can keep track of developments on his blog. If you are a daring and patient soul (who can refrain from sneezing and laughing) you can make your own pieces and play sooner. And if you work at Google (NYC office) apparently, people are already playing, so you can join and Crumble Away!

Julian Andres Klode: Filesystems


In the last months, I noticed that it was a bad decision to use XFS as my filesystem; and before I realized that ext3 was a bad choice as well. File systems have problems. I can t use ext3 on my laptop, because it would check the whole disk (120GB) every 30 boots. And this check takes a very long time (15 or 30 minutes, I do not know it exactly). XFS is better, but also problematic because deleting a big directory with a deep hierarchy takes a very long time like 1.5 minutes , whereas ext3 needs a few seconds. Also I still wonder why XFS needs no checks. Therefore I might go with ext4. The time needed to check the partition seemed to be much shorter and the speed is about the same as with ext3. The installation will probably be: Install Lenny on a ext3 partition, install kernel with ext4 support (which is kernel 2.6.28), add ext4 to /etc/initramfs-tools/modules, tar the partition, format it as ext4, and untar the contents again; because converting does not bring the advantags of ext4 to already existing files. BTW, I did some benchmarking with bonnie++, and XFS had about 20,000 operations per second, whereas ext3 had 60,000. ext4dev from Kernel 2.6.27 was a bit slower than ext3 I also tested BTRFS, but BTRFS is 1) not stable enough 2) as slow as XFS. It also shows horrible write performance of 19MB/s using dd, whereas XFS reached 42MB/s. BTW, benchmarking btrfs with bonnie++ only works using -s 0 , i.e. without I/O performance test, else you receive a kernel bug. I subscribed to the btrfs mailing list, and sent my bug report email 4 times, but it never reached the list it seems. This bug also happens in other cases. Posted in General

Mike Hommey: Useless use of

(Inaugurating a new category which will be kind of my own dailty wtf) A pretty well known matter is how some tools can be abused. Usually, it is cat or grep. Typical examples include the following two:
cat foo grep bar
grep bar foo awk ' print $2 '
Obviously, the first one can be reduced to:
grep bar foo
and the second, to:
awk '/bar/ print $2 ' foo
awk and sed are often part of the reason grep gets abused, because a lot of people don t know the latter form above or its sed equivalent. They don t know they could restrict the match on a specific column, too, which could be important in some cases. Anyways, a few months ago, I saw the most beautiful short piece of combined useless use of something I ve ever seen, which also happens to be a pretty unusual type:
more $file wc awk ' print $1 '
Not only does it use more where even cat, while still being useless, would be a better choice, but it also manages to use awk where wc could take an option to achieve the same goal. Yes, the above can be simplified as:
wc -l < $file
We never found who was responsible for this nicety.

19 December 2008

Julian Andres Klode: Short review: Fedora 10 and Ubuntu 8.10


After I tried OpenSolaris 2008.11, I also tried Fedora 10 and Ubuntu 8.10, each for almost one day. Creation of bootable USB stick: For both distributions, I created a bootable USB stick because it is faster to install from USB than from CD/DVD. The creation was easy in both cases. Fedora ships a shell script and Ubuntu a graphical program for this task. Both very equally easy to use. Booting from USB: Both distributions booted perfectly from USB. But there was a big difference in boot speed: Fedora 10 booted in about the same time Ubuntu needed to find the USB stick. Installation from USB to HDD: Installation of both systems went very well, without any problems. Fedora s installer is far more powerful than Ubuntu s, e.g. it allows to use LVM or encrypted partitions. To setup LVM and encrypted volumes with Ubuntu, you need to use the text installer on Ubuntu s alternate disk (It s debian-installer). Ubuntu s graphical installer received a new partioning screen. Boot: Fedora s boot time seems to have improved a lot since the last release. Ubuntu s boot time seems to be roughly the same as in 8.04. Both distributions provide a progress bar, whereas Ubuntu s usplash looks better. But this may change once kernel-based modesetting works on Intel cards in Fedora, because Fedora s splash program needs it for graphics. Else, it only displays ASCII progress bar. Login: Fedora 10 shipped with GDM 2.24, which means that there are no themes yet. But this was no problem, as the non-themed design of GDM has improved a lot. I even like it more than any themed GDM I have seen. It reminds me a bit of OSX. Desktop: Both distributions ship with GNOME 2.24. The default themes look good, whereas Fedora s uses more GNOME-like icons, whereas Ubuntu uses Human, which is based on Tango. And that is important for me, since I normally do not change any aspect of my desktop, except for adding cpu frequency and tomboy applets to the panel. Hardware support: Both distributions provide good hardware support. Ubuntu leads here, at the cost of having non-free drivers included on the disk.For users needing windows wireless LAN drivers, Ubuntu is the right choice, as it ships ndiswrapper and the graphical frontend (ndisgtk) on the installation medium. Fedora does not include ndiswrapper, because of what it is used for (installing non-free Windows drivers). Both distributions ship firmware, and consider firmware images as free enough, as they do not run on the CPU. EXT4: Fedora 10 ships with patches for EXT4 backported from Kernel 2.6.28. It also supports the installation on ext4 partitions, but only using the DVD and if booted with the ext4 option. The Live discs do not support installation to ext4. Package management: Both distributions ship with good package managment software. YUM really improved since the early times, where it downloaded an extra metadata file for every package. Nowadays, yum and apt seem to be on a nearly equal level, but aptitude lets Ubuntu win, because it can handle problems much better (ie. it proposes ways to solve problems) than YUM. Graphical package management: Ubuntu wins here. Fedora only ships PackageKit for package managment, which, in my opinion, is not able to really compete with Synaptic and gnome-app-install. Conclusion: Both distributions are very solid. Ubuntu still has the better package managment, and a bigger selection of packages. This has only been possible due to Debian, which is the base of Ubuntu. I tried to write this blog post not as an Ubuntu member. I always liked Red Hat and Fedora, and one of my first Linux distributions was Red Hat 9. Links: Posted in General, Ubuntu

18 December 2008

Wouter Verhelst: Metablogging

Ciar n O'Riodan blogs about how to blog, and his post is a good read. Most of it is solid advice, and I find there's little I disagree with; if you want to get a blog that's well-read by many people, then his advice is probably sound. So why am I posting this in my 'retorts' category? Because I feel that blogging isn't something that should be taken too seriously. A blog is an outlet, a place to get your thoughts out; it is a bit of a combination between a column and the readers' letters section in a newspaper. The writing style of a blog should reflect that; when I write a blog post, I don't care about what the truth is, I only care about my opinion. If I want to write the truth, I'll write a wikipedia article. If I want to read about the truth, I'll go and kill myself because I'm not naive enough to think something like "the truth" exists in this life. And if I want to read a magazine-style article, how about I'll go buy a magazine instead of reading a blog post? A blog post doesn't require references (beyond, perhaps, what you're replying to); a blog is a reference, one to the personal opinion of the author. If you think something is great, then as far as your blog is concerned, that something may be the best thing since sliced bread. If you think something is ugly, crap, and should be forgotten about, then on your blog it is. In more than one sense, blogs are like opinions: everybody has one. That doesn't mean I disagree with most of what Ciar n wrote; on the contrary. Points 1 through 3, and 6 through 10, will help you develop a good writing style. I couldn't agree more on point 11, that you have to push for publication yourself; and it's certainly true that being aggregated is a good way to put your thoughts in context, and to expose yourself to a larger readership. But I vehemently disagree with his point 4:
It can take time. A good article-style blog entry can take six hours to write!
Not that I think writing a blog post should take no time at all this particular one has been almost an hour in the making, now but because I feel that, simply, articles, with all their references, scientific or other background, and whatnot, simply do not belong on a blog. A bunch of articles with an RSS feed is not a blog, plain and simple. So while I do agree that it can take time, I do think you're doing fundamentally wrong if your blog post takes more than, say, an hour and a half, to be written. So, in the interest of being constructive, here are my own suggestions:
  1. Don't think too much, just write. It may sound stupid, but the most important part about blogging is actually doing it, and not wondering about how or why.
  2. Do reread if possible. While blog posts are usually read in a few minutes, they take much longer to write; it's easy to lose track of your line of thinking during that process, in which case you may end up with a completely incoherent post. That certainly is to be avoided.
  3. Ciar n's argument that if it's worth doing, it's worth blogging about certainly holds merit, but I'd go one step further: if it's worth thinking about, it's also worth blogging about. After all, a blog is mostly a braindump, so why not?
    That's not to say every thought can be turned into a coherent blog post, and I have a bunch of half-finished unpublished blog posts on my local hard disk which I may revisit at some undefined point in the future; but the principle is there.
  4. And last, but not least: don't care about what other people are doing. Your blog is your own, not someone else's; if you get an email that your content sucks, ignore it. If you get an email that you should be writing about something else instead, ignore it. You're not getting paid for your blog, are you?

Next.

Previous.