Search Results: "ag"

17 May 2010

Marco Túlio Gontijo e Silva: Google Summer of Code weekly report #1

Some students of the Google Summer of Code are required to make a weekly report describing their activities. As far as I know, I m not, but I think it s a good idea in general, to comunicate to my mentor and other interested folks what I ve been doing. So I ll start to do them here. My project is Implementing the Immix Garbage Collector Algorithm on GHC. Last week I was most of the time involved in my school activities, so I didn t have much time to work on the project. I went to the bureaucratic services of my university to get a Proof of Enrollment in English, print/sign/scanned the Foreign Certification Form and sent them to Google on Friday afternoon. I asked them to confirm the receival, which they didn t. I m planning to ask again for a confirmal today in the afternoon, if I still get no reply. I also tried to build the current version of GHC, from the darcs repository. I was getting an error with my old (and updated) repository, so I donwnloaded a new one and could build nicely. Then I noticed that with make distclean I could also build with my older one, so I just removed the new. I downloaded the nofib benchmark suite and made an initial benchmark. While I was reading the documentation of the build process of GHC, I noticed a bug, and submitted a patch to the cvs-ghc mailing list. The patch was applied, with some changes. This week I plan to focus more on the project, and spend the weekly 36 hours working on it. I m planning to start reading the Immix Technical Report to see if there s anything new there with regard to the article. After that I ll read the wiki documentation on the GHC current GC, together with the GHC source code. I ll also experiment with Criterion. While I was writing this post I noticed that the GC benchmark in nofib is failing:
==nofib== fibheaps: time to run fibheaps follows...
/usr/bin/time ../../runstdtest/runstdtest ./fibheaps  -o1 fibheaps.stdout -o1 fibheaps.stdout  -ghc-timing     300000;  /usr/bin/time ../../runstdtest/runstdtest ./fibheaps  -o1 fibheaps.stdout -o1 fibheaps.stdout  -ghc-timing     300000;  /usr/bin/time ../../runstdtest/runstdtest ./fibheaps  -o1 fibheaps.stdout -o1 fibheaps.stdout  -ghc-timing     300000;  /usr/bin/time ../../runstdtest/runstdtest ./fibheaps  -o1 fibheaps.stdout -o1 fibheaps.stdout  -ghc-timing     300000;  /usr/bin/time ../../runstdtest/runstdtest ./fibheaps  -o1 fibheaps.stdout -o1 fibheaps.stdout  -ghc-timing     300000;
Command exited with non-zero status 2
0.72user 0.05system 0:00.77elapsed 99%CPU (0avgtext+0avgdata 277664maxresident)k
0inputs+32outputs (0major+17695minor)pagefaults 0swaps
././fibheaps 300000 < /dev/null
**** expected exit status 0 not seen ; got 2
././fibheaps 300000 < /dev/null
expected stderr not matched by reality
--- /tmp/no_stderr3559  2010-05-17 07:35:09.000000000 -0300
+++ /tmp/runtest3559.2  2010-05-17 07:35:10.000000000 -0300
@@ -0,0 +1,2 @@
+Stack space overflow: current size 8388608 bytes.
+Use  +RTS -Ksize -RTS' to increase it.
Command exited with non-zero status 1
0.72user 0.06system 0:00.85elapsed 92%CPU (0avgtext+0avgdata 277664maxresident)k
368inputs+48outputs (1major+22085minor)pagefaults 0swaps
Command exited with non-zero status 2
0.71user 0.04system 0:00.78elapsed 97%CPU (0avgtext+0avgdata 277664maxresident)k
0inputs+32outputs (0major+17694minor)pagefaults 0swaps
././fibheaps 300000 < /dev/null
**** expected exit status 0 not seen ; got 2
././fibheaps 300000 < /dev/null
expected stderr not matched by reality
--- /tmp/no_stderr3578  2010-05-17 07:35:10.000000000 -0300
+++ /tmp/runtest3578.2  2010-05-17 07:35:11.000000000 -0300
@@ -0,0 +1,2 @@
+Stack space overflow: current size 8388608 bytes.
+Use  +RTS -Ksize -RTS' to increase it.
Command exited with non-zero status 1
0.72user 0.06system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277664maxresident)k
0inputs+48outputs (0major+22093minor)pagefaults 0swaps
Command exited with non-zero status 2
0.72user 0.06system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+32outputs (0major+17696minor)pagefaults 0swaps
././fibheaps 300000 < /dev/null
**** expected exit status 0 not seen ; got 2
././fibheaps 300000 < /dev/null
expected stderr not matched by reality
--- /tmp/no_stderr3597  2010-05-17 07:35:11.000000000 -0300
+++ /tmp/runtest3597.2  2010-05-17 07:35:12.000000000 -0300
@@ -0,0 +1,2 @@
+Stack space overflow: current size 8388608 bytes.
+Use  +RTS -Ksize -RTS' to increase it.
Command exited with non-zero status 1
0.72user 0.07system 0:00.83elapsed 96%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+48outputs (0major+22095minor)pagefaults 0swaps
Command exited with non-zero status 2
0.68user 0.08system 0:00.78elapsed 97%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+32outputs (0major+17695minor)pagefaults 0swaps
././fibheaps 300000 < /dev/null
**** expected exit status 0 not seen ; got 2
././fibheaps 300000 < /dev/null
expected stderr not matched by reality
--- /tmp/no_stderr3616  2010-05-17 07:35:12.000000000 -0300
+++ /tmp/runtest3616.2  2010-05-17 07:35:12.000000000 -0300
@@ -0,0 +1,2 @@
+Stack space overflow: current size 8388608 bytes.
+Use  +RTS -Ksize -RTS' to increase it.
Command exited with non-zero status 1
0.70user 0.09system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+48outputs (0major+22089minor)pagefaults 0swaps
Command exited with non-zero status 2
0.71user 0.06system 0:00.93elapsed 82%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+32outputs (0major+17695minor)pagefaults 0swaps
././fibheaps 300000 < /dev/null
**** expected exit status 0 not seen ; got 2
././fibheaps 300000 < /dev/null
expected stderr not matched by reality
--- /tmp/no_stderr3635  2010-05-17 07:35:12.000000000 -0300
+++ /tmp/runtest3635.2  2010-05-17 07:35:13.000000000 -0300
@@ -0,0 +1,2 @@
+Stack space overflow: current size 8388608 bytes.
+Use  +RTS -Ksize -RTS' to increase it.
Command exited with non-zero status 1
0.73user 0.06system 0:00.95elapsed 83%CPU (0avgtext+0avgdata 277680maxresident)k
0inputs+48outputs (0major+22089minor)pagefaults 0swaps
make[1]: ** [runtests] Erro 1
Failed making all in fibheaps: 1
make: ** [all] Erro 1
Erro is error in Portuguese. I ll investigate on that.

