Search Results: "jam"

28 June 2010

Benjamin Mako Hill: Wikimedia Scholarship 2009-2010

Folks at last year's Wikimania may remember the presentation I gave there. It was essentially a literature review of Wikipedia and Wikimedia scholarship from the previous year. The idea was to give a bird's-eye-view as well a series of highlights -- all aimed at Wikimedians. Apparently somebody found it useful because I've been asked to do it again! I'm going to be paired up in a longer session with Felipe Ortega -- whose excellent dissertation I summarized as part of my talk last year -- and Mayo Fuster Morell has also agreed to help out. Felipe is program chair for WikiSym this year and will be focusing on providing folks with a summary of the papers published at that conference. It will be held immediately before Wikimania in Gdansk. For my part, I'm going to be focusing more broadly and talking about papers published, well, anywhere else. And this is where you come in! With search engines and all, I've got a pretty good idea of breadth of the work that's out there. I also "just know" stuff from my own areas of interest and study. That said, I don't have as strong of an idea of what's good and what's relevant beyond what I can grok from citation counts. And after one year (or less!), that's clearly not very much information. As a result, I'm looking for suggestions or recommendations from anybody on interesting, useful, important, or otherwise noteworthy scholarly papers on or about Wikipedia or other Wikimedia projects published in the last year. Feel free to leave a comment, email mako@atdot.cc, or edit this page.

25 June 2010

Benjamin Mako Hill: "Lance!"

On probably a dozen occasions, I've had people in cars taunt me by yelling some version of "Lance!", "Hey Lance!" or "Go Lance!" at me while I am riding my bike. It seems to be particularly likely if I'm wearing spandex. Indeed, the "verb" to Lance has an Urban Dictionary entry and there is a Facebook group for Yelling "Hey Lance!" when you see someone riding their bike. My friend Seth pointed out -- after we were (collectively?) called "Lance" in California -- that it's pretty strange to insult somebody by comparing them to a man who is nearly guaranteed to be on any list of greatest living athletes, in any sport.

2 May 2010

Dominique Dumont: Improve config file upgrades Ep 01

Hello The GSoC project Krzysztof and I are working aims to facilitate configuration upgrade during package upgrades. Most of the cases, this upgrade should not require any input from the user, even if the user had previously customized his configuration file. Currently configuration upgrade may ask questions to the user which may be hard to answer for most non-technical users. For more details see PackageConfigUpgrade on Debian wiki. (If you are not familiar with upgrade issues, you might want to read this page.) At the 2 extremes of upgrade tools, we have: Each tool has its own advantages and drawbacks. On the plus side of diff3 tools : On the other hand, here are the issues with diff3 based tools: For more details on diff3 issues, see Benjamin Pierce s paper (thanks to David Lutterkort from Augeas for the info) On the other end of the spectrum, Config::Model pros are: But, Config::Model main problem is: diff3 tools is lackluster for users. While Config::Model puts too much strain on packagers because it requires configuration models where all parameters are defined and declared in the model. For fast evolving projects, this can be a huge recurrent task (been there, done that for Xorg) . (Well, this recurrent task is a problem until doc, implementation and config model can be extracted from a single meta-description But I digress, this may be a project for GSoC 2011 :-p ) So, this GSoC project (for 2010) aims to find a compromise between these 2 extreme cases. On Config::Model, I ve always had a drawer statement whenever I was asked why Config::Model does not handle unknown parameter:
a configuration file cannot be validated if an unknown parameter can t be distinguished from a user typo.
This stance is fine for casual user interaction on a stable system: an unknown parameter is most likely an error. And the user must be warned of his error as soon as possible. For a stable distro release, packagers should have the time to provide complete models, so basing upgrade on complete models should be possible (famous last words ?). On the other hand, a lot of configuration upgrades will be done on unstable systems where software evolve quite fast, where models will likely fall behind software evolutions. Another shorcoming of my drawer statement is that it assumes user interaction where erroneous input is more likely. In case of configuration upgrades, there should be no user interaction. And we can assume that the config file to be upgraded was used (and thus validated) by the old version of the software. So unknown parameters should be tolerated and managed as best as possible. Now, the big question is: how ? In all attempts I ve seen in managing upgrades that goes beyond diff3 tools, the configuration is stored as structured data. Sometimes this structure can be infered from the configuration file syntax (shell vars, INI files, YAML, XML), sometimes not (sshd config file). In the latter case, some structural knowledge must be built in the upgrade tool. Currently, Config::Model is designed to bring a complete description of the structure and semantics of a configuration file. This is perceived as bringing too much structural and semantic knowledge ( too semantic ). So the maintenance cost is perceived as too important. That may be right or wrong, but that does not matter. Perception is more important here. So, let s figure out a way to reduce the amount of work required to perform upgrades (you may want to read a little bit more on configuration model creation before going on ) One possibility would be to support configuration models that allow unknown leaves in nodes. Such a model would provide a kind of fallback leaf description. Something like: this parameter is unknown, let s assume it s a simple string value . Let s consider sshd_config example to see how such a behavior would pan out for some upgrade scenarios. sshd model is made of 2 main classes:
- Sshd
- SshdMatchElement The second one contains all parameters allowed in a Match class (in fact, Match parameter is the only one in sshd that defines a new hierarchical level. All other parameters are simple leaves). Now let s consider typical upgrade scenarios from old version (with old models) to a more modern version. Let s assume that the model is lagging behind and the model does not follow sshd evolutions. So Config::Model will face 3 upgrade cases (extracted from sshd config history):
  1. Unexpected parameter that are actually simple leaf parameters. E.g. introduction of ClientAliveInterval.
  2. Obsolete parameters that should be migrated. E.g KeepAlive is renamed into TCPKeepAlive
  3. New structural parameters (introduction of Match element)
