Search Results: "ag"

11 June 2011

Christian Perrier: Developers per country (June 2011) - 2nd take

See comment at the end about this 2nd version This is time again for yet another bubulle game: counting the number of developers per country. I already published such analysis in 2010 and 2009. So, here we are with the June 2011 version, sorted by the ratio of *active* developers per million population for each country.
Act: number of active developers
Dev: total number of developers
A/M: number of active devels per million pop.
D/M: number of devels per million pop.
2009: rank in 2009
2010: rank in 2010
June 2011: rank now
Code Name Population Act Dev Dev Act/Million Dev/Million 2009 2010 June 2011
fi Finland 5374781 21 31 3,91 5,77 1 1 1 1
ch Switzerland 7866500 21 26 2,67 3,31 2 2 2 2
mq Martinique 397730 1 1 2,51 2,51

3 3
no Norway 4964500 12 15 2,42 3,02 5 4 4 4
nz New Zealand 4393500 10 15 2,28 3,41 4 3 5 5
ie Ireland 4470700 10 13 2,24 2,91 13 9 6 6
se Sweden 9354462 20 36 2,14 3,85 3 6 7 7
lu Luxemburg 511840 1 1 1,95 1,95 8 5 8 8
de Germany 81802000 155 221 1,89 2,7 7 7 9 9
at Austria 8404252 15 25 1,78 2,97 6 8 10 10
fr France 63136180 91 119 1,44 1,88 12 12 11 11
au Australia 22632213 31 57 1,37 2,52 9 10 12 12
be Belgium 11007020 15 17 1,36 1,54 10 11 13 13
uk United-Kingdom 62008048 67 106 1,08 1,71 14 14 14 14
nl Netherlands 16674600 18 37 1,08 2,22 11 13 15 15
dk Denmark 5564219 6 10 1,08 1,8 17 17 16 16
ca Canada 34480000 27 57 0,78 1,65 15 15 17 17
hr Croatia 4429078 3 3 0,68 0,68 20 18 18 18
es Spain 46030109 31 51 0,67 1,11 16 16 19 19
lt Lithuania 3225346 2 2 0,62 0,62 28 19 20 20
cz Czech Rep 10540748 6 6 0,57 0,57 21 20 21 21
it Italy 60605053 33 47 0,54 0,78 23 22 22 22
bg Bulgaria 7351254 4 4 0,54 0,54 25 23 23 23
il Israel 7602400 4 6 0,53 0,79 24 24 24 24
us USA 308745538 162 364 0,52 1,18 19 21 25 25
hu Hungary 9979000 5 11 0,5 1,1 18 25 26 26
lv Latvia 2245357 1 1 0,45 0,45 26 26 27 27
uy Uruguay 3494382 1 2 0,29 0,57 22 27 28 28
jp Japan 127960000 33 46 0,26 0,36 30 28 29 29
pl Poland 38186860 9 13 0,24 0,34 29 29 30 30
cr Costa Rica 4253897 1 1 0,24 0,24 31 30 31 31
pt Portugal 10647763 2 4 0,19 0,38 27 32 32 32
sk Slovakia 5429763 1 1 0,18 0,18 32 31 33 33
gr Greece 11305118 2 3 0,18 0,27 33 38 34 34
ar Argentina 40091359 7 9 0,17 0,22 34 33 35 35
tw Taiwan 23061689 3 3 0,13 0,13 37 34 36 36
br Brazil 190732694 20 21 0,1 0,11 36 35 37 37
by Belarus 9648533 1 1 0,1 0,1 35 36 38 38
mg Madagascar 20653556 2 2 0,1 0,1 44 37 39 39
cu Cuba 11239363 1 1 0,09 0,09
38 40 40
kr South Korea 48758000 4 6 0,08 0,12 39 39 41 41
ec Ecuador 14790608 1 1 0,07 0,07
40 42 42
cl Chile 17224200 1 2 0,06 0,12 42 41 43 43
ro Romania 21466174 1 2 0,05 0,09 45 43 44 44
co Colombia 45925397 2 3 0,04 0,07 41 44 45 45
ru Russia 142905200 6 7 0,04 0,05 43 42 46 46
za South Africa 49991300 2 9 0,04 0,18 38 48 47 47
my Malaysia 27565821 1 1 0,04 0,04

48 48
ve Venezuela 29105632 1 1 0,03 0,03 40 45 49 49
pe Peru 29496000 1 1 0,03 0,03 46 46 50 50
tr Turkey 73722988 2 2 0,03 0,03 47 47 51 51
mx Mexico 112322757 2 2 0,02 0,02 49 49 52 52
th Thailand 63878267 1 2 0,02 0,03 50 50 53 53
eg Egypt 80085862 1 3 0,01 0,04 51 51 54 54
in India 1210193422 8 8 0,01 0,01 52 52 55 55
cn China 1339724852 7 11 0,01 0,01 53 53 56 56
ua Ukraine 45888000 0 0 0 0 48 53 57 57

























896 1450 61,79%




A few interesting facts: This is the second version of this blog post. I have been pointed that the population I was using for "Ireland" is indeed the population of the entire island, so Republic of Ireland (Eire) plus Northern Ireland (Ulster). We may guess that people listing "IE" as their country are citizens of the Republic of Ireland, so the population to use is that of this part of the island. As a consequence, Ireland is bumped up to 6th rank instead of 9th.

Clint Adams: Debian on the DreamPlug