Enrico Zini: fuss-launcher: an application launcher built on apt-xapian-index

fuss-launcher: an application launcher built on apt-xapian-index Long ago I blogged about using apt-xapian-index to write an application launcher. Now I just added a couple of new apt-xapian-index plugins that look like they have been made just for that. In fact, they have indeed been made just for that. After my blog post in 2008, people from Truelite and the FUSS project took up the challenge and wrote a launcher applet around my example engine. The prototype has been quite successful in FUSS, and as a consequence I've been asked (and paid) to bring in some improvements. The result, that I have just uploaded to NEW, is a package called fuss-launcher:
* New upstream release
   - Use newer apt-xapian-index: removed need of local index
   - Dragging a file in the launcher shows the applications that can open it
   - Remembers the applications launched more frequently
   - Allow to set a list of favourite applications
To get it: It requires apt-xapian-index >= 0.35. To try it:
  1. Make sure your index is up to date, especially if you just installed app-install-data: just run update-apt-xapian-index as root.
  2. Run fuss-launcher.
  3. Click on the new tray icon to open the launcher dialog.
  4. Type some keywords and see the list of matching applications come to life as you type.
It's worth mentioning again that all this work was sponsored by Truelite and the Fuss project, which rocks. Some screenshots: When you open the launcher, by default it shows the most frequently started applicationss and the favourite applications: launcher just opened When you type some keywords, you get results as you type, and context-sensitive completion: keyword search When you drag a file on the launcher you only see the applications that can open that file: drag files to the launcher

16 May 2010

Enrico Zini: New apt-xapian-index plugins

New apt-xapian-index plugins Besides a fair bit of refactoring and cleanup, I've recently added two new plugins to apt-xapian-index: app-install If app-install-data is installed, information about .desktop files will now enter the index. This allows, for example, to limit query results to only those packages that contain .desktop files, which is quite useful, for example for building desktop-oriented package managers. aliases It reads term->aliases mapping from files in /etc/apt-xapian-index/aliases/ or /usr/share/apt-xapian-index/aliases/, and feeds them as synonyms in the index. apt-xapian-index ships an example alias file, to give people who know the wrong software names a chance to find the right ones:
# Aliases expanding names of popular applications
excel       XToffice::spreadsheet
powerpoint  XToffice::presentation
photoshop   XTworks-with::image:raster
coreldraw   XTworks-with::image:vector
autocad     XTworks-with::3dmodel
Notice how it is possible to use index terms that happen to be Debtags tags as synonyms, which yields better results, language independence and extra coolness.