So what would happen with a model allowing unknown parameters but lacking specific instructions for these upgrades:
  1. ClientAliveInterval value would be kept. :-)
  2. KeepAlive would be kept as is.TCPKeepAlive would also be kept. No migration is performed, but the configuration would be good. As long as sshd supports the old parameter, we re good. :-/
  3. Without knowledge of the structure brought by Match parameters, Config::Model would consider that parameter in Match block would duplicate parameters in the main block and remove the duplicate. User data may be lost. :-(
So, there s not silver bullet. Let s resume what we ve learnt: Next step is to figure out what would happen if the same strategy is applied to other types of configuration files. But that will be for another blog. All the best

1 May 2010

Benjamin Drung: How to send a command when pressing a key

Dear lazy web, How can I send a command when pressing a key? To make it more complex: I have two input devices A and B. The command should be only sent, when the keys of device A are pressed (and not device B). The devices A and B have the same key codes. For example, pressing the dot key on device A should run a command, but pressing the dot key on device B should just produce a dot. Is it possible to use device A as input device for lirc?

30 April 2010

Benjamin Drung: How to remote control OpenOffice.org Impress

Dear lazy web, I want to control OpenOffice.org Impress through my remote control on Linux. Does OpenOffice.org Impress has a lirc plugin or is there another easy way to do it? The system that hosts the presentation is used for other things, too. Therefore the current active windows is not always Impress. Sending a key code to the active window won t work. Update: The computer has two screens: A TFT and a video projector. It is used for audio recording and hosting the presentation. The active window on the TFT is the audio recording application. The presenter can only see the video projector and should be able to control the presentation with a remote control that works with lirc.

23 April 2010

Jonathan McDowell: Out, damn'd PGP v3

Nearly a year ago people starting worrying about the complexity of SHA-1 being reduced and the potential availability of viable attacks against things such as PGP keys that used SHA-1. Many people (myself included) generated a new key, or updated preferences on keys that were otherwise strong enough. There were worries about what this might mean for Debian. We were getting ahead of ourselves a bit though. Firstly there haven't been any public viable attacks that I'm aware of (though of course this doesn't mean we shouldn't continue to migrate away), but secondly there's a much easier method of attack. PGP v3 keys. To quote RFC4880:

V3 keys are deprecated. They contain three weaknesses. First, it is relatively easy to construct a V3 key that has the same Key ID as any other key because the Key ID is simply the low 64 bits of the public modulus. Secondly, because the fingerprint of a V3 key hashes the key material, but not its length, there is an increased opportunity for fingerprint collisions. Third, there are weaknesses in the MD5 hash algorithm that make developers prefer other algorithms. See below for a fuller discussion of Key IDs and fingerprints.
At the time of writing Debian has 21 remaining v3 keys. This is a significant improvement over a year ago, when we had 200, but it's still 21 more than I'd like. I've been chasing people since last May (starting with those who had v3 + v4 keys, all of whom now only have a v4 key) and we're down to the stragglers. So it's time to name and shame, in the hope of kicking them into action. The following keys are what's left (doesn't match the currently active keyring because we've had a few replacements since the last promote):

0x0D2156BD3D97C149 Michael Stone <mstone>
0x225FD911CD269B31 Carlos Barros <cbf>
0x31E73F14E298966D James R. Van Zandt <jrv>
0x366CD3FEEBC11B01 Chris Waters <xtifr>
0x37A73FE355E8BC4D Frederic Lepied <lepied>
0x3E973117DCC528E9 Ardo van Rangelrooij <ardo>
0x5C7A46637953F711 Rich Sahlender <rsahlen>
0x5D6560F85F30F005 Craig Brozefsky <craig>
0x6B0E322836129171 Jim Westveer <jwest>
0x723724B4A5B6DD31 Christian Meder <meder>
0x7629B22ED71DAABD Adrian Bridgett <bridgett>
0x8FFC405EFD5A67CD Adam Di Carlo <aph>
0xB0D269DE17F3D4D1 Matthew Vernon <matthew>
0xBC151FC8D2A913A1 Peter S Galbraith <psg>
0xC1A0A171C2DCD3B1 Jim Mintha <jmintha>
0xC3168EBA23F5ADDB Ian Jackson <iwj>
0xCE951B1160D74C7D Patrick Cole <ltd>
0xE82A8B0D57137FE5 Paul Seelig <pseelig>
0xF20E242CE77AC835 Brian White <bcwhite>
0xFBAA570C3087194D Alan Bain <afrb2>
0xFFD1B4AC7C19FD19 David Engel <david>

Of these keys only 2 voted in the recent DPL election. 8 have failed to make any response to my mails (3 since last August). Only 9 have uploaded a package since August 2008. And 10 were already known to the MIA database. Some of them have stated they'll sort out a new key, but not yet done so.

If you are one of these people, please either get a new key sorted and signed and reply to the mails I've sent you, or reply and say you no longer wish to be involved in Debian. And if you know any of these people, encourage them to get a new key sorted and offer to sign it for them.

20 April 2010

James Morrison: Home

I was riding home tonight along Howard street. I passed a cop on a bicycle, then started speeding up so I would make the next green. I made the green I was shooting for, but unfortunately was caught at the next couple lights. So the cop (who I think took the pedestrian signal as a means to go at 4th and howard) caught up to make at 6th street. At that point he said to me "Boy, you are in shape!". Ahh, it's good to be home :)

19 April 2010

Mike Hommey: A new world of possibilities is opening up

Account created for myaddress<at>glandium.org with hg_mozilla and mg_mozsrc bits enabled.
Yes, this means I now have commit access on hg.mozilla.org. Thanks to those who vouched for me, namely Justin Wood, Christian Biesinger and Benjamin Smedberg. And thanks to the Mozilla governance for having changed the commit access requirements just in time for me to take advantage of the new ones: under the old rules, it was required that the vouching superreviewer had never reviewed a patch from the person applying for commit access. Of the 31 superreviewers, 14 (almost half of them) already had reviewed one or more patches from me (which is not really unexpected, considering the number of patches I sent in the past). One could wonder why I never applied for access earlier, though.

15 April 2010

Benjamin Drieu: Error! No entries found!

The entries matching /Debian, which you requested could not be found.
Do you want to go back to Benj's tavern?

11 April 2010

Christian Perrier: [life] Paris marathon 2010~bubulle-1 ACCEPTED

Upload accepted by organisers. Upload time has been 3h49'29" (my watch says 27", eh!). That was a good one, really (actually, I can compare to only 3 as it was my fourth marathon after Paris and Cologne 2009, plus the unofficial Rambouillet Forest marathon I ran alone 6 weeks after Paris 2009). For marathoners around, here are the chronometric data. Please note that GPS watches tend to overestimate the distance, mostly because of the jerky way one runs in mass events, as well as geometric considerations related to the imprecision of GPS (imprecision may be lateral and thus the line recorded by the watch is often less straight than the real one). For instance, according to my watch, Paris marathon was 42.63km long, so an overestimate by nearly 500meters. As a consequence, the recorded speed of 5'23"/km should be corrected to 5'25". So, times below should be increased by 2 seconds. As a conclusion, even though I can improve the pace and avoid going too fast in the first 25km, I'm very happy as I avoided nearly collapsing as I did last year (with sometimes over 7'00/km and a few walks). Going back home was OK and I had no cramps and I still haven't any. This is also what one gets when preparing well. My only regret is that I didn't run over 30km since, indeed, Cologne Marathon! That made the difference in the last 12 kilometers, obviously. Having spent the winter on many half-marathons (either alone, or a few officials) clearly improved my "performance" up to 25km. For the next marathon (a marathoner always thinks about the next one), I need to have 1 or 2 long trainings a few weeks before. Now, I have to find out which one will be the next one... and I wish good luck to my friend No l K the, who is preparing the Mainz marathon for May 9th as well as Dirk who's certainly preparing another one. Guys, rendez-vous is of course for Debconf10 in NYC. We won't run a marathon for sur, but how about an half one? :-)