The DreamPlug is like a GuruPlug Server-Plus with a few notable differences: So let's say you want to put Debian on your DreamPlug. You do, of course, because running some other operating system is in poor taste, and you'd be embarrassed telling your friends. How do you do it? You can't use d-i. Let me back up. In the onboard SPI flash, there is a copy of Das U-Boot. This is a fork of mainline U-Boot, with no complete and corresponding source available. To the casual observer, this might look like an egregious GPL violation, but, on the other hand, no one seems to know how to rewrite the SPI flash except from U-Boot itself, so if you happen to corrupt said flash, your plug is bricked and openocd can't save you. I would be happy to be proven wrong on this last point, but for not let's assume that you're screwed and unable to replace your boot loader with free software. The next problem is the kernel, which lives on the microSD card. This is potentially free software, though I can't swear that complete and corresponding source code is available. What I can claim is that linux-2.6.33.6.tar.bz2 on Google Code will build a Linux that works on the plug. I will also point out that this doesn't match Linux 2.6.33.6 from kernel.org. Some other time I should rant about ARM Linux but for now I will just say that if you use the U-Boot of questionable provenance and either the Linux that's shipped with the plug or the one at the above link, you will be able to boot a mostly Debian system. I'll mention the third exception later. One thing you can do is to take the plug apart, remove the microSD card from its slot, and then stick it into a reader that you can then manipulate on another machine. If you're choosing this route and wish to take this opportunity to replace the microSD card with something larger than 2 gigs, keep in mind that you'll have to either preserve the uImage file from the first partition or build a new one. I am not fond of cross-architecture anything. I prefer to do things natively rather than cross-compile or foreign-debootstrap, and I own enough armel boxes that I can do this easily. So at this point I would just debootstrap a new Debian base onto the second partition of the microSD card. The first partition contains the uImage (which is your Linux image in a wrapper), and must be a FAT filesystem since you can't replace your boot loader with something that can read a better filesystem. The second partition will be your rootfs and can be whichever filesystem your Linux can read. If you do not have another armel system to play with, you might want to familiarize yourself with Marco's Sheevaplug instructions. You can install to a USB stick as well. Just remember that U-Boot needs a FAT filesystem containing the uImage on it and that you can't use a kernel in Debian yet. You'll also want to ignore the instructions regarding U-Boot, since that must be done differently. I'll be back later with some more details.

Christian Perrier: Developers per country (June 2011)

This is time again for yet another bubulle game: counting the number of developers per country. I already published such analysis in 2010 and 2009. So, here we are with the June 2011 version, sorted by the ratio of *active* developers per million population for each country.
Act: number of active developers
Dev: total number of developers
A/M: number of active devels per million pop.
D/M: number of devels per million pop.
2009: rank in 2009
2010: rank in 2010
June 2011: rank now
Code Name Population Act Dev Dev Act/Million Dev/Million 2009 2010 June 2011
fi Finland 5374781 21 31 3,91 5,77 1 1 1
ch Switzerland 7866500 21 26 2,67 3,31 2 2 2
mq Martinique 397730 1 1 2,51 2,51

3
no Norway 4964500 12 15 2,42 3,02 5 4 4
nz New Zealand 4393500 10 15 2,28 3,41 4 3 5
se Sweden 9354462 20 36 2,14 3,85 3 6 6
lu Luxemburg 511840 1 1 1,95 1,95 8 5 7
de Germany 81802000 155 221 1,89 2,7 7 7 8
at Austria 8404252 15 25 1,78 2,97 6 8 9
ie Ireland 6197100 10 13 1,61 2,1 13 9 10
fr France 63136180 91 119 1,44 1,88 12 12 11
au Australia 22632213 31 57 1,37 2,52 9 10 12
be Belgium 11007020 15 17 1,36 1,54 10 11 13
uk United-Kingdom 62008048 67 106 1,08 1,71 14 14 14
nl Netherlands 16674600 18 37 1,08 2,22 11 13 15
dk Denmark 5564219 6 10 1,08 1,8 17 17 16
ca Canada 34480000 27 57 0,78 1,65 15 15 17
hr Croatia 4429078 3 3 0,68 0,68 20 18 18
es Spain 46030109 31 51 0,67 1,11 16 16 19
lt Lithuania 3225346 2 2 0,62 0,62 28 19 20
cz Czech Rep 10540748 6 6 0,57 0,57 21 20 21
it Italy 60605053 33 47 0,54 0,78 23 22 22
bg Bulgaria 7351254 4 4 0,54 0,54 25 23 23
il Israel 7602400 4 6 0,53 0,79 24 24 24
us USA 308745538 162 364 0,52 1,18 19 21 25
hu Hungary 9979000 5 11 0,5 1,1 18 25 26
lv Latvia 2245357 1 1 0,45 0,45 26 26 27
uy Uruguay 3494382 1 2 0,29 0,57 22 27 28
jp Japan 127960000 33 46 0,26 0,36 30 28 29
pl Poland 38186860 9 13 0,24 0,34 29 29 30
cr Costa Rica 4253897 1 1 0,24 0,24 31 30 31
pt Portugal 10647763 2 4 0,19 0,38 27 32 32
sk Slovakia 5429763 1 1 0,18 0,18 32 31 33
gr Greece 11305118 2 3 0,18 0,27 33 38 34
ar Argentina 40091359 7 9 0,17 0,22 34 33 35
tw Taiwan 23061689 3 3 0,13 0,13 37 34 36
br Brazil 190732694 20 21 0,1 0,11 36 35 37
by Belarus 9648533 1 1 0,1 0,1 35 36 38
mg Madagascar 20653556 2 2 0,1 0,1 44 37 39
cu Cuba 11239363 1 1 0,09 0,09
38 40
kr South Korea 48758000 4 6 0,08 0,12 39 39 41
ec Ecuador 14790608 1 1 0,07 0,07
40 42
cl Chile 17224200 1 2 0,06 0,12 42 41 43
ro Romania 21466174 1 2 0,05 0,09 45 43 44
co Colombia 45925397 2 3 0,04 0,07 41 44 45
ru Russia 142905200 6 7 0,04 0,05 43 42 46
za South Africa 49991300 2 9 0,04 0,18 38 48 47
my Malaysia 27565821 1 1 0,04 0,04