Russell Coker: Pants To Poverty

On Wednesday I saw a group of people wearing nothing but underwear walking through the Melbourne CBD. They were promoting Pants To Poverty which is a UK based underwear company that sells Organic Fair-Trade underpants [1]. The corporate web site seems equally divided between the purposes of selling underpants and lobbying for a variety of social issues including fair-trade, better working conditions in factories, and the abolition of pesticides that kill farmers. The web site itself is worth a look in terms of it s design, for what it does it works really well. When viewing a picture of a model wearing underpants you can scroll your mouse over the picture to see an enlarged view of a particular area of interest. This works really well on a Netbook display (everyone should carry a Netbook with 3G net access when shopping), I would like to see car companies use the same technique for displaying pictures of cars on small screen devices. It s unfortunate that it doesn t just show the full sized images when you use a large display, it would all fit on a 1680*1050 display. The underwear in the UK costs between 10 pounds ($16.40AU) and 15 pounds ($24.60AU) a pair for adults and 18 pounds ($29.52AU) a pair for a pack of three for children. The Little Green Bag Co [2] sells the adult underpants in Australia for $22AU per pair. These appear to be the cheaper items from the range, so it seems that it would be cheaper to order from the UK if you were buying a few pairs. Also if the items you wanted happened to be the more expensive items from the range then you would have to order from the UK. A quick check of the Myer web site shows that even $22 per pair isn t particularly expensive for women s underwear, but it is really expensive for men s underwear. The Australian web site for Pants to Poverty lists a bunch of resellers, but a quick scan of the list didn t turn up anyone cheaper than the Little Green Bag Co. According to the sizing information on the home page of the UK site the largest underpants that they sell are size 14 (in the Australian size range for women which is apparently 78-83cm). According to a variety of news reports the average size of an Australian women is either size 14 or 14-16. Apparently women s clothing is often not made to standard sizes due to the practice of vanity sizing, so it s difficult to determine how these things compare. But it does seem that a significant portion of the women in Australia won t be able to buy products from Pants To Poverty in their size. I don t think that many men will buy from them, $22 is really expensive. So while I think it s great to have a bunch of men and women running around the CBD wearing only underwear I don t think that the future of their Australian business is particularly good. The difference in price between Pants To Poverty products and other underwear would allow you to buy a significant quantity of Organic Fair Trade chocolate or other food.

Ingo Juergensmann: Slow Import with Digikam

I'm using Digikam to manage my pictures. There are currently more than 32000 pictures to handle. While Digikam 1.2 brought some great performance increases, but the import of new images is driving me crazy. I don't know since when the import ist that slow, but currently a 12 MP image needs 8 seconds to import when it is horizontal. When Digikam needs to rotate it during import because it is a vertically aligned image, then it needs approximately 20 seconds for each image to import.
Funny enough the larger NEF files are imported within a fraction of a second.
I don't know whether this is a Digikam issue or those of a related library or such, but it's really, really annoying when you shot a bunch of fotos and need hours to import them.

UPDATE:
Mark Purcell points at a libexiv2 bugreport: #579835

Thomas Koch: tnt is not topgit

As I've already written, I'm working on an alternative to topgit. I made a first attempt in perl some weeks ago, but gave up after some frustrating hours. Yesterday I started again in python and had a very nice time putting together the groundwork and the first two commands.
It may be noted, that I've no previous programming experience in neither perl nor python!
By now, I can create a patchset branch and add a patch branch to it. There's still a lot to do. For my talk at the Debian Mini Conference in Berlin next month I'd like to be able to update patch branches, export patchsets and give a status summary.
Maybe I can already find somebody who's interested in joining me with this project? The code is in my github account, however the name will most probably change.
One reason that I've been much faster in python is the fantastic python-git library. I can only recommend it!
In other news: I'm searching a couch to surf in Berlin from june 7.-12. I prefer couchsurfing over hotels mostly to get to know nice people around the world. Please contact me, if you'd like to host me for a night or two. (thomas at koch punkt ro)

Russell Coker: Noise Canceling Headphones and People Talking