9 April 2010

Christian Perrier: [life] Once you run a marathon...

...you want to run many. Everybody told me so. Which is why I was warned when I ran my first one year ago in Paris, I knew I would run other. So, on Sunday will be my fourth one and my second Paris Marathon. So, after 4h10mins in Paris (april 2009), 4h12 in Rambouillet Forest (all alone in full autonomy mode) and 4h00'49" in Cologne, my target this time is 3h50. Weather is announced to be perfect, my physical condition is AFAIK good, the motivation is very high....my only fear is that I registred in the "4h target" group (because, back in November, I wasn't expecting the results I got in February/March in half-marathons). As many people overestimate their target, I expect to be passing hundreds of runners during the first 5 kilometers, which is not the best way to start....but, hey, Paris streets are wide enough (except Place de la Bastille, my nightmare....I hope organizers solved the jam problem there). Of course, I kinda hope seeing fellow Paris DD's waving giant Debian swirls, including our wanabee-DPL.....but let's stop dreaming. And running in a sunny day all across Paris and along river Seine, will be great again even without Zack. I'll also be missing Ralf and No l who ran it last year: Ralf is unfortunately suffering from knee problems and No l is preparing for Mainz marathon (target: 3h??). Anyway, more news on Sunday afternoon....and let's enjoy a full rest tomorrow!