48
ve Venezuela 29105632 1 1 0,03 0,03 40 45 49
pe Peru 29496000 1 1 0,03 0,03 46 46 50
tr Turkey 73722988 2 2 0,03 0,03 47 47 51
mx Mexico 112322757 2 2 0,02 0,02 49 49 52
th Thailand 63878267 1 2 0,02 0,03 50 50 53
eg Egypt 80085862 1 3 0,01 0,04 51 51 54
in India 1210193422 8 8 0,01 0,01 52 52 55
cn China 1339724852 7 11 0,01 0,01 53 53 56
ua Ukraine 45888000 0 0 0 0 48 53 57























896 1450 61,79%



A few interesting facts:

Nathan Handler: Google Summer of Code Update #3

Last week was a rather slow week. I did some work on allowing the dashboard to store and process information that does not come from the BTS. This exposed a few issues with the way we were storing and presenting information. After talking to Matt, we decided that the dashboard should deal with task objects. These tasks would contain basic information such as a name, person assigned to it, status, and possibly a link to a bug. This means that we would be able to start up a new DEX project by simply choosing a project name and creating a basic text file containing a list of tasks (package names, patches, bugs, etc). I also have been trying to get a hold of some people who participated in the last DEX project. I am interested in getting some more feedback about what went well, problems they encountered, and tools that might have made things easier. I am also talking to some people who are currently working on starting up new DEX projects to try and make dextools align with as many workflows as possible. If you fall into either of these categories, I would really appreciate it if you contact me. There is also a new wiki page that I created so that it is easier for people who are not interested in me or the Google Summer of Code to quickly see what dextools is about and monitor its progress. I will be adding more information over the next few days. Currently, I am continuing to work on the dashboard and talking to people about their DEX experiences. I have also begun working on some scripts to generate graphs that will go on the dashboard. These graphs will allow us to quickly check our progress on different projects. They will also allow us to see and acknowledge individuals working on the tasks. I will add more information about these graphs to this blog and to the dextools wiki page.

Nathan Handler: Google Summer of Code Update #3

Last week was a rather slow week. I did some work on allowing the dashboard to store and process information that does not come from the BTS. This exposed a few issues with the way we were storing and presenting information. After talking to Matt, we decided that the dashboard should deal with task objects. These tasks would contain basic information such as a name, person assigned to it, status, and possibly a link to a bug. This means that we would be able to start up a new DEX project by simply choosing a project name and creating a basic text file containing a list of tasks (package names, patches, bugs, etc). I also have been trying to get a hold of some people who participated in the last DEX project. I am interested in getting some more feedback about what went well, problems they encountered, and tools that might have made things easier. I am also talking to some people who are currently working on starting up new DEX projects to try and make dextools align with as many workflows as possible. If you fall into either of these categories, I would really appreciate it if you contact me. There is also a new wiki page that I created so that it is easier for people who are not interested in me or the Google Summer of Code to quickly see what dextools is about and monitor its progress. I will be adding more information over the next few days. Currently, I am continuing to work on the dashboard and talking to people about their DEX experiences. I have also begun working on some scripts to generate graphs that will go on the dashboard. These graphs will allow us to quickly check our progress on different projects. They will also allow us to see and acknowledge individuals working on the tasks. I will add more information about these graphs to this blog and to the dextools wiki page.

Kenshi Muto: Squeeze amd64 d-i images with Linux kernel 2.6.38.bpo

This is first release of backported Debian-installer for Debian GNU/Linux 6.0, Squeeze. You can download it from the place. Update #1: I updated images, as revision 0614. It is based on Debian 6.0.1 + firmware netinst. So, you don't need to make a memory stick to insert additional firmwares. Plus, this image includes new DHCP client which is fixed an interacting problem with some DHCP servers. Notice: This ISO image doesn't include non-free firmware. You can take it from Debian official page (please see Debian squeeze installation information and look Section 2.2, Installation Guide). WPA support isn't implemented yet. Enjoy!

10 June 2011

Neil Williams: Putting the magic smoke back into the ring main

Haven't been in my new home that long and through a long chain of contacts, my neighbour was finally able to contact me. (Just goes to show that having Debian friends nearby who like board games turns out to make some things JustWork.)
So, when I got the message and got home the flat was fine - just with no electrical power. Murphy's Law ensured that my laptop was also low on power, as was my mobile phone and my landline is cordless and the router was, naturally, not working. My communication options were suddenly rather limited.

The 50yr old wiring in this block finally surrendered the magic smoke and caused a fire downstairs (mostly melted insulation) before it disconnected. I got home around 1pm, electricians to fix the problem arrived about 5pm and haven't finished quite yet. (It's now 12:11am). A relatively large hole in the lawn was dug (a hard task in itself seeing as this area is officially in a drought and the ground is like iron), two junction boxes rebuilt, new connection made from downstairs to upstairs, the work just went on and on.

I'll get some accurate details when I manage to speak to my brother - I do a little bit of hardware but I deal in 1W or a few hundred mA, when a 80A cable melts I'm just a bit out of my depth. I've not seen a fuse that size since I left school.