The Problem I was asked for advice on buying headphones to protect students who have medical conditions that make them sensitive to noise, such headphones would have to allow them to hear human voices. Due to the significant differences in hearing issues (including physical damage and sensory issues) it seems unlikely that getting identical headphones for all students will give an ideal result. The person who asked me the question didn t explain what type of students are being taught. If it s an adult education class then getting everyone the ideal headset wouldn t be particularly difficult. If however it s the special needs class in a high school then students would probably want the most shiny headphones rather than the ones that are a best match to their hearing issues. Also some combinations of hearing problems and ambient noise can t be addressed by such headsets. A friend who developed Noise Induced Hearing Loss from shooting tells me that he really can t stand brass instruments. But the high frequencies from such instruments tend not to be filtered well by noise canceling headphones, so any student who has such a problem would probably need hearing aids that filter out high frequencies I believe that such hearing aids are available but don t have any particular knowledge about them. Test Results I did a quick test on my Bose QC-15 noise canceling headphones [1] which cost me $320US including tax and my cheap Bauhn headphones from Aldi [2] which cost me $69AU (and which apparently could later be purchased on special for $35AU to clear stock). I found that when not playing music they seemed to perform about equally well in terms of allowing me to hear people speaking, although I admit that just having a conversation with the nearest people wasn t the most scientific test. When I was playing music I found that the Bose headset made it significantly more difficult to hear people speak than the Bauhn headset. This is an advantage for the Bose for it s intended use, and I expect that students who need a headset for medical reasons won t want to listen to music while studying so it s never a disadvantage. In both cases, if the headphones are used for just canceling unwanted noise the speaker shouldn t need to raise their voice significantly to be heard. In some situations the noise canceling headphones make it easier for someone with good hearing to hear what people are saying, for example a conversation in a car or plane could probably be held at a lower volume if all people involved were wearing suitable noise canceling headphones. If however the students have damaged hearing then I can t make any prediction as to whether the teacher could speak at a lower volume or whether they would be required to use a higher volume if the students wore such headphones. The Brookstone on-ear headphones that I tested [3] seem particularly noteworthy in this regard due to the way they canceled the melody of the store background music and just left the singing. If someone wants to buy headphones for people with physical damage to their ears then the Brookstone product is really worth investigating. If however the target market happens to be people on the Autism Spectrum then they may hate anything that presses on their ears (as I do) in which case the Brookstone product can t be considered. The Brookstone price of $150US (presumably $160 including tax) was also the best price I saw when shopping in the US but I presume that I could have found something with a similar quality and price to Bauhn in the US if I looked hard enough. Conclusion The big advantage of the Bose for this use is that it blocks a wider range of frequencies than some other noise canceling headsets. They all work really well on regular low frequency noise such as car engine noise (whether a car passenger or a pedestrian) but to stop certain higher frequencies such as those from air conditioning systems the Bose wins hands down. I guess this may depend on what noise is to be blocked, if a class was held in the same room every time and noise canceling headsets were purchased specifically for that class then it would probably make sense to ensure that the acoustic capabilities of the headsets match the unwanted background noise and the hearing issue that each student has. Here s an Amazon link: Bose QuietComfort 15 Acoustic Noise Cancelling Headphones I ve been reading about Sensory Processing Disorder. I m sure that some children are doing poorly in the default school system because they either have an undiagnosed case of SPD or who don t have enough symptoms to get a diagnosis. I think it would make a good experiment to try noise canceling headphones on some of the difficult children, I wouldn t expect a high success rate but if it worked in as little as 5% of cases and did no harm to the children who didn t benefit then it would be worth doing.

Russell Coker: systemd a Replacement for init etc

The systemd projecct is an interesting concept for replacing init and related code [1]. There have been a few attempts to replace the old init system, upstart is getting some market share in Linux distributions and Solaris has made some interesting changes too. But systemd is more radical and offers more benefits. While it s nice to be able to start multiple daemons at the same time with dependencies and doing so offers improvements to the boot times on some systems that really doesn t lead to optimal boot times or necessarily correct behavior. Systemd is designed around a similar concept to the wait option in inetd where the service manager (formerly inetd and now the init that comes with systemd) binds to the TCP, UDP, and Unix sockets and then starts daemons when needed. It apparently can start the daemons as needed which means you don t have a daemon running for months without serving a single request. It also implements some functionality similar to automount which means you can start a daemon before a filesystem that it might need has been fscked. This means that a large part of the boot process could be performed in reverse. The current process is to run fsck on all filesystems, mount them, run back-end server processes such as database servers and then run servers that need back-end services (EG a web server using a database server). The systemd way would be for process 1 to listen on port 80 and it could then start the web server when a connection is established to port 80, start the database server when a connection is made to the Unix domain socket, and then mount the filesystem when the database server tries to access it s files. Now it wouldn t be a good idea to start all services on demand. Fsck can take hours on some filesystems and is never quick at the best of times. Starting a major daemon such as a database server can also take some time. So a daemon that is known to be necessary for normal functionality and which takes some time to start could be started before a request comes in. As fsck is not only slow but usually has little scope for parallelisation (EG there s no point running two instances of fsck when you only have one hard disk), so hints as to which filesystem to be checked first would need to be used. Systemd will require more SE Linux integration than any current init system. There is ongoing debate about whether init should load the SE Linux policy, Debian has init loading the policy while Fedora and Ubuntu have the initramfs do it. Systemd will have to assign the correct SE Linux context to Unix domain socket files and listening sockets for all the daemons that support it (which means that the policy will have to be changed to allow all domains to talk to init). It will also have to manage dbus communication in an appropriate way which includes SE Linux access controls on messages. These features mean that the amount of SE Linux specific code in systemd will dwarf that in sysvinit or Upstart which among other things means that it really wouldn t make sense to have an initramfs load the policy. They have a qemu image prepared to demonstrate what systemd can do. I was disappointed that they prepared the image with SE Linux disabled. All I had to do to get it working correctly was to run the command chcon -t init_exec_t /usr/local/sbin/systemd and then configure GRUB to not use selinux=0 on the kernel command line. Another idea is to have systemd start up background processes for GUI systems such as KDE and GNOME. Faster startup for KDE and GNOME is a good thing, but I really hope that no-one wants to have process 1 manage this! Having one copy of systemd run as root with PID 1 to start daemons and another copy of the same executable run as non-root with a PID other than 1 to start user background processes is the current design which makes a lot of sense. But I expect that some misguided person will try to save some memory by combining two significantly different uses for process management.

