Search Results: "spa"

23 December 2008

Ondřej Čertík: Experience with git after 4 months

I switched to git from mercurial about 4 months ago. As Matt Mackall (the main author of mercurial) has pointed out, my arguments were partially just excuses for the switch, because everything could be fixed in mercurial as well (eventually). On the other hand, I really wasn't expecting to switch when I invested time and energy to learn mercurial. Also because I thought that git doesn't have such a nice documentation, has a steep learning curve and the community is hostile, because it is developed by the kernel people who are famous for sometimes being not so nice on the mailinglists (as I now found out, none of these are true). I was getting annoyed by small things one by one, after finally I said to myself enough is enough, let's just switch.

So as to the steep learning curve --- it took me a day or two to being able to do what I want, so it seems to me it's really easy to learn once you know some distributed vcs. I found out the documentation is much better than in mercurial --- in git one just types "git help command" and a full man page fires up with lot's of information and examples. In mercurial, one just gets a couple lines (compared to git) of help in the terminal, without examples. Also the first (actually second) thing I noticed is that "git log" (and other commands like "git diff") doesn't scroll out my terminal, but uses "less" automatically -- that's just great. The first thing I noticed is that git is superfast for almost every operation, especially it's noticeable with "git diff". As to the community, I only had a chance to send a few emails to the git list, so I cannot really say, but so far it's very responsive and friendly.