26 March 2010

Benjamin Drung: How to get units consistent across all applications?

We have a units policy in Ubuntu, which we have to implement in lucid+1 (Ubuntu 10.10). Correcting all applications to conform to this policy is not an easy task. The first attempt to patch glib, which provides the g_format_size_for_display() function, failed. We need a library that can handle input and output formatted sizes. Take transmission as example: I want to set the bandwidth limit in the same unit as it displays me the limit. We have to introduce a set of new functions. Should I create a new library (named libbyteunits or similar) or add a bunch of new functions to glib (as replacement for g_format_size_for_display)? Is glib the right place for ten or more functions handling units? Pros for a separate library: Cons: I like to hear as many opinions as possible. Please let me also know, if you are glib developer, a g_format_size_for_display() using developer, a developer, or a user.

25 March 2010

Benjamin Drung: A bug in my mobile phone

I own a Samsung SGH-X160. It s just a mobile phone for telephoning and writing SMS messages. I was sitting in a train last weekend and wanted to add a note to my task list in T9, but the phone didn t know Eclipse. I wanted to add Eclipse to the dictionary, but instead the phone crashed (rebooted). I tried it multiple times and it s reproducible: Grab your SGH-X160, add a new task (Aufgabenliste -> Optionen -> Neu), type 3254, T9 will suggest Eckh, press zero to toggle T9 s suggestion until it gives you the option to add the word to the dictionary, press adding (Zuf gen), correct the word to Eclipse, press OK. Your phone will go blank and then present you the boot splash for a half minute. I want to file a bug and grab the source code to fix this bug. Oh, that is not possible, because the OS on the mobile phone is not free (libre) software.

24 March 2010

Benjamin Drung: Eclipse 3.5.2-1 in Debian unstable

We, the Debian Orbital Alignment Team (DOA team), have released eclipse 3.5.2-1 to Debian unstable today after nearly seven month of work and 612 commit to our git repository. Many thanks to our hero Niels Thykier (222 commits). Without him we wouldn t have eclipse in Debian now. Thanks to Pablo Duboue, Adnan Hodzic, and Adrian Perez for their work on the Debian package. Last but not least, I want to thank Alexander Kurtakov and Andrew Overholt for eclipse-build, which we use to build eclipse. You should have modern hardware, if you want to build eclipse. It will need three gigabytes free disk space, two gigabytes memory, and at least 12 minutes to build, but it can need hours (on old hardware or if you have not enough memory). Update: Four days later we released 3.5.2-2 to Debian unstable. Today eclipse 3.5.2-2 was synced to Ubuntu 10.04 (lucid).

23 March 2010

Benjamin Mako Hill: Antifeatures Talk

The recordings for Linux Conf Australia 2010, held this year in Wellington, are finally online. The recordings include a video of my keynote on Antifeatures. I was deeply honored to be invited to give a keynote at LCA and, as a result, felt more pressure than usual to put together something that was novel, relevant and entertaining and that spoke to core issues and problems facing free software. Although it's always hard for me to watch myself speaking, I've made it through the video and am reasonably happy with the result. Although perhaps it's a minor distinction, I think this lecture is probably the best talk I've given given to date! I hope to give the talk again so, as always, I welcome comments and feedback. If you'd like to watch it, the talk is available in a number of free and non-free formats:

19 March 2010

Aigars Mahinovs: Latvijas pavasara Ubuntu Bug Jam un Installest 27.03.2010