15 May 2010

Joey Hess: life update

Today I strapped a kayack on a car (badly) and gingerly drove it out to the country, stopping for Greek food enroute. Now at my yurt, where I hung out and played Agricola all afternoon with my sister. Working on some processing of the 19 applicants for DebConfNewbies sponsorship while amazing venison potstickers are started. Tomorrow morning three kayackers will go out early and float down the river, and maybe find where the underriver creek emerges. Good times! Backing up a bit, the past two months have been significant ones. First, I quit my job. Then I almost bought a lot of land, which would have been huge, especially without an income. But it fell through just before closing, and I've had to push the idea of getting some land in the country back off into the indefinite future, where it probably belongs. Instead, Anna and Mark have been amazing, letting me come out here very regularly to unwind. And I've been very wound up, since there's a secret project under development that I can't discuss yet. Hmm, maybe not being on Facebook anymore will mean more personal blogging. That would be good. Now to go help with the potstickers..

Erich Schubert: Beware of the "startpar" bug!

UPDATE: the bug is already fixed after a few hours, and only affected a minority of users (of a now deprecated, experimental option in the 'unstable' distribution, and only users that rebooted with the affected version).The sysvinit version that hit unstable today has a grave bug if you have been running "startpar" or maybe "shell" style parallel booting. Read this bug report, if you have been using these (they were not enabled by default, so unless you've been giving parallel boot a try before, you should be ok.)How to check if you are affected:
grep CONCURRENCY /etc/default/rcS
If this command says "startpar", then you ARE affected. If it says "shell" you MIGHT be affected. If you have not set CONCURRENCY or if it's "none" or "makefile", then you should be ok (according to the bug).The workaround is as simple: just put either "none" or "makefile" in there, these are the only two values that are still distinct.How to recover a broken system:
  1. Boot recovery mode aka "single-user". At some point you should be asked for the root password. Login.
  2. Run mount -o remount,rw / to enable write mode on your disk.
  3. $EDITOR /etc/default/rcS and change the value of "CUNCURRENCY"
  4. reboot
You should have a working system again.I can only confirm that changing "startpar" to "none" helped me. I havn't tried "makefile" yet, and "none" seemed more likely to fix things.

Erich Schubert: How to block "Facebook Like" tracking in Chrome

Since AdBlock in Chrome does not block, just hide (the same probably applies to Safari and other WebKit-based-browsers), here's a simple method to actually block Facebook Like tracking:Use a proxy.pac file, also known as Proxy auto-config. Then redirect Facebook Like to a blackhole or filtering proxy. I use privoxy, and this replaces Facebook Like embeds with an error message, which enables me to see which site uses Facebook like and that my filter is working.Here's the relevant excerpt of my proxy.pac file:
function FindProxyForURL(url, host)  
  var fblike = /https?:\/\/([^/]*)\.facebook\.com\/(plugins widgets)\/like.*/;
  if (fblike.test(url))  
    return "PROXY 127.0.0.1:8118";
   
  return "DIRECT";
 
Where "127.0.0.1:8118" is the proxy to use. If you use an unreachable proxy - I've seen 255.255.255.0:3421 used as blackhole server - then it should just time out as "unreachable". Or you use a proxy such as privoxy and block the URL there. Any proxy that refuses to serve the request will do.Note that you can add arbitrary domains and regexps to this filter, if you want to block additional sites, such as Google Analytics, that you do not want to be able to track your surfing behaviour.

Christian Perrier: [life] Running update

I didn't write much about running stuff since my update about Paris marathon. The main point was, in general, to gradually resume running activities, after the marathon peak. Which I actually didn't respect at all, as usual..:-)... I already wrote that my "training program" is mostly made of "run as you feel, with no strongly hardcoded program". So, the week-end after the marathon, I ran 11km on Saturday, followed by an half-marathon (alone) on Sunday which I completed in 1h53'31", very close to my 1h51'31" PB for a "half-marathon alone on trails" run. Definitely not what is generally recommended, but, eh, this is how I was feeling... Then, I could continue during the following weeks with my normal program made of 1 or 2 small runs (between 8 and 14km) at lunch time on weekdays, 1 small 10 or 11 km trail run (on this circuit or a longer variant), and a "long" run on Sunday mornings. The long run usually goes from 15km up to 25km. Now, 6 weeks after the marathon, I'll run a 20km trail named Le Trail des Cerfs ("deer trail"), that starts in my neighbourhood and goes through my beloved Rambouillet Forest. I could have chosen the 35K or even 50K race, but preferred being less ambitious with the distance and rather focus and ahieving what will be my first official trail race. I don't expect much differences with the weekly runs, indeed, as most of these are already done in trails, fields and woods with very few paved roads. My goal for this race is 1h45. Later on, I still have the plan to run a full marathon alone, probably on May 31st. This time, contrary to last year where I ran one by going through a very wide loop in Rambouillet Forest, I'll do 4 loops mostly in the city of Maurepas, on flat roads, with possible pit stops at my home (so, no camel back bag, but more focus on good performance). I plan to target 3h55 if the heat is not too high. Further plans are less precise. I'm not sure I'll be able to run the Sur les Traces du Loup trail in La Ville aux Clercs, 2 hours away from our place. That would mean arranging a small week-end there with Elizabeth. Still, that really looks like a great race, with a start at 18:00 to enjoy the end of the day during the longest days of the year. Also, the race and the barbecue that follows appear to be very friendly events in a small French village. On the other hand, the autumn marathon is decided. This will be the Seine et Eure Marathon, a "small (600 runners) marathon very close to our family house in the Seine valley. The race is one of the flatest marathons in France and has the reputation of leading to great times. That will be on October 17th. Target for me: 3h45 (unless I see changes happening util then).