Thanks to those Debian and non-Debian people who helped me actually contact the relevant people today. I was due to get so many things done today, instead I got through the worry to end up incredibly bored - it turns out to be surprisingly difficult to find things to do when there is no mains power, all the batteries in mobile devices are flat and it's too dark to read.
:-(

Nathan Handler: Google Summer of Code Update #2

I ve been spending the past few days working on a dashboard for DEX. I ve been using Python, javascript, and jquery to create this dashboard (partially as a learning exercise). Earlier today, I started thinking that a visual mockup of the dashboard might be helpful, as it will allow me to create and revise a design based on feedback without having to touch the code. At this point, I had already written a fair bit of code and had a rough but working early version of a dashboard coded. So for the first mockup, I simply created it to match my code. DEX Dashboard Thanks to the generosity of the folks at Balsamiq, I was able to get myself a free key to create the mockup above. As I mentioned earlier, this is what the code currently looks like, not what it will look like. Next, I m going to be spending some time revising that mockup so I have a visual goal to work towards. I also will be cleaning up the code that I currently have and making it available in a public VCS.

Nathan Handler: Google Summer of Code Report #1

Here is my first official Google Summer of Code report. As I still had classes, the first week of coding was rather slow. However, after my first phone call with my mentor, Matt Zimmerman, things started to pick up. I spent most of my time working on a dashboard/portal for the Debian Derivatives Exchange (DEX). We decided that the best approach to this would be to store as little information ourselves as possible. Instead, we will try to pull most of our information from other sources, such as Debian s BTS. The main advantage to this is that package maintainers do not need to change any of their workflows, but they still get to benefit from DEX s work. Currently, I have a python script that gets a list of usertags and bugs for debian-derivatives@lists.debian.org from the BTS. This script will end up getting run by cron. It stores the information it gets in static HTML files. Finally, JQuery and Javascript are used to present the final dashboard to the user. I created a mockup showing how this looks. I also have a functioning website that looks and acts like the mockup, but the code is not publicly available yet (see below). DEX uses Alioth to host its git branches and website. I have spent some time trying to familiarize myself with the recent changes that have taken place on Alioth, as well as trying to figure out the best way to store and execute my script to generate the website. So far, it looks like people are still deciding on the best way to handle having websites that are updated from VCS hooks (due to things being split between vasks and wagner). I will continue to look into this, and might try using an alternate host until things settle down. Next, I plan to work on updating the dashboard to provide a way to edit, store, and display certain extra fields of information. This is necessary for certain pieces of information that are not appropriate for adding to bugs and in a few other cases. I will also be taking some time to talk to a few people who were active contributors to the last DEX project. This will allow me to learn more about their experience, find out what changes they feel should be made to make things run smoother, and get feedback on my current Summer of Code work. Finally, although I have been posting updates on my Summer of Code work to my blog [2][3], Matt thinks that having all of this information in one place will be useful. As a result, I will be creating another wiki page about the project that will contain all of the information people need to know. This page will be updated as the summer progresses. I am also hoping to have my code available in a public VCS by the time of my next progress update so that people can check it out and provide feedback. In addition to the dashboard, I will be working on creating a few other tools to assist with the creation and tracking of new DEX projects. I will also be coming up with a way to generate graphs to visually allow us to track our progress on projects versus time as well as show the work done by people at the individual level. This last task is part of a goal to get more people involved in the DEX project. While we may only be a few weeks into the actual Google Summer of Code, I have already learned a lot of new things. I am looking forward to working more with Matt and other members of the community over the course of the summer.

Gunnar Wolf: Reading revolutions: Online digital text and implications for reading in academe A (very informal) review

It's been a long time since I last took some time to read First Monday A great online publication, if you are not familiar with it, that I would categorize (and no, I'm not probably well-informed in it to be authoritative) as dealing with social, psychological aspects of the cultural shifts the online world has brought upon us (often dealing with topics related to Free Software communities, the reason I first met the publication). Firstmonday is an Open Access champion from early on. It follows an approachable but academic format (this means, it is peer-reviewed, its articles give extensive lists of references, and the articles are not the short reads we have got used to finding on the net, but, quoting from their audience profile, English is not the first language of many First Monday readers; A large percentage of First Monday readers are not a part of academia; Cultures, educational backgrounds, and fields of study vary greatly among First Monday readers.) This means, it's at least a great publication for me to follow :) Anyway After a long time not following it, I have just read Reading revolutions: Online digital text and implications for reading in academe, by Barry W. Cull; First Monday, Volume 16, Number 6 - 6 June 2011 Nice, interesting read. As I was planning on telling about the article to a couple of friends more into the subjects than myself, I'll comment+quote some bits on it. Before going any further: The article makes several references to Maryanne Wolf. No relation to her I'm not lulling my (two? are you both still reading?) readers towards her work ;-) The article talks about the differences social, even dips into some physiological aspects that the activity of reading is sustaining due to the shift from an activity done mainly from books (or other similar printed material) to the computer screen. Of course, we all know from our own experience many of the basic traits Shorter attention spans, a different reading pattern (skimming instead of reading; browsing through several related items instead of in-depth reading a single text as a knowledge unit). The article begins with an overview of reading and humankind. Cull quotes Maryanne Wolf's phrase, despite the fact that it took our ancestors about 2,000 years to develop an alphabetic code, children are regularly expected to crack this code in about 2,000 days . An interesting point I never thaught of is the start of reading as a purely mental activity, detaching reason from verbalization, ~1200 years ago:
Interestingly, these early scribes first did their work by reading out loud to themselves. Not until the ninth century did monastic regulations begin requiring silent reading. By the thirteenth century the practice of men reading silently and alone became commonplace. This shift to silent reading was a profound change, one that Darnton suggested involved a greater mental adjustment than the shift to printed text
. One last important point in this older history, that I'm quoting because I know I'll need the reference later on for one of my texts is about reading as a social activity Yes, also related to the quietness I just mentioned:
Interestingly, with the democratization of the printed text, there was a return to reading aloud. Reading was a solitary silent process only for the educated elite who could afford to buy books. For the rest of the population, as Darnton pointed out, reading was a social activity which took place in workshops, barns, and taverns [and] while children played, women sewed, and men repaired tools.
After this introduction (obviously one of the most interesting parts to me), Cull gives numbers showing how reading is evolving (in the USA and Canada), and quotes some prediction on how the future will end up adapting. Of course, I live in a place with a very different society, so I cannot comment much. Then he confronts some studies regarding specifically leisure reading, as it is a much more trustable factor than just literacy (in a world as highly literate as ours is, many people only read when they have to and have never or very seldom experienced the pleasure of reading just for the sake of it), bringing into the discussion the Internet (and computers in general) usage patterns. I found also very interesting the next section, regarding the pattern changes many libraries are facing now, specially academic/research-oriented libraries:
For several millennia, right up until just two decades ago, the central role of a library was to collect and house physical texts: from clay tablets, to scrolls, to printed books (Battles, 2003; Manguel, 2006). While printed text remains essential to most academic libraries, today s libraries have also become a core conduit via which researchers access scholarly texts online. Just within the last few years, Canadian academic libraries, in a situation similar to libraries throughout the Western world, have reached an interesting tipping point librarians now spend the majority of their collections budgets on electronic instead of printed texts.
( )
Libraries are convinced that digital text, now in its infancy, is likely to have a long future. Not only do they purchase electronic texts, but most academic libraries have also become publishers of electronic texts, whether they are digitizing large portions of their book holdings, or focusing on scanning a relatively small number of archival documents from their unique special collections.
And yes, doing some work with our Institute's library, I can confirm this trend. About e-books: I have got quite into that topic since the Kindle won my heart (and my money!) half a year ago. The little device completly changed my reading habits, I have read lots more since I carry it. And yes, I have never considered a full tablet-like device The article talks long about the difference, about the disadvantage that multitasking means to the human brain (oh, do I suffer from it!) I liked this snippet, quoting Steve Jobs a couple of years ago, regarding an Apple e-book reader question:
When Apple was rumoured to be working on an e book reader a few years ago, CEO Steve Jobs expressed his lack of interest: It doesn t matter how good or bad the product is, the fact is that people don t read anymore, he reportedly said, continuing by stating that 40 percent of the people in the U.S. read one book or less last year. The whole conception is flawed at the top because people don t read anymore (Markoff, 2008). Nicholas Carr (2010) has summed up Apple s involvement in the tablet phenomenon this way: Jobs is no dummy. As a text delivery system, the iPad is perfectly suited to readers who don t read anymore .
The issue for me is, I do enjoy reading, but I am an information addict. I know that if I have parallel information flows, my attention will surely dilute between them. Of course, as I read this article on-screen, it was hard for me to take the needed discipline not to be distracted by IMs or IRC highlights during the whole reading (which was also as an excercise for myself ;-) ). I am surprised to see this on student preferences (and even more surprised to see this data comes from my university):
In a study of students at the Universidad Nacional Aut noma de M xico (UNAM), the majority of students preferred print, and 63 percent reported that they could bear reading a document on a computer screen for no more than one hour (Ram rez Leyva, 2003). When it comes to course textbooks, a marked student preference for paper over e books has recently been found (Woody, 2010).
As we approach the end, it talks about another important topics I have often tried (and often failed) to communicate to my users: That of paratext, the meaning of the different texts, covers, items, layouts, etc. that are not part of the text itself but do shape the way we face it. To some of us, this seems obvious. To others, it is so hard to understand It closes with two more topics I will refer to. One is the permanent connectivity. All the time, more people are connected virtually all of their waking time. This affects not only learning habits but priorities. Will this near constant access to information interfere with students desire to comprehend and remember information, necessary to the educational process of turning it into knowledge? Author and university business school lecturer Don Tapscott recently suggested that students might not have to stress about the details those you can check Finally, regarding the continuity and ellaboration found in texts that are each time more common He quotes Maryanne Wolf:
I am worried about kids who are immersed in digital culture. They will get to college and they will have been Twittering so much that they won t have the patience to read those really long cognitively convoluted and complex sentences. They may not have developed those rich networks which are required in order to read at a high level of sophistication. The effort is what we are going to lose. They are becoming not so much a lazy reader, but an atrophied reader
As you can see, not only this post is meant to tell my couple-of-interested-friends to read the article, but it's mainly meant as a mental placeholder for myself. I will be surely refering to some of these items.