However, those are just little things that can (and I am sure they will) be fixed in mercurial as well. What is a big thing are branches, especially remote branches. One just fetches a remote repository and then works with it like with any other local branch, e.g. one can switch to it, or just "git log some_remote_branch" to see what is in there. One can easily compare them etc. With mercurial, I was using "hg out" and "hg in" commands to see what changes I will pull or push, but those commands require internet connection, so it really sucks and it's slow. In mercurial, I was using different directories for different branches, but that's just extremely inconvenient and also slow (creating a new branch is just a matter of adding one file, not copying the whole repository --- for example with the sympy hg repository, I often had to wait several seconds to clone a repo, while with the git repository it's just instant) and big (in terms of megabytes).

The bible of Mercurial, the hgbook says:
In most instances, isolating branches in repositories is the right approach.

But I think it's the wrong approach. The only argument for doing this that I accept is that sometimes you are not sure which branch you are in in git --- well, I use this trick (actually, just read the documentation of __git_ps1 in /etc/bash_completion.d/git), so my bash line always says which branch I am in using the red color. I never do any mistakes with this.

Anyways, I could continue like this (e.g. check out "git svn", "git rebase -i" and many other things), but you can read why git is better for example here, no need to repeat here. I am very happy now and I can only recommend to learn git.

So let me also say some things that are worse in git --- one thing that could be improved are URLs of the gitweb (hgweb urls are neat, gitweb urls use "?id=..." stuff). Another thing is that the debian package git is not git! You need to install git-core to get git (but this seems to be getting fixed).

There is also an interesting discussion happening right now in the debian-python mailinglist about switching the DPMT repositories to git. I think almost all opinions (for and against) were already stated, but if you have some opinion that wasn't yet said, please do so.

Alastair McKinstry: Quantum Macroscopic Santa

Why it is vitally important that eveyone goes to bed early tomorrow night ... With thanks to Wunderblog. Tags , , ,

Emilio Pozuelo Monfort: Collaborative maintenance

The Debian Python Modules Team is discussing which DVCS to switch to from SVN. Ondrej Certik asked how to generate a list of commiters to the team s repository, so I looked at it and got this:
emilio@saturno:~/deb/python-modules$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
865 piotr
609 morph
598 kov
532 bzed
388 pox
302 arnau
253 certik
216 shlomme
212 malex
175 hertzog
140 nslater
130 kobold
123 nijel
121 kitterma
106 bernat
99 kibi
87 varun
83 stratus
81 nobse
81 netzwurm
78 azatoth
76 mca
73 dottedmag
70 jluebbe
68 zack
68 cgalisteo
61 speijnik
61 odd_bloke
60 rganesan
55 kumanna
52 werner
50 haas
48 mejo
45 ucko
43 pabs
42 stew
42 luciano
41 mithrandi
40 wardi
36 gudjon
35 jandd
34 smcv
34 brettp
32 jenner
31 davidvilla
31 aurel32
30 rousseau
30 mtaylor
28 thomasbl
26 lool
25 gaspa
25 ffm
24 adn
22 jmalonzo
21 santiago
21 appaji
18 goedson
17 toadstool
17 sto
17 awen
16 mlizaur
16 akumar
15 nacho
14 smr
14 hanska
13 tviehmann
13 norsetto
13 mbaldessari
12 stone
12 sharky
11 rainct
11 fabrizio
10 lash
9 rodrigogc
9 pcc
9 miriam
9 madduck
9 ftlerror
8 pere
8 crschmidt
7 ncommander
7 myon
7 abuss
6 jwilk
6 bdrung
6 atehwa
5 kcoyner
5 catlee
5 andyp
4 vt
4 ross
4 osrevolution
4 lamby
4 baby
3 sez
3 joss
3 geole
2 rustybear
2 edmonds
2 astraw
2 ana
1 twerner
1 tincho
1 pochu
1 danderson
As it s likely that the Python Applications Packaging Team will switch too to the same DVCS at the same time, here are the numbers for its repo:

emilio@saturno:~/deb/python-apps$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
401 nijel
288 piotr
235 gothicx
159 pochu
76 nslater
69 kumanna
68 rainct
66 gilir
63 certik
52 vdanjean
52 bzed
46 dottedmag
41 stani
39 varun
37 kitterma
36 morph
35 odd_bloke
29 pcc
29 gudjon
28 appaji
25 thomasbl
24 arnau
20 sc
20 andyp
18 jalet
15 gerardo
14 eike
14 ana
13 dfiloni
11 tklauser
10 ryanakca
10 nxvl
10 akumar
8 sez
8 baby
6 catlee
4 osrevolution
4 cody-somerville
2 mithrandi
2 cjsmo
1 nenolod
1 ffm
Here I m the 4th most committer :D And while I was on it, I thought I could do the same for the GNOME and GStreamer teams:
emilio@saturno:~/deb/pkg-gnome$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
5357 lool
2701 joss
1633 slomo
1164 kov
825 seb128
622 jordi
621 jdassen
574 manphiz
335 sjoerd
298 mlang
296 netsnipe
291 grm
255 ross
236 ari
203 pochu
198 ondrej
190 he
180 kilian
176 alanbach
170 ftlerror
148 nobse
112 marco
87 jak
84 samm
78 rfrancoise
75 oysteigi
73 jsogo
65 svena
65 otavio
55 duck
54 jcurbo
53 zorglub
53 rtp
49 wasabi
49 giskard
42 tagoh
42 kartikm
40 gpastore
34 brad
32 robtaylor
31 xaiki
30 stratus
30 daf
26 johannes
24 sander-m
21 kk
19 bubulle
16 arnau
15 dodji
12 mbanck
11 ruoso
11 fpeters
11 dedu
11 christine
10 cpm
7 ember
7 drew
7 debotux
6 tico
6 emil
6 bradsmith
5 robster
5 carlosliu
4 rotty
4 diegoe
3 biebl
2 thibaut
2 ejad
1 naoliv
1 huats
1 gilir

emilio@saturno:~/deb/pkg-gstreamer$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
891 lool
840 slomo
99 pnormand
69 sjoerd
27 seb128
21 manphiz
8 he
7 aquette
4 elmarco
1 fabian
Conclusions:
- Why do I have the full python-modules and pkg-gstreamer trees, if I have just one commit to DPMT, and don t even have commit access to the GStreamer team?
- If you don t want to seem like you have done less commits than you have actually done, don t change your alioth name when you become a DD ;) (hint: pox-guest and piotr in python-modules are the same person)
- If the switch to a new VCS was based on a vote where you have one vote per commit, the top 3 commiters in pkg-gnome could win the vote if they chosed the same! For python-apps it s the 4 top commiters, and the 7 ones for python-modules. pkg-gstreamer is a bit special :)

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)

Patrick Schoenfeld: How to NOT improve relationships to your peer projects

I don't know if Aaron is an Ubuntu Developer. I hope not. And I hope that no one of the commenters is one. But this post and especially the comments to it (because the article may have some justification) is certainly not a way to improve the relationship between projects like Ubuntu and the projects its based on.

Yes, it is true, that we have a rough tone in our mailing lists and yes it is sad that every now and then topics pop up that need to be discussed till somebody is hurt and leaves (the project). I certainly hope that this can be improved over the time, but most likely this is not something which breaks the project. Who knows what its worth. We have a large community, very much different opinions and therefore conflicts. Possibly it enhances the quality of our distribution, because things that certainly would make our product worse (e.g. lowering quality standards) won't get done, because they'll get a strong opposition.