14 May 2010

Petter Reinholdtsen: Parallellized boot is now the default in Debian/unstable

Since this evening, parallel booting is the default in Debian/unstable for machines using dependency based boot sequencing. Apparently the testing of concurrent booting has been wider than expected, if I am to believe the input on debian-devel@, and I concluded a few days ago to move forward with the feature this weekend, to give us some time to detect any remaining problems before Squeeze is frozen. If serious problems are detected, it is simple to change the default back to sequential boot. The upload of the new sysvinit package also activate a new upstream version. More information about dependency based boot sequencing is available from the Debian wiki. It is currently possible to disable parallel booting when one run into problems caused by it, by adding this line to /etc/default/rcS:
CONCURRENCY=none
If you report any problems with dependencies in init.d scripts to the BTS, please usertag the report to get it to show up at the list of usertagged bugs related to this.

Lucas Nussbaum: Receive Ubuntu bugs by mail with the Debian PTS

It is now possible to subscribe to Ubuntu bugmail for the packages you care about, without having to use Launchpad (and subscribe on a per-package basis there). This is implemented as a new opt-in Package Tracking System keyword: derivatives-bugs. To subscribe for all your packages, use keyword [email] + derivatives-bugs (as documented in the Developers Reference). You might also want to subscribe to derivatives (Ubuntu diff, etc. also opt-in). Of course, if other derivative distributions are interested in providing such data, don t hesitate to contact me or the Debian QA team. Also, if you are like me and never remember about subscribing to packages you maintain, you can use that UDD script to check for missing subscriptions.

13 May 2010

Aigars Mahinovs: Hacker Neo caught in Latvia