Axel Beckert: How to move a git submodule

If you try to move a git submodule with git mv, you ll get the following error message:
$ git mv old/submodule new/submodule
fatal: source directory is empty, source=old/submodule, destination=new/submodule
There s a patch against git to supoort submodule moving, but it doesn t seem to be applied yet, at least not in the version which is currently in Debian Sid. What worked for me to solve this issue was the following (as posted on StackOverflow):
  1. Edit .gitmodules and change the path of the submodule appropriately, and put it in the index with git add .gitmodules.
  2. If needed, create the parent directory of the new location of the submodule: mkdir new.
  3. Move all content from the old to the new directory: mv -vi old/submodule new/submodule.
  4. Remove the old directory with git rm --cached old/submodule.
Looked like this for me afterwards:
 # On branch master
 # Changes to be committed:
 #   (use "git reset HEAD <file>..." to unstage)
 #
 #       modified:   .gitmodules
 #       renamed:    var/lib/dokuwiki/tpl -> var/lib/dokuwiki/lib/tpl
 #
Finally commit the changes. HTH.

Christian Perrier: Bug #630000

"kinneko" reported the Debian bug #630000 on Friday June 10th, against.....debian-installer (first time this is against a package I participate to). First time, also, that we don't know the exact real name of the person reporting the bug. Bug #620000 was reported as of March 29th. That again makes 2.5 months for 10,000 bugs, roughly the same time than 610000-620000. And now I need to decide about reassigning that bug report as it either pertains to the D-I "netcfg" component...or to busybox (the DHCP client in D-I is provided by busybox).