But whats the point with the innovations, Aaron? Is it the job of a distribution to serve with innovations? A distribution that serves as a base for more then 10 other distributions? A distribution that is known to care a lot about freedom and is known (and appreciated) for a high quality standard. I don't think we need to serve innovations. We served innovations back in a time where it was needed. Where things were missing. Like a good package management, like conf.d directories. Apart from this I think there were enough innovations in the past years. Possibly not that user-visible and trendy as a graphical virtualization frontend. What about xen-tools for example?
Now its all about reinventing the wheel or developing frontends. Launchpad for example is just reinventing the wheel. Savannah exists, GForge exists. Bazaar is just reinventing the wheel. Git exists. So does Mercurial.

But whats most sad about your posts and the comments is that you (and your commentors) seem to share the opinion that all Debian does is packaging software and nothing more. According to you Debian developers do not fix bugs, forward patches, file (important) wishlist bugs, encourage upstreams to remove horribly broken licensed software, improve their own software and tools (dpkg, aptitude, apt-get, the devscripts, ....), do integration work (alternatives, $EDITOR usage, ...), documentation work (writing manpages). The reality is that there are many small and greater things driven by Debian Developers that serve the whole community. Additional to the ground work that your favorite operating system is based on and without which it could not exist.
Its just not beeing doped like it is done by companies with their marketing departments that actually earn money with what they do. Take the projects you named. They all have one. They all have paid developers.

In any way such a ranting (with no real
constructiveness) will not serve the relationships between other projects and Debian.

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

Wouter Verhelst: Shopping for a new laptop

So my current Apple PowerBook is now 4 years old, and starting to show its age. Some parts of it have been replaced (keyboard, hard disk, bottom cover, and battery), and now it's starting to have issues again. It's not breaking down completely just yet, but seen its age, I might as well start looking for something new rather than having it fixed. I bought this PowerBook because I wanted a laptop that did not have an Intel or AMD processor at its core, which at the time meant either apple or tadpole; since, however, tadpole is only for the rich and famous (seriously well, perhaps being famous is not a requirement), and apple now also only has intel-based laptops, I guess I'm stuck with intel stuff. Besides, a 1.2Ghz SPARC is slower than my current 1.3Ghz PowerPC. So, dear lazyweb, I'd appreciate any suggestions about good laptops. What 'good' means, in my eyes, is the following: I guess the above list is quite long, and realize that my ideal laptop might just not exist; but hey, it never hurts to try, right? If it does not come preloaded with Windows, that's a plus; but OTOH, wiping a hard disk is not hard. I should also note that I'm not really interested in the low-price laptops that are available everywhere these days. Those usually have much lower performance, too small a screen, and other cutbacks that make the laptop be less than interesting for me. This is for work, not play.

21 December 2008

Kurt Roeckx: Debian and (non-free) firmware: where to put it?

One of the discussion that always seems to come back is what to do with firmware. It's mostly about freedom versus usability. I think the main question is where do we want to put non-free firmware in our archive. The opinion seems to range from that it should be in the non-free archive to that it should be in the main archive, with many opinions in between, and they all have good arguments. We have 3 options that are related to it in our current vote that seem to come down to: I don't see the point of that second option, and really have to wonder if there is any firmware under a license that would comply with the DFSG except that the source isn't available. The third option can make sense for some of the blobs in the kernel that are basically settings that are written to the device. You could write an editor for it, assuming there is documentation for it. But I doubt that they're all settings, and it just seems to ignore the problem. I find Theodore Ts'o' suggestion about creating a new section for firmware the best idea so far, specially if we can agree that our official CD/DVD images will have that section on it. It has the advantage that all software in our main archive can comply with the DFSG, that you don't need to add the non-free section just to be able to use hardware that requires firmware and that you can just take a CD/DVD that works.

Uwe Hermann: 256 Creative Commons Christmas Songs

Christmas Tree Yes, it's that time of the year again... it's almost Christmas, which means that I once again updated my 10 + 100 Creative Commons Christmas Songs blog article I originally wrote in 2005. That's a collection of a lot of freely downloadable, Creative Commons licensed Christmas music. Some of the older entries in the list are no longer available unfortunately, some only needed a URL update, and I also added more than 30 new songs this year. This currently makes a total of 256 CC Christmas songs (more will probably be added over the next few days), so head over to the full song list and get those downloads started... (Photo: Wikipedia. Author: Malene Thyssen. License: GFDL 1.2 / CC-BY-SA 2.5)

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.

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