A scandal has been brewing in Latvia over the last half year and yesterday the activity spiked shocking the media and some IT people in the country. I ll go back and explain what happened first, what is happening now and why this could have a heavy impact on IT and journalists in Latvia. At the end of last year, there were rumours that the IT system of Latvia s Internal Revenue System was hacked and millions of documents had been downloaded by multiple organizations. Shortly thereafter more details on the glaring security hole became public (after it was closed). There is a full electronic interface to give all reports to the IRS electronically (at http://eds.vid.gov.lv) and as part of that system you could also view and export monthly report summaries about your organization into XML and PDF files. After the system checked that you are authorized to access the report, you were redirected to the URL to actually download the report by report ID (as a single param in a GET request). Unfortunately, report IDs were predicable and the script that gave the reports for download did not check if you were authorized to get that report. It did not even check if were logged into the system. There were suspicions that the authorization was disabled on purpose to allow to leak data on purpose, but apparently it was an error of forgetting to disable debug code in production environment. The error was discovered only because the firewall administrator noticed an unexplained stable increase of traffic, especially during night hours when typically the traffic fully stopped. Apparently a single hacker (who later identified himself as Neo to the press) discovered the flaw and wrote a script to just try all possible report ids and get as much data out as possible. This had been going on for months, before someone noticed. After the flaw was discovered and a bit of time passed, Neo made his first move he published the list of top salaries in a governmental company, that clearly showed that the top leadership of this company failed to cut their salary by 40%, like everyone elses during harsh budget cuts of 2009. He stripped the names and ids of the specific employees, but named the company which made it pretty easy to figure out who was who. The society was outraged that the top managers in a government owned company failed to comply with the strict pay cut that everyone else in government had to endure. But after a few weeks the outrage subsided and no action followed from the government or law enforcement. Neo continued to release documents detailing salaries of top managers in different Latvian government companies. And each time after short outrage, nothing happened. Neo gave an interview where he said that he was disappointed in the passivity of the Latvian people in face of such blatant injustices. After a few month Neo went silent, promising to return before parliamentary elections this fall. However, this week a new development shocked everyone in the middle of the night two police SWAT teams went into action: one detained Ilm rs Poik ns, a researcher in artificial intelligence at the University of Latvia s Computer Science department and another raided the home of a Latvian TV journalist Ilze Nagle who interviewed Neo. Poik ns confessed of being Neo the next day and was released (with travel restrictions, pending trial) today. Politicians reacted immediately opposition demanded the resignation of the Interior Minister over such blatant disregard of freedom of press and another politician (who is also a famous lawyer) Aleksejs Loskutovs volunteered to defend Neo pro-bono (on Twitter, no less). Almost all Latvian online media have the arrest of Neo and the raid on the home of a journalist as main stories of the day. As a legal titbit, we also know that Neo is being charged with breaking statutes 145 and and 244p2 of the criminal law. Statute 145 is hard to find applicable in this situation as talks about actions done by people authorized (..) to access [private] information . Statute 244p2 will also be hard to pin down as it mentions influencing system resources of (an IT system) and if such action caused severe harm . It looks like the first part talks about at least a DoS attack (which did not happen in this case) and also there was no measurable harm from these leaks. Also Neo was careful to strip all personally identifying information (such as names, social security numbers and addresses of the employees in question), so it will be hard to pin him on that. Also no actual breaking or other modification of an IT system occurred. And no specialized software was used beyond a trivial script such as :
for i in range(0,7000000):
    wget('https://eds.vid.gov.lv/getRep.aspx?id='+str(i))
A lot of commentators on the Internet likened the situation to walking trough an unlocked door and stealing something. I think that analogy is very incorrect there was no door, and nothing went missing after the action. I came up with a different analogy there was this corridor with a lot of doors in IRS, locked steel doors. You were instructed to go to a room with a specified number and given a key to that room to unlock it and see your secret info. However, that corridor opened out to the street on one end, oh and also the walls of the rooms with all the secrets were transparent. So Neo walked into the corridor, looked at some of the secrets, wrote them down (to remember them better) and then went out and discussed the worst examples abuses of power he saw. In the end IRS had to learn their lesson if you have to put naked photos of yourself on the Internet (or something equally embarrassing), then make damn sure you password protect that, but if you don t then don t cry that someone hacked you and stole you pictures. What other people think:
http://freespeechlatvia.blogspot.com/2010/05/neo-released-under-restrictions.html We ll see how the story develops soon.

Petter Reinholdtsen: systemd, an interesting alternative to upstart

The last few days a new boot system called systemd has been introduced to the free software world. I have not yet had time to play around with it, but it seem to be a very interesting alternative to upstart, and might prove to be a good alternative for Debian when we are able to switch to an event based boot system. Tollef is in the process of getting systemd into Debian, and I look forward to seeing how well it work. I like the fact that systemd handles init.d scripts with dependency information natively, allowing them to run in parallel where upstart at the moment do not. Unfortunately do systemd have the same problem as upstart regarding platform support. It only work on recent Linux kernels, and also need some new kernel features enabled to function properly. This means kFreeBSD and Hurd ports of Debian will need a port or a different boot system. Not sure how that will be handled if systemd proves to be the way forward. In the mean time, based on the input on debian-devel@ regarding parallel booting in Debian, I have decided to enable full parallel booting as the default in Debian as soon as possible (probably this weekend or early next week), to see if there are any remaining serious bugs in the init.d dependencies. A new version of the sysvinit package implementing this change is already in experimental. If all go well, Squeeze will be released with parallel booting enabled by default.

Bdale Garbee: Debian and LWN

Since October of 2002, HP has sponsored a "corporate subscription" to LWN on behalf of Debian, and I recently renewed the subscription through April of 2011. As of this moment, 571 Debian Developers and Debian Maintainers are enabled to take advantage of this subscription. From discussion on IRC this morning, I gather one recent change hasn't been adequately communicated: I now allow Debian Maintainers to access the subscription. The process remains unchanged: If you are a Debian Developer or Debian Maintainer and want full LWN access at HP's expense, just go to lwn.net and create an account for yourself (no money is required to create a user account). Then, send email to
lwn-subscription@debian.org
containing your LWN account name. Sign this email with your key on the appropriate Debian keyring. Then, exercise patience. Eventually, I will process your request, and add you to the "Debian Project group" and send you an email acknowledgement. Likewise, if you retire from being a DD or DM, please let me know at the same address so that I can take you off the Debian subscription. I believe I've caught up on all pending requests, but sometimes things get mis-filed, so if you're still waiting and I haven't replied, please re-send your request.

Jonathan McDowell: Random election related numbers

We appear to have a government again, which is always helpful. Let's see how they do. While all the deliberation was going on Dad and I had a ponder about exactly what your chances of voting for a winner were. The Guardian helpfully have the results dataset available, so I nabbed that. They may have updated it since I did; it certainly seemed to be a bit off compared with the BBC. Anyway.

29,577,337 - total votes cast.
13,982,219 - total votes cast for winning MPs.
7,279,220 - total votes cast for winning MPs in the new government (ie Conservative or LibDem).

So there was a 47.27% chance of a vote being for a winning MP, but only 24.61% chance that a vote was not only for a winning MP but also one that ended up being part of the coalition.

Another interesting number; 220 seats were won with 50% or more of the vote, 540 with more than 40%. That's higher than I expected.

John Goerzen: Bicycling Update

I ve been bicycling to work for awhile now. It s become pretty much routine for dry days. I can reliably ride the 10 miles to work in less than an hour, even with heavy winds. My biggest enemy right now: rain. My first few miles are on gravel and sand roads, which aren t maintained to the highest of standards. When it rains, there will be mud. I ride a Trek 7.3FX, which I bought with the idea of just riding when it s dry. It works quite well for that. But its slick tires don t work so well in mud. Plus our mud is sticky, and the tires pick it up, then deposit it on the frame that goes around the wheel and the brake arm. So I have a mess to clean up. My current dilemma is: do I buy a second bike for use when it s wet, or there s a chance of rain? My 7.3FX can t use tires that are very wide, and a different bike of course could. There would be expense involved, obviously, but I would really like to be able to ride more often than I can now. Winter was pretty damp here and I didn t get to ride much at all over the winter months. Or, would different tires plus fenders do the trick on the 7.3FX? (I m thinking not.) If I do get a different bike, then the question would be whether to sell the 7.3FX. I really like that bike, and imagine it would be faster on the 7 miles or so of paved roads that I ride every day. Perhaps I d keep it as a fair weather or long-distance bike. I plan to visit the bike shop tonight and see what my options are.

Steve Kemp: Can you stand on your head?

I've been a little quieter than usual recently, having spent more time outdoors putting cute people in front of the camera. However that said I've still been doing some things. Most interestingly I've given away my first ever project. The collection of small scripts known as xen-tools (which was initially a sleazy hack to go with a small introduction to Xen article) has now got new developers, and a new home where development is continuing. This isn't the first time I've stopped working on something, but it is the first time I've explicitly "given away" a project. (Mostly on the basis that if I didn't care nobody else did either, or people cared but were too busy/unable to actually do soemthing useful.) I'll be following new updates with interest, even though these days I'm 100% Xen-free. No need to go into huge details about why, but I'm enjoying KVM. Having said that I recently got into a huge mess with a combination of LVM, KVM, and ext3. I've written up the details on ServerFault in the optimistic hope that somebody will report having experienced a similar problem. If you have seen something similar I'd love to hear from you. Otherwise I'm genuinely at a loss to understand what went wrong, and why things failed. I could suspect hardware issues, but that feels like a cop-out, albeit one that has a potential solution (Mad Hatter: All Change!) rather than my current answer and explaination "It broke. I don't know why. It might happen again. It might not. Trust me?". ObFilm: Alice In Wonderland (1951 version.)

Next.

Previous.