The following is an invitation to the Latvian Ubuntu Bug Jam (in Latvian) sent for a bit of a wider circulation to catch people that monitor Planet Debian, but not Planet Ubuntu.lv. 27. mart LU Linux centr notiks divi pas kumi vien Ubuntu Global Bug Jam Latvijas da a un installfests. Global Bug Jam ir pas kums, kur piedal ties ir aicin ti interesenti, speci listi, studenti, lai mekl tu k das Ubuntu Lucid Lynx test anas versij . Cilv ki, kas grib uzzin t par Ubuntu Linux, vai kuri grib atrisin t k du konkr tu probl mu ar Ubuntu Linux tiek aicin ti n kt uz pas kuma otro da u no pulksten 14:00 l dz 16:00. Pas kuma b s kafija un bulci as ar Accenture atbalstu. Ubuntu Global Bug Jam ir glob ls pas kums, kura m r is ir iepaz stin t programm t jus un tulkot jus ar r kiem, kas tiek lietoti, lai labotu probl mas Ubuntu oper t jsist m un ar izlabot p c iesp jas liel ku skaitu probl mu s laik . Izstr d t ji, kas grib labot Ubuntu probl mas vai iem c ties k labot Ubuntu probl mas, tiek aicin ti ierasties 12:00 un palikt l dz 16:00. Installfest pas kuma sada tiek aicin ti visi eso ie Ubuntu lietotaji, kuriem ir k das konkr tas probl mas un ar cilv ki, kas tikai v l interes jas par Ubuntu Linux. Ja jums ir konkr ta probl ma ar Ubuntu Linux ir ieteicams atnest uz pas kumu savu datoru, kur o probl mu var atk rtot, lai pas kum eso ie programm t ji var tu noteikt s probl mas iemeslu un pal dz tu no nov rst. Installfests s ksies 14:00 un turpin sies l dz 16:00. Ubuntu ir bezmaksas, uz Linux balst ta pilna apjoma oper t jsist ma jebkuram person lajam datoram, serverim un portat vajai iek rtai. T s standarta komplekt iek autas visas nepiecie am s programmas, lai str d tu ar tekstiem, att liem, elektronisko pastu un Internetu, k ar j s varat instal t papildus programmat ru da diem nol kiem. Pasaul to obr d jau lieto vair k k 8 miljoni cilv ku, un to leg li bez maksas var lietot gan m j s, gan komerci l s un nekomerci l s organiz cij s. LU Linux Centrs ir izveidots Latvijas Universit tes Datorikas fakult t . Linux Centra darb bas m r i ir: populariz t atv rt pirmkoda (Open Source) programmat ras, tai skait , Linux oper t jsist mas un citu atv rto tehnolo iju iesp jas un priek roc bas; piedal ties LU studiju proces un stenot lieti o IKT p t jumu projektus, tajos izmantojot un att stot atv rt s tehnolo ijas; sekm t APP pieejam bu Latvij un pasaul .

12 March 2010

Russell Coker: CAL Self-Serving and Useless