Andrew Pollock: [tech] The Bad Block HOWTO hurts my brain

Seriously. It reads more like a worked example, without enough of the underlying theory. It doesn't help that I have a slightly more complicated situation, in that I have a filesystem on a logical volume that spans 6 physical volumes. So maybe writing all of this down will help... I know the disk with the problem: /dev/sdc I know the LBA of the sector where the rot starts: 754238963 I know that the physical volume is on /dev/sdc1 and that the partition starts at sector 63 (via sfdisk -luS /dev/sdc) Therefore, within /dev/sdc1, we're talking about block number 754238899 (754238963 - 64) I know the physical extent size is 4096 Kb (via pvdisplay -c /dev/sdc1 awk -F: ' print $8 '). In LBA block size this becomes 8192 (2 x 4096) I know the physical extents start 192K (into the partition, presumably) (via pvs -o+pe_start /dev/sdc1) This is where the Bad block HOWTO starts to quicken the pace a bit on me... I'm supposed to take the physical partition's bad block number (754238899) and divide it by the size of the physical extent (in LBA block size) (8192). So that'd be 92070. This is where I think I end up completely departing the HOWTO, because my filesystem spans multiple physical volumes. Here's my general musings... lvdisplay --maps /dev/data/srv tells me this about /dev/sdc1:
  Logical extent 272326 to 391559:
    Type                linear
    Physical volume     /dev/sdc1
    Physical extents    0 to 119233
So I'm inferring from this, given that I know I want physical extent 92070 of this device, that this corresponds to logical extent 92103 (again, I'm expressing this in LBA block size, so that's (272326 / 8192) + 92070 So now I supposedly know the logical extent (in LBA size) of the bad block. Now what? I think I'm wandering up too many layers, closer to the physical filesystem, but I'll continue wandering around... So presumably at this point, I just want to convert the logical extent to an actual filesystem block number. Maybe the logical extent number divided by the extent filesystem block size divided by the LBA block size? 92070 / (4096 / 512) = 11508. That feels awfully low though. The dd test suggests this is incorrect. At this point I'm feeling fairly lost. If someone out there is reading this, and they've done this before, I'd love to hear from you.

Andrew Pollock: [tech] Reflections whilst waiting for fsck

I'm watching paint dry while e2fsck does its thing on a ~2TB filesystem (the one with all the good stuff on it on mirror.linux.org.au). I'd seen a spate of kernel errors during the week about "attempt to access beyond end of device" so I figured it was due for one. Let's take this output for example:
apollock@disco:~$ sudo e2fsck -y /dev/data/srv
e2fsck 1.40-WIP (14-Nov-2006)
/srv contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 209158151 has illegal block(s).  Clear? yes
Illegal block #12 (1620503259) in inode 209158151.  CLEARED.
Illegal block #13 (2992116621) in inode 209158151.  CLEARED.
Illegal block #14 (1657577172) in inode 209158151.  CLEARED.
Illegal block #15 (1168774619) in inode 209158151.  CLEARED.
Illegal block #16 (993415032) in inode 209158151.  CLEARED.
Illegal block #18 (1611893880) in inode 209158151.  CLEARED.
Illegal block #20 (2939071693) in inode 209158151.  CLEARED.
Illegal block #21 (1714919190) in inode 209158151.  CLEARED.
Illegal block #22 (1450852455) in inode 209158151.  CLEARED.
Illegal block #23 (3482149179) in inode 209158151.  CLEARED.
Illegal block #24 (4143923374) in inode 209158151.  CLEARED.
Too many illegal blocks in inode 209158151.
Clear inode? yes
Restarting e2fsck from the beginning...
/srv contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
.
.
.
How much more work would it be to tell the administrator the name of the file associated with inode 209158151? That'd be a lot more useful to most mere mortals than the inode number. I suppose if the filesystem is in a really bad state, ascertaining that information may be difficult... Time to play with debugfs while I continue watching paint dry...

David Paleino: Free software yes, free speech too!

Dear Julien, that proposal is not about censoring mails sent in by people. Think to it as that "karma" thing many sites have. And yes, I'm one of those in favour of such project. I'm a free software,speech guy, but just hate all the flames seen lately on -devel. We must find a way to stop that, or at least to control it. Again, it's not censorship, as I read it, all messages would go in. Citing:
I have also seen opinions that other "obvious" ways of addressing the issue,
such as moderation of the lists or a new organizational entity, which
would act as a list watchdog, is not the way to go, as it adds yet
another layer of bureacracy and raises the usual questions of choosing
the "right" people for the privileged position.
It's just an alternative way of expressing opinions about a mail. Consider it as those "+1"/"-1" mails that you can often see.