Axel Beckert: How to find broken symlinks

Looking through the man page of find there is no obvious way to find broken symbolic links. But there is a simple way involving only find:
$ find -L . -type l
$ find -L . -type l -ls
The option -L (before the path!) causes find to follow symbolic links and the expression -type l causes find to report only symbolic links. But as it follows symlinks, it only reports those it can t follow, i.e. broken ones. The second line also shows where the broken links point to. To easily show that this really works, just use the color indicator of GNU ls instead of find s builtin -ls:
$ find -L . -type l -exec ls -lF --color=yes ' ' +
Et voil , all displayed links show up in red which means they re broken. Kudos to CodeSnippets for showing me the right idea. And thanks to ft of zsh and grml fame for the hint about find -exec command + instead of find -exec command ;. Hint from mika of grml fame: With zsh it is even less code to type:
% ls **/*(-@)
% ls -lF **/*(-@)
Thanks, mika!

Rapha&#235;l Hertzog: People behind Debian: Philipp Kern, Stable Release Manager

Philipp is a Debian developer since 2005 and a member of the release team since 2008. Since he took the responsibility of Stable Release Manager, the process has evolved for the best. I asked him to explain how the release team decides what s fit for stable or not. His work on the buildd infrastructure is also admirable but I ll let him describe that. My questions are in bold, the rest is by Philipp. Who are you? I m a 24 year old Computer Science student, living in Karlsruhe, Germany. As a student assistant I m currently in two jobs: one is taking care of getting our university IPv6 network in shape, or rather generally getting fringe technologies into the network. The second is taking care of a s390x machine in the basement which my faculty got sponsored recently. In my spare time I tend my Debian duties and I m active in the student council (Fachschaft) as a sys-admin, software developer and until recently as treasurer. I got accepted as a Debian Developer in 2005. I m only really active since I was invited to join the Release Team in early 2008 after I contributed rewrites of some scripts that got lost in a disk crash of ftp-master. In late 2008 I also took on wanna-build/buildd duties. What s your notable achievement within Debian? For one I worked on the deployment of a single buildd/sbuild combination over all of our buildds and I rebased it on the sbuild in the archive several times already. All buildds basically look the same on all architectures, with only few variations. The chroots are now also created in a mostly predictable manner. Then we finally got build autosigning after years of constant poking. However the policy decision to allow it was made by the ftp-masters anyway, for which I m grateful, as it eases the workload of the buildd maintainers, the Security Team and the Release Team quite a bit. On the release side there s the integration of volatile into the proper structures of Debian. But there I m guilty for choosing the bad name squeeze-updates is, in comparision with security s squeeze/updates. Let s see if we can improve that for wheezy. The policy for stable updates have changed over time. Can you summarize what kind of updates are allowed nowadays? All the changes that were made to the policy were driven by the aim to keep stable (and to some lesser degree oldstable) usable throughout its lifetime. I have to admit that we got slightly more liberal in what we accept since I took over. The previous stable update policy included the fixes of critical bugs that break the system in interesting ways and security fixes. We also opened up the possibility of including important fixes for annoying bugs on a case-by-case basis. The whole don t update that much part of the stable release management is rooted in let s don t change the behaviour of a running system and let s have as few regressions as possible . We currently try to counter that with a review process that only allows self-contained fixes that were tested in unstable first, if applicable. In the future I d also like to have a feedback process that includes the users of the packages to report problems more early. In fact that s also why we now send calls for testing to debian-stable-announce one week in advance (see this mail as an example). So stable is updated through point releases that happen roughly every two months for stable and roughly every four for oldstable. They are accompanied by announcements and new CD/DVD sets. To be able to push some updates with less delay to our users and to avoid that they have to pick them from proposed-updates, there is stable-updates. The current policy for this suite is available in this post on debian-devel-announce. It boils down to everything urgent like tzdata, regression fixes and volatile packages. We noticed that some packages in stable just weren t useful anymore when they got updated through volatile. Hence those are folded into stable, too. We also relaxed the rules a bit so that leaf packages like clive, that rely on external websites not to change their URLs, can be updated too. If somebody wonders what happened to the and a half releases Those were intended to mark the inclusion of new hardware support (mostly by including a co-installable new kernel version). This kind of flag point release is thankfully no longer needed because our marvellous kernel team now backports certain hardware drivers to the kernel version in stable. They have some trouble soliciting test feedback for them, though. It would be cool if more people using stable could respond to their calls for testing. What are your plans for Debian Wheezy? Luckily the wanna-build/buildd side isn t much dependent on release cycles. The stable release management also just takes care of what gets dumped on them by the testing RMs. ;-) The near-term goals are certainly: Apart from that my work is mainly squashing the bugs on buildd.debian.org for the wanna-build part, so if you want something fixed, you need to report it, I m afraid. You have several roles within Debian, in particular stable release manager and member of the wanna-build team. Which role do you enjoy more and why? So the regular duties of the SRM, apart from setting up policies, are reviewing requests for uploads to proposed-updates, accepting them, chasing builds and scheduling point releases. It s mainly steady work. As for the Release Team it s working in a fabulous team where everyone s doing an awesome job. For me the wanna-build role is holding the things together and fixing up stuff that breaks while the world continues to evolve. And occassionally taking a stab at the ftp-masters. So rather different. My heart is probably siding with the buildd side because it s infrastructure but release work is fun, too. What s the biggest problem of Debian? Mainly that we re not quick in picking up new technologies and that we got slow on innovation. Distro-wide changes are usually a very big effort to coordinate and to finally complete. I guess people should be able to push fixes for release goals more eagerly into the archive. Also it seems to me that many DDs are actually disengaging from the release process, especially during the freeze but also before, which makes me a bit sad. However I m still not sure how we could counter that. As we re all volunteers you can t suddenly make others love the idea of releasing something together, I guess. Do you have wishes for Debian Wheezy? It s getting old, but there s certainly multiarch. Also a usable Python 3 is something I d really appreciate. Is there someone in Debian that you admire for their contributions? Peter Palfrader did an awesome job of getting a nicely working team together for DSA and got many tasks as automated as they are now. It s a pleasure to work with them and setting up a new buildd is, for example, a real breeze. He also developed a sane archive snapshot service, kudos for that.
Thank you to Philipp for the time spent answering my questions. I hope you enjoyed reading his answers as I did. Subscribe to my newsletter to get my monthly summary of the Debian/Ubuntu news and to not miss further interviews. You can also follow along on Identi.ca, Twitter and Facebook.