Me Thinking about Copyright in front of Le Pensevr Brendan Scott linked to a couple of articles about CAL (the Copyright Agency Limited) [1]. I have previously written about CAL and the way that they charge organisations for the work of others without their consent [2]. My personal dispute with CAL is that they may be charging people to use my work, I have not given them permission to act on my behalf and will never do so. If they ever bill anyone for my work then it will be an act of piracy. The fact that the government through some bad legislation permitted them to do such things doesn t prevent it from being piracy you can t disagree with this claim without supporting the past actions of China and other countries that have refrained from preventing factories from mass-producing unauthorised copies of software. The first article concerns the fact that last year CAL paid more than $9,400,000 in salary to it s employees (including $350,000 to it s CEO) while it only paid $9,100,000 directly to the authors [3]. It also spent another $300,000 to send it s executives to a junket in Barbados. It did give $76,000,000 to publishers on the assumption that a proportion of this money will be returned to authors of course said publishers could have used the money to have holidays in Barbados. CAL doesn t bother to check who ends up with shares of the $76,000,000 so it s anyone s guess where it ends up. The second article is by James Bradley who is an author and director of CAL [4]. He claims that much of the $76,000,000 was distributed to authors, although I m not sure how he would have any idea of how much it was which is presumably why he used the word much instead of some other word with a clearer meaning such as most . He also notes that CAL invested $1,000,000 in projects specifically designed to promote the development and dissemination of Australian writing , which sounds nice until you consider the fact that none of the authors (apart from presumably the few who sit on the CAL board) had any say in the matter. Can I take a chunk of the $9,400,000 that is paid to CAL employees and invest it in something? If not then why not? If they can invest money that was owed to other people then why can t I invest their salaries? James also says The issue of how well CAL serves rights-holders and authors and artists in particular is a vital one which is remarkably silly. He is entirely ignoring the fact that some rights holders don t want to be served by CAL at all. The fact that CAL can arbitrarily take money for other people s work is an infringement on their rights. He further demonstrates his ignorance by saying Without CAL and the licences we administer, users educational institutions, government agencies and corporate organisations, to name just a few would be required to seek permission every time they reproduced copyright material or run the risk of legal action for copyright infringement of course any educational institution can use Creative Commons licensed work [5]. I ve previously written about the CK12 project to develop CC licensed text books for free use [6]. There s no reason why the same thing can t be done for university text books. In the discussion following Claudine Chionh s LUV talk titled Humanities computing, Drupal and What I did on my holidays [7] it was suggested that it should be possible to gain credit towards a post-graduate degree based on work done to share information this could mean setting up a Drupal site and populating the database or it could mean contributing to CC licensed text books. Let s face it, a good CC text book will be read by many more people than the typical conference proceedings! James says that CAL is used Instead of having to track down individual rights-holders every time they want to reproduce copyright material . The correct solution to this problem would be to change the copyright law such that if a reasonable attempt to discover the rights-holder fails then work is deemed to be in the public domain. The solution to the problem of tracking down rights-holders is not to deny them their rights entirely and grant CAL the right to sub-license their work! He also makes the ridiculous claim Whereas in the age of the physical book schools and universities could have bought fewer books and made up the difference by using photocopies, it is now possible for an organisation to buy a single set of digital materials and reproduce them ad infinitum which implies that CAL is the only thing saving the profits of authors from unrestricted digital copying. Of course as CAL seems to have no active enforcement mechanisms and they apparently charge a per-student fee they really have no impact on the issue of a single licensed copy being potentially used a million times extra use apparently won t provide benefits to the author and use in excess of the licensing scheme won t be penalised. He asks the rhetorical question After all, why go to the expense of creating a textbook (or some form of digital course materials) if you are going to sell only a half-dozen copies to state education departments . The answer is obvious to anyone who has real-world experience with multiple licensing schemes you can sell one single copy and make a profit if the price is high enough. The smart thing for the education departments to do would be to pool their resources and pay text book companies for writing CC licensed texts (or releasing previously published texts under the CC). The average author of a text book would probably be very happy to earn $100,000 for their work, the editorial process probably involves a similar amount of work. So if the government was to offer $300,000 for the entire rights to a text book then I m sure that there would be more than a few publishers tendering for the contract. According to the CIA World Fact Book there are 2,871,482 people in Australia aged 0-14 [8], that means about 205,000 per year level. CAL charges $16 for each primary and secondary student so the government is paying about $3,280,000 every year per year level. Even in year 12 the number of text books used is probably not more than 10, so it seems to me that if all the money paid to CAL by schools in a single year was instead used to fund Creative Commons licensed text books then the majority of the school system would be covered! The universities have a much wider range of text books but they also have higher CAL fees of $40 per student. After cutting off the waste of taxpayer money on CAL fees for schools that money could be invested in the production of CC licensed university text books.

3 March 2010

Stefano Zacchiroli: RC bugs of the week - issue 23

RCBW - #23 Wacky week, last week. Not only I've (almost) completed my moving to the new house, but we have also had guests in the lab for some full-immersion-paper-writing. That had left very little time for RC squashing, but I've catched up a bit in the week-end. Without any further ado, here are this week's squashes: Random points: In totally unrelated news: I've bought my ticket for DebConf10 (YAY!), according to my usual debconf customs: 4 days of debcamp + all the conf. See you there (in a while). ... and congrats to Adnan for the winning DebConf11 bid!

28 February 2010

Russ Allbery: Review: Coders at Work