19 December 2008

Julian Andres Klode: Short Review: OpenSolaris 2008.11


The installation was fast and easy, comparable to the installation of Ubuntu. OpenSolaris seems to have big problems in terms of wireless LAN. I am using a WPA/WPA2 encrypted wireless LAN, and it asked to me to enter my passphrase. I entered it, and nothing happened. I was able to get wireless working via commandline, but this lead me to the problem that domain names were not resolved. I could solve this, too. But none of this was permanently, and it should work the graphical way or tell me it does not work. Maybe this whole thing happened because I have a space in the name of my Wi-Fi network. Another problem is suspend/resume, which is not yet working for most laptops; whereas recent Linux distributions support suspend/resume out-of-the-box. OpenSolaris ships non-free components, e.g. NVIDIA display drivers, or Java 6 Update 10. Hopefully, there will be an option in future to install it without this stuff. Talking about the desktop, there is GNOME 2.24 with a custom theme. In my opinion, the theme looks quite good, although I do not like the colours of the minimize,maximize,close buttons of the windows sometimes. One feature introduced with this release is Time Slider. Time slider worked very well, although for reasons I do not know, I do not really like it. The integration with nautilus is good, but I would still like to see an interface using a calender widget instead of this slider. I remember that the slider sometimes did not work as I expected, e.g. it jumped from left to right. The package management is interesting, but it is to hard to use in my opinion. Debian and derived distributions provide far better package managment in my opinion. Especially the graphical part needs a lot of work in order to compete with Debian. The overall speed was quiet good, and memory usage was 512MB. There is one problem with measuring memory consumption in gnome-system-monitor: I installed netbeans 6.5 and started it, and gnome-system-monitor showed a memory usage of around 20MB, while the program used more than 200MB (according to top). All in all, OpenSolaris gets closer to modern Linux distributions like Fedora 10 or Ubuntu 8.10, but it is not there yet. But with improvements in the area of Wi-Fi and Suspend/Resume, future releases of OpenSolaris might become a good alternative to Linux distributions, at least if you do not really care about the ideas of free software. Posted in General

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?

Pablo Lorenzzoni: Lenny in the Asus EEE PC 901 - day 2

Really, now is the day 3 I am just considering this day 2 for I had to do a lot of things again due to my dumbness. Let me explain: I had a desktop environment in place (with fluxbox), wired network, and most of my daily softwares (Iceweasel, X-Chat, Pidgin, GkRellM), then I decided to test the Suspend-to-Disk At first, it seemed to work well: I made a swap file for uswsusp, just as documented what is not documented is that this file must be outside the encrypted partition! So, when I turned it on again, an error telling me about some corruption in the opened luks partition. I though OK, something gone mad, just a matter of running an e2fsck . So I booted with the netinst pendrive, opened the luks partition and ran it with -y. Everything seemed to be corrupted!!! It spend almost 5 minutes fixing bogus inodes and stuff before I decided to interrupt the process this fixed filesystem would never work anyway. So I began from scratch All over again. When I got into a working base-system, some other thought stroke me: what if Brenda were to use rohan (have I mentioned the name is rohan? I name all my machines after places in Middle-earth)? So, a minimal user-friendly desktop is needed After some research, I decided to go for LXDE. This is a minimalist desktop with OpenBox as the window-manager. I ve been using FluxBox for a long time now, so running another BlackBox-based would not be such a problem. LXDE is quite good. So far, everything I expected is working fine . Then I decided it s time to move on to configure the Wi-Fi stuff. I installed the RT2860 modules from Debian/EEEPC Repository and added rt2860sta to /etc/modules. At first I was worried that some reports of it not working with WEP showed up in a Google Search But nothing could be smoother! I installed wicd and it detected our WEP AP like a charm (and a bunch of other APs nearby)... after entering our key it just connected fine and I ve been using it since no glitches so far. I would like to play a little more, but I called the day since I got a lot of work going on Next item planned is the webcam

Michal &#268;iha&#345;: Gammu stable version 1.22.0

After two and half months of development, new Gammu stable release is out. Since last testing version there are only minor changes in vCard export, but full changelog since 1.21.0 is quite long: You can download from usual place: http://cihar.com/gammu/, Binary packages will be available soon in all usual places (Debian Unstable, OpenSuse build service, Ubuntu PPA repository).

Next.

Previous.