3 comments Liked this article? Click here. My blog is Flattr-enabled.

9 June 2011

Bdale Garbee: FreedomBox

Earlier this year, I agreed to join the board of Eben Moglen's FreedomBox Foundation, and to chair the recently announced Technical Advisory Committee. To date, most of the time I've been able to personally invest in the foundation has gone towards work "behind the scenes", all of which was necessary, but little of which is worthy of external report or attention. I now believe it's time to take a more active role in communicating what we're actually trying to do, and how I think we can get there. To that end, I intend to be more visible in discussions on the freedombox-discuss mailing list. I'm also accumulating a list of interesting technical challenges that I'll articulate here over time, along with status reports I believe are worthy of broad dissemination.

Andrew Pollock: [life] Gecko-sitting for the next 5 weeks

A random co-worker was looking for someone to look after her son's pet gecko for 5 weeks while they went to Hawaii, and I thought it'd be something fun and non-permanent to do, so we now have a female 1 year old Afghan leopard gecko named Speck, and a large supply of crickets in our possession. I note that the Wikipedia page is lacking a photograph. We might have to try and fix that...

Gerfried Fuchs: Reinhard Mey

This is a very special person. He is a very well known songwriter, at least in German language countries because he sings in German. He was that special kind of person with his lyrics when I was still a kid, and is still around continuing to write his songs in his very own special way. This person is Reinhard Mey, and if you understand German and have missed him so far, you have missed a lot. The songs that I present to you are special in the way that they are all contained in the special compilation titled Mein Apfelb umchen. The dedication he wrote for the album is also very special:
Ich glaube, Kinder zu haben ist das aufregendste Abenteuer, das wir erleben k nnen. Es ist der schwerste Beruf und die gr te Herausforderung, die ich mir denken kann, und die gl cklichste Erfahrung zugleich. Ich bin dankbar daf r! Dies sind die Lieder, die ich bis heute daf r geschrieben habe. Mein Anteil aus dem Erl s dieser Schallplatte gebe ich der Hilfe f r krebskranke Kinder.
Rough translation: I believe that having kids is the most exciting adventure that we can undergo. It is the hardest job and the biggest challenge that I can think of, and at the same time the happiest experience. I'm thankful for it! These are the songs that I wrote up to today for it. My part of the revenues of this record go to Help for children with cancer. So here are the songs: Enjoy! And if you feel like it, support these kind of special people.

/music permanent link Comments: 2 Flattr this

Matthew Garrett: IPv6 routers

I have a WRT-54G. I've had it for some years. It's run a bunch of different firmware variants over that time, but they've all had something in common. There's no way to configure IPv6 without editing text files, installing packages and punching yourself in the face repeatedly. Adam blogged about doing so today, and I suspect he may be in need of some reconstructive surgery now.

I spent yesterday looking at disassembled ACPI tables and working out the sequence of commands the firmware was sending to the hard drive. I'm planning on spending tomorrow writing x86 assembler to parse EFI memory maps. I spend a lot of time caring about stupidly awkward implementation details worked out from staring at binary dumps. The last thing I want to do is have to spend more than three minutes working out how to get IPv6 working on my home network because that cuts into the time I can spend drinking to forget.

Thankfully this is the future and punching yourself in the face is now an optional extra rather than bundled. Recent versions of Tomato USB (ie, newer than actually released) have a nice web UI for this. I registered with Tunnelbroker.net, got a tunnel, copied the prefix and endpoint addresses into the UI, hit save and ever since then NetworkManager has given me a routable IPv6 address. It's like the future.

Because I'm lazy I ended up getting an unofficial build from here. The std built doesn't seem to include IPv6, so I grabbed the miniipv6 one. The cheat-sheet for identifying builds is here. And I didn't edit a single text file. Excellent.