Review: Coders at Work, by Peter Seibel
Publisher: Apress
Copyright: 2009
ISBN: 1-4302-1948-3
Format: Trade paperback
Pages: 601
Coders at Work is a collection of edited interviews by Peter Seibel (probably best known previously for his book Practical Common Lisp) of an eclectic and excellent collection of fifteen programmers. It opens with an interview with Jamie Zawinski (one of the original Netscape developers) and closes with Donald Knuth. In between, the interview subjects range in programmer generations from Fran Allen (who started at IBM in 1957) and Bernie Cosell (one of the original ARPANET developers) to Brad Fitzpatrick (LiveJournal founder and original developer). Techniques and preferences also range widely, including two people involved in JavaScript development and standardization (Brendan Eich and Douglas Crockford), a functional programming language designer and developer (Simon Peyton Jones), language designers and standardizers such as Guy Steele, and people like Dan Ingalls who have a different experimental approach to programming than the normal application development focus. All of the interviewees are asked roughly the same basic questions, but each discussion goes in different directions. Seibel does an excellent job letting the interview subjects shape the discussion. Two things immediately stood out for me about this book. First, it's huge, and that's not padding. There are just over 600 pages of content here, much of it fascinating. The discussions Seibel has are broad-ranging, covering topics from the best way to learn programming to history and anecdotes of the field. There's some discussion of technique, but primarily at the level of basic approaches and mindset. One typical question is how each programmer organizes their approach to reading code that isn't familiar with them. Each interviewee is also asked for book recommendations, for their debugging techniques, for their opinions on proving code correct, and how they design code. The participants are so different in their backgrounds and approaches that these conversations go in fifteen different directions. This is one of the most compelling and engrossing non-fiction books I've read. Second, the selection of interview subjects, while full of well-known names in the field, is not the usual suspects. While I'm interested in the opinions of people like Larry Wall and Guido van Rossum, I've already heard quite a lot about how they think about programming. That's material that Coders at Work doesn't need to cover, and it doesn't. Many of the interview subjects here are people I'd heard of only vaguely or not at all prior to this book, often because they work in an area of programming that I'm not yet personally familiar with. Those who I had heard of, such as L. Peter Deutsch, I often knew in only one context (Ghostscript in that case) and was unfamiliar with the rest of their work. This gives the book a great exploratory feel and a lot of originality. There is so much good material here that it's hard to give a capsule review. This is a book I'm highly likely to re-read, taking more detailed notes. There's entertaining snarking from Jamie Zawinski and Brendan Eich, fascinating history of the field (including in gender balance) from Fran Allen, and an intriguing interview with Joe Armstrong (creator of Erlang), who seems to have a far different attitude towards languages and libraries than the other interviewees. Every interview is full of gems, bits of insight that I now want to research or play with. A couple of examples come to mind, just to provide a feel of the sort of insights I took out of the book. In the interview with Joshua Bloch, who does a lot of work on library APIs, he mentions that empathy is one of the most important skills for designing an API. You have to be able to put yourself in the shoes of the programmer who's going to use the API and understand how it will feel to them. This came up in the context of a discussion about different types of programmers, and how programmers can be good at different things; the one who can do low-level deep optimization may not have that sense of empathy. Another example: Bernie Cosell talked about how he did debugging, and how he got a reputation for being a fantastic debugger who was able to fix just about anything. He confessed that he often reached a portion of the code that he didn't understand, that seemed too complex and tricky for what it was attempting to accomplish, and rather than trace through it and try to understand it, he just rewrote it. And after rewriting, the bug was often gone. It wasn't really debugging, but at the same time it's close to the more recent concept of refactoring. Several of the interview subjects commented on a subjective feeling of complexity and how when it gets too high that's a warning sign that code may need to be rethought and rewritten. A third example: I was fascinated by the number of interviewees who said that they used printf, assert, and eyeballs to debug rather than using any more advanced debugging tools. The former Lisp developers would often bemoan the primitiveness of tools like gdb, but many of them found that print statements and thinking hard about the code were usually all that's needed. (There was also a lot of discussion about test suites and test-driven development.) The general consensus was that concurrency problems were the hardest to debug; they made up a disproportional number of the responses to Seibel's question about the hardest bug the programmer ever had to track down. I could go on giving similar examples at great length, but apart from the specific bits of wisdom, the strongest impact this book made on me was emotional. Coders at Work is full of people who love programming and love software, and that enthusiasm, both in general and for specific tools and ideas, comes through very clearly. I found it inspiring. I realized while reading this book, and I suspect I'm not alone among programmers in this, that I largely stopped learning how to program a few years back and have been reusing skills that I already have. Reading Coders at Work gave me a strong push towards finding ways to start learning, experimenting, and trying new techniques again. It also filled me with enthusiasm for the process of programming, which immediately helped my productivity on my own coding projects. This is obviously a book whose primary target audience is practicing programmers, and while it doesn't go too far into language theory, I was relying on remembered terms and structure from my master's degree for a few of the interviews. I think it's approachable for anyone who has a working background in programming and a few languages or a CS degree, but it might be a stretch for someone new to the field. But even someone without any programming knowledge at all would get a lot out of the anecdotes and snapshots of the history of software development. Coders at Work is also full of jumping-off points for some additional research on Google or additional reading in other recommended books. I only have one complaint, which I have to mention in passing: for such a large book full of interesting ideas and book recommendations, the index is wholly inadequate. I tried looking up five or six things in it, including the source of some of the book recommendations that are collected in an appendix, and I struck out every time. It's very hard to find something again in 600 pages, and more attention paid to the index would have been greatly appreciated. But, despite that, for people within the target audience, I cannot recommend this book too highly. Not only was it full of useful information, at the level of programming above the code details that's often the hardest to talk about, but it's consistently entertaining and emotionally invigorating and inspiring. It made the rounds of tech blogs when it was first released, to nearly universal approval, and I can only echo that. If you're a practicing programmer, I don't think you'll regret spending a few weeks reading and thinking about this book. Rating: 10 out of 10