( Comments Comment on this)

8 June 2011

Andrew Pollock: [tech/security] I'd pay for an ISP service that excluded China

I say this after probably 48 hours of what I estimate is a sustained 60 kB/s of brute force SIP traffic from 61.146.178.173 has been sent my way. I'd very cheerfully sign up for a service that had all Chinese IP addresses null routed, and provided a proxy server for any HTTP access. I have no business needing direct IP connectivity to China, and I certainly do it not want it from China to me. I was pleasantly surprised to be able to call up Comcast's Business Class technical support tonight and ask them if they could null route the above IP address, and they seemed to imply they could (they opened up a ticket for a level 2 person to do something at least). Now if only I didn't have to pick up the phone to interact with Comcast's Business Class technical support, it'd be just lovely. I'm just glad I'm not in Australia where this would be blowing my monthly quota and/or causing me to receive excess usage charges. Bloody UDP. You can firewall it off, but it keeps coming. My initial stopgap Netfilter rule counted 1.5G of traffic before I replaced it with an adaptation of my SSH brute force mitigation rules, and the new rule has seen nearly 5G of traffic now. It's one thing to try to brute force something, but to keep trying after you stop getting responses is just plain stupid.

Joey Hess: date formats of a decade of usenet

I've finished importing the usenet archive for oldusenet. The fun part was parsing the dates to put the posts in order. No date format was really required on usenet, and so a wide variery of formats were used. Some posts didn't have a Date, but a guess could be made from their Message-ID. Some posts had absurd dates (ie, 1969, 1995), others had dates that were correct in every way.. except the year was left out (oops). One early post had a date of "_". Still, this excerpt of my code managed to parse the rest and so gives a fairly complete picture of how messy dates can possibly be. Read and weep.
  p anyzone "%d %b %y %T"       "15 Jun 88 02:27:41 GMT"
, p anyzone "%a, %d %b %y %T"       "Thu, 22 Jun 89 20:02:03 GMT"
, p anyzone "%a, %d-%b-%y %T"       "Thu, 15-Jun-89 18:01:56 EDT"
, p anyzone "%d %b %y %T"       "8 Jan 90 14:07:27 -0400"
, p anyzone "%d %b %y %H:%M"        "4 Oct 89 19:56 GMT"
, p anyzone "%a, %d %b %y %H:%M"    "Thu, 23 May 91 02:13 PDT"
, p anyzone "%a, %d %b %Y %T"       "Thu, 23 May 1991 07:07:00 -0400"
, p anyzone "%a, %d %b %Y %H:%M"    "Sat, 18 May 1991 17:28 CDT"
, p anyzone "%d %b %Y %T"       "11 Apr 1991 12:02:01 GMT"
, p anyzone "%d-%b-%y %H:%M"        "24-Mar-90 14:22 CST"
, p anyzone "%d %b %y, %T"      "22 May 91, 16:31:37 EST"
, p anyzone "%d %b %Y %H:%M"        "30 June 1991 17:15 -0400"
, p anyzone "%a, %d %b T  %T"       "Fri, 8 Feb T  09:49:39 EST"
-- special cases
, p (tzconst est) "%a %b %d %T EST %Y"  "Tue Jan 11 12:44:36 EST 1983"
, p (tzconst est) "%a %b %d %T EST %y"  "Tue Jan 11 12:44:36 EST 83"
, p (tzconst edt) "%a %b %d %T EDT %Y"  "Tue Jan 11 12:44:36 EDT 1983"
, p (tzconst edt) "%a %b %d %T EDT %y"  "Tue Jan 11 12:44:36 EDT 83"
, p (tzconst utc) "%a %b %d %T GMT %Y"  "Thu Nov  1 23:14:37 GMT 1990"
, p (tzconst pdt) "%d %b %y %T -7"  "11 Jun 91 15:41:21 -7"
-- dates with no timezone specified are guessed
, p nozone "%d %b %y %T"        "9 Jan 90 09:33:59"
, p nozone "%d %b %Y %T"        "10 APR 1990 05:25:28"
, p nozone "%a %b %d %T %Y"     "Fri Feb  6 00:19:47 1981"
, p nozone "%a %b %d %T %y"     "Fri Feb  6 00:19:47 81"
, p nozone "%Y-%m-%d %T"        "1981-11-12 18:31:01"
, p nozone "%y-%m-%d %T"        "81-11-12 18:31:01"
, p nozone "%a, %d %b %y %T"        "Sat, 13 Apr 91 08:37:57"
, p nozone "%a, %d %b %Y %T"        "Sun, 16 Jun 1991 13:23:02"
, p nozone "%d %b, %Y %T"       "1 May, 1991 00:00:00"
, p nozone "%d %b %y %H:%M"     "8 Jan 88 18:03"
, p nozone "%a, %d %b %y %H:%M"     "Wed, 29 May 91 17:14"
, p nozone "1 %b %d %T %Y"      "1 Jan 08 20:59:08 1991"
-- this has to come near the end, as it matches greedily
, g nozone "%a %b %d %T %Y ("       "Wed Oct 27 17:02:46 1982 (Tuesday)"
, g nozone "%a, %d %b %y %T +"      "Tue, 21 May 91 16:46:01 +22323328"
-- extract date from message-id headers
-- (used for messages with no Date field)
, g nozone "<%Y%b%d.%H%M%S."        "<1989Jul6.214048.28313@jarvis.csri.toronto.edu>"
(Parsing the often ambiguous, malformed, etc timezones was fun all its own too, of course.)

Next.

Previous.