17 February 2010

Russell Coker: Can the NBN Ever Break Even?

I previously wrote about how the National Broadband Network (NBN) seems more suited to porn delivery than regular Internet use [1]. It doesn t seem to be of much use really. In a particularly insightful comment John Hughes suggested that the real purpose would be TV delivery. The ABC is currently delivering 640*360 resolution MPEG4 files via iView for it s TV content. To use iView on Linux you need Jeremy Visser s Python-iView program [2] in conjunction with Luke Kenneth Casson Leighton s rtmp program [3]. Note that to get this working on Debian/Lenny you need to install the python-simplejson package as well. For the current ABC service it requires 251652 of data for a 3167.6 second Torchwood episode, that averages to 79.4KB/s of data. In contrast a video of Dan Gilbert from TED.com at high quality was in 640*480 resolution and required 301652KB of data for 1276.5 seconds which averaged out to 236.3KB/s. My ADSL2+ connection is theoretically capable of something over 1MB/s and occasionally gets such speeds for unusual download situations (such as downloading multiple large files at the same time). But generally I can t rely can t rely on sustained transfer rates of more than about 200KB/s. So I could watch streaming TED talks at reasonable quality, but for the best results I have to download them and watch them from disk. Assuming the same ratio of compressed data to raw pixels used for HDTV as used for TED talks a 1920*1080 HDTV resolution MPEG4 with the same quality as a TED talk would take 1600KB/s. It is possible to vary the compression level and possibly the usage of a TV stream would permit better compression than the usage of a TED talk for the number of pixels. But it seems reasonable to assume that something like 1600KB/s is needed for best HDTV, that is more than the vast majority of ADSL2+ installations can be relied on to sustain. But 100Mb/s would allow at least two 1920*1080 HDTV transmissions to be viewed at the same time, and maybe three or four as few homes have only one TV this should be of great interest. Now the question is how much people would pay for this. Currently there are two main pay TV companies in Australia, Foxtel which charges $916 for a 12 month plan [4] and Optus who s web site is so awful that I gave up before discovering what they cost (I will assume that they are competitive with Foxtel). Now I think it s reasonable to assume that $916 is at the high end of what potential customers are prepared to pay, as they are competing with free to air TV, DVD sales, Youtube, and downloads of pirate content. The current bank interest rate on term deposits from the Commonwealth bank is 6.3%, the interest rate on raising the finance would have to be greater than that let s assume 7%. So the $5000 per household will require an interest payment of $350 per annum. If a household signs up to pay TV services at a cost of $1200 per annum that might be enough money to pay slightly more than $350 to the NBN plus make a profit for the pay TV company. So if every household in Australia signed up for pay TV over the NBN it should be profitable. But that seems unlikely. The majority of the Australian population (IE the majority of the city population) is used to paying not much more than $240 per annum for a basic phone service and not much more than $360 per annum for a basic broadband Internet service. A bundled deal of $1600 per annum for phone, Internet and pay TV should allow the pay TV company and the NBN to be barely profitable if everyone accepts the deal (unless of course interest rates rise). If half the population aren t interested then the bundled deal would have to cost $2000 to have the potential for being profitable. If three quarters of the population aren t interested then it would have to cost $2300 or more! The Australian Bureau of Statistics documents that in 2008 the median household disposable income in capital cities was $593 per week [5]. So it seems that the idea of the NBN being profitable is based on plan to have more than three weeks of household disposable income per year being spent on Internet/phone/TV services. But fortunately for the pay TV companies and the content companies there is no requirement for the NBN to be profitable, it s being paid by tax money so if it loses money then we can just pay more tax! It s the ideal public private partnership , the citizens take all the risk and the corporations reap all the profits! James Purser describes how Stephen Conroy gave the TV networks something between $250,000,000 and $500,000,000 a year for the next two years [6]. It was claimed that this huge gift would be conditional on the production of more Australian content but they ended up not putting any conditions on it. In a strange coincidence Stephen Conroy did this a month after having a meeting with Kerry Stokes (head of Channel 7). Based on this I don t believe that there was ever a serious plan to make the NBN profitable. I think that the plan was just to take our tax money and spend it on things that benefit friendly corporations. Really it s better for us if the government just hands out $500,000,000 at a time instead of spending $43,000,000,000 on a project that has the same aim of giving a few hundred million to cronies.

Next.

Previous.