Search Results: "ron"

23 January 2010

Brett Parker: Of TV shows and them being cancelled...

So, I've (only just) got round to watching most of Tru Calling, I'm nearly at the end of season one, and then I looked at the number of DVDs left and went "erm, err, what happened with season two, then?"... This appears to happen rather often with anything shown by Fox... The other show that I really liked but didn't see till a long time after they'd cancelled it was Firefly. Why do Fox do this?! Annoying gits! Of course, the other show that I'm waiting for on DVD/Blu-Ray is Dollhouse Season 2, after which we get no more of that either (go Fox!) - I've also just finished The Sarah Connor Chronicles Season 2... which I believe has also been cancelled... Mutter - it just all mostly sucks. With that and the stupid schedule that Disney PIXAR are releasing things, I'm sure that the entertainment industry is just out to piss me off, there's no way that they needed so many months between the US premier of Up and it coming to the UK (OK, so when it did come out here, I didn't go and see it in the cinema, but that's mostly cos I was still pissed off with the release scheduling, and that I'll have it on DVD/Blu-ray as soon as it's released here on that... I own the rest of the Disney PIXAR movies, so meh).

Joerg Jaspert: Uploaders index

For a long time we had a bug against the archive asking us to export a file similar to the Maintainers index, just for the Uploaders (aka Co-Maintainers). Back then it wasn t that easy, but this changed. A while ago I also got a patch from Emilio Pozuelo Monfort against the first bug asking for it (#120262 !, and so went to integrate it. Of course this told us about a deficit in daks code parsing the Uploaders field. No, it is not good to solely split on a comma, when we have at least one Maintainer with a comma in their name field. We now split on the end of a mail address, followed by a comma. This simple idea is from Alexander Reichle-Schmehl, I was always thinking of a more complicated parser for it But heck, why? Yes, this can easily go wrong, if people, for whatever reason, add a space in there. But it only harms them, not us, so I don t think it is a big problem. Let us help you shot in your own foot. :) The new file will be exported as Uploaders.gz right besides the Maintainers.gz we already have on every mirror in the indices/ directory, starting with the next dinstall run (that will start in 2 hours and some 42 minutes, at time of writing this entry). Until then you can find a version at my space, to poke around and find bugs. A good example is right at the top - a52dec. Bug already filed, they missed a comma between two Uploaders. Feel free to hunt for your own bugs. :) And while I am writing already: Are you working with data generated out of the Debian archive, but have to generate the data yourself? (Like people had with the Uploaders index in the past, for example). Feel free to ask for it to be generated during dinstall. If the data is available (or can be made) and makes sense to have for more than just a personal pet project, we are happy to merge patches, help with it, provide it. (And really, asking cost nothing, we can t do more than deny it).

22 January 2010

Russell Coker: How to Lose Customers

Bruce Everiss who is famous for being threatened with legal action by Evony has been writing about the supposed losses from game piracy, in his latest missive he copies the text from a number of blog comments without citing the original authors [1]. He copied my text without citing me as the author (which is at best shoddy journalism and by a fundamentalist attitude such as his could be considered as piracy). He also copied my text in with a bunch of other comments which he attributes to The thieves . It s unfortunate that Bruce doesn t seem capable of understanding irony, he wrote There is no doubt whatsoever that downloading and playing a game that should have been paid for is theft and then copied part of the text of my comment where I provided a dictionary definition of theft that directly contradicts his claim. If he was at all interested in quality writing he would cite his references and then when a dictionary is cited which disagrees with his opinion he would at least try to find a dictionary with a more agreeable definition. It shouldn t be THAT difficult to find a dictionary that has multiple definitions of theft of which one is agreeable to the MAFIAA [2]. Now if Bruce had properly read my comment he would have seen I ve started watching content from sites such as blip.tv (in the little time I have for such things) and I only play games that are part of the Debian distribution of Linux (free software) which makes it very clear to any reasonable interpretation that I am not a game pirate and probably not even a movie pirate. I did mention in a comment on Bruce s blog that the DVD experience of being forced to sit through a whinge about piracy was a factor that made buying a DVD a worse experience than downloading it, a concept that I expanded into a blog post on the relative technical merits of DVDs and pirate MP4 files [3]. That post received a number of interesting comments including one from Josselin Mouette which had some useful technical detail about subtitles and audio track storage. I had believed that there were some real technical advantages of DVDs but Josselin corrected me on this matter. Also one thing that is noteworthy is that Bruce seems to use a copyright picture in almost every post but he doesn t attribute any of them. It does seem unusual for someone to use commercial artwork without any copyright or trademark notices attached. This usually isn t a big deal for a blogger, a liberal interpretation of copyright and trademark law is usually expected in terms of blogging corporations will tend to be hesitant to invoke the Streisand effect by suing a blogger (EG Bruce blog came to fame when he was sued by Evony). But when a blogger is writing about the importance of not pirating anything it would seem sensible to go to the effort of citing trademark and copyright references and also mentioning the licence agreements under which the IP was used. I believe that any loss of customers and revenue by the MAFIAA and the gaming industry is due to the actions of the companies involved. They should just try to make their customers happy, otherwise they lose the customers. The same goes for bloggers. I read blogs written by people who disagree with me, and sometimes by people who offend me on occasion. But Bruce is making baseless claims while deliberately ignoring evidence. He is calling for strong anti-piracy measures while doing what could be considered as pirating my work. He uses words in ways that conflict with dictionary definitions, and he calls for an end to our current legal system by demanding punishment based on three accusations rather than any legal process. I even pointed out to Bruce that if there was a three strikes law regarding accusations of copyright infringement then his blog would be offline after three accusations by Evony. Sorry Bruce, if I was looking for irrational rants about copyright then I would look at what the members of the Science Fiction Writers of America (SFWA) are doing [4]. The SFWA people demonstrate as much knowledge of computers and the Internet as Bruce does, but they are at least really good writers. If it was just me unsubscribing from Bruce s RSS feed then it wouldn t matter (I m one of tens of thousands of readers). But I expect that a large portion of the new readers Bruce acquired after being attacked by Evony will disappear when they see Bruce as the attacker and everyone who uses the Internet as a potential victim of the Three Strikes law.

Brett Parker: Of networking, bridging and ipv6 tunnels...

So, as I'm not always sitting directly in front of machines that I'm working on I've been using various tools to get temporary network connections between completely seperate network blocks, for example, sitting on wireless outside of my home, connecting back in to the desktop at home, and then connecting to the virtual machines on that desktop - the virtual machines are on their own private network, which is bridged and then routed through the desktop. The desktop machine has an ipv6 tunnel setup using tinc to my main VPS. That in turn has a tunnel setup to he.net's ipv6 network... I then have my laptop configured to also use tinc to connect to my VPS, so lots of ipv6 over ipv4, really. From that I can then get a 'direct' ssh connection between my laptop and my desktop (OK, so it's actually going over 2 ipv6 over ipv4 tunnels to get there, but it "looks" direct), so, that gets me as far as the external network on that box. From here, we can run a vde_switch which is connected to a tun/tap interface that's part of the internal bridge, once we've got that running, I bring up another vde_switch on my laptop attached to another tun/tap interface purely for that network with a static ip configure on that interface... using the magic of dpipe I then connect the two vde_switches together using vde_plug, and as if by magic, I then have access to the internal networking of my virtual machines, meaning that I can now ssh directly in to the virtual machines without having to do anymore interesting ssh bouncing and port forwarding. It's a little sick, but it really does make remote working a lot easier to do, it's a vpn of sorts, I suppose, as all traffic is being thrown over ssh pipes or tinc (which in turn is encrypted using x509 certificates)... probably not the quickest of networks, but very very nice all the same.

Stefano Zacchiroli: RC bugs of the week - issue 18

RCBW - #18 ... and RCBW is back! Here is this week squashes: Most of the actually fixed missing include bugs above have benefited from patches by Martin Michlmayr, thanks! Also, this week squashing has benefited from a huge list of bugs which Luk has given me, some of the not-yet-fixed bugs there are a bit trickier than usual (e.g. missing #include bugs which got intertwined over time with const char * conversions bugs, which in turn require some far reaching code changes due to the propagation of function prototypes in unexpected code parts). Since I'll be leaving tomorrow morning for the BSP in M nchengladbach, I'll have a bit of time there to dive a bit more into the issues. Actually, what I fear most now is buying train tickets from Cologne to Moenchengladbach and back, since I'm totally unable to pronounce the name of the latter city (my German sucks, actually there is no such "my German" at all). Luckily, I've been told they've wonderful ticket-selling machines in Cologne :-) See you there, and happy RC squashing!

Russell Coker: Three Monopolists

  1. This afternoon I tried to unlock my old Three mobile phones for the purpose of getting cheap net access as described in my previous post [1]. I wanted to use Dodo 3G Internet (via the Optus network) for my parents which would cost them $139 per year and I wanted to use my old Three phone tethered to their PC as the 3G modem (cheaper than buying a new 3G modem). I took in 3 Three phones to the Three store to get unlocked, I actually have 4 old Three phones (my wife and I are each on our third Three phone) but I seem to have misplaced one. It turned out that the two newer phones (LG U890) can t be unlocked as they are permanently locked to the Three network. The older LG U8110 can be unlocked, doing this took 30 minutes of the Three employee speaking to other Three employees on the phone and I will now have to wait 4 days to receive an SMS with the unlock code. So the Three anti-competitive behavior of making it unreasonably difficult to get a phone unlocked and of selling phones that (supposedly) can never be unlocked wasted them 30 minutes of store employee time when other potential customers were queuing up as well as 30 minutes of employee time in their call center. If the call-center employee was based in Australia then as the minimum wage is $14.31 per hour [2] that would have cost them at least $14.31 for 2*30min of work, as a rule of thumb it s generally regarded that the costs of employing people are twice the salary (including costs of maintaining office/shop space, paying managers, doing paperwork, etc). So it probably cost Three about $29 to unlock one of my phones and tell me that the others can t be unlocked, when I find phone 4 it will cost them another $29. As $29 is my typical monthly bill this has got to make an impact on the profitability of Three. If they were smart they would have sent me an SMS when I got a new phone telling me whether the old phone can be unlocked and if so giving me the code to do so. For phones that can be unlocked I doubt that would make anyone unlock their phone who wouldn t do so anyway, and for phones that can t be unlocked they could encourage the owner to give the phone to someone who wants a phone for pre-paid use (thus locking in a new customer). It probably won t be worth the effort of cracking an LG U890 phone to save my parents $10 per annum. As I couldn t get the LG U8110 to talk to my laptop I guess that forces my parents to eventually use Three for 3G net access. But they could have just matched the Dodo price and got the same result without having me spend half an hour in their store. Update: I just enquired about ending my Three contract for 3G net access ($15 per month for 1G of data) in favor of the yearly prepaid option of $149 per annum for 12G. The prepaid option would save me $31 per annum and allow me to use more than 1G in the busy months. But it seems that I subscribed to a two year contract for that one and I have 6 months to go. Over those 6 months they will make about $15 extra in revenue from me while annoying me in the process, this probably isn t a good deal. As my 3G modem is locked to the Three network even if I didn t have a contract I would still be unable to use a different provider.

  2. My mother phoned Optus about her Internet connection and discovered that she had supposedly renewed her Optus cable Internet contract in September last year. Presumably someone from Optus phoned my parents and asked what seemed like a routine do you want to keep using the Internet? question but was really a do you agree to a 2 year contract with a $250 penalty clause for exiting early? . This isn t the first time that Oprus has scammed my parents (previously they charged them rental for a phone that they never supplied), I guess that they have a practice of pulling such stunts on pensioners. I guess I ll have to call the TIO, which will end up costing them more than the $250 penalty clause. The irony here is that as Dodo uses the Optus network I would have used Optus by choice for my parents, but now that they are being scum I will willingly pay the extra $10 per annum to use Three (which while annoying aren t actually hostile).

  3. Finally while Google is admirably living up to their don t be evil motto in regards to China [3] their conduct regarding Google Talk leaves a lot to be desired. Two employees of a company I work for use Google Talk for their instant messaging, this has a Windows client but also allows general access via the Jabber protocol. So these two guys wanted to talk to me via Jabber but Google would just send me email saying X has invited you to sign up for Google Talk so you can talk to each other for free over your computers , I received 5 such messages from a colleague who was particularly persistent. It seems impossible for the Google Talk server to send a chat request to my personal Jabber server (which works well with a variety of other Jabber servers). So I have now started using my Gmail address to talk via the Jabber protocol to other Gmail users. This means that I have a TCP connection to the Google servers open most of the time and Google can boast of having one more active Gmail user. But it doesn t seem to really provide them a benefit. I am going to keep using my main email address as my primary Jabber ID and only use my Gmail address for talking to Google Talk users and only when paid to do so. But as a result of this I recommend that everyone avoid Google Talk as much as possible. Use open Jabber servers such as the ones run by Jabber.org.

It seems to me that none of these companies are really gaining anything from trying to lock customers in. They would be better off spending their efforts on being friendly to people and making them want to be repeat users/customers.

John Goerzen: 98.9% of Kansas may die next month

My subject line is a little over-dramatic, but only a little. Like many states, Kansas is facing a severe budget problem. Last year, the state cut many programs to the bone and beyond. Nursing homes, schools, universities, and charities have all been hard-hit. A 10% cut in Medicaid reimbursement rates and similar cuts to education have been devastating. Institutions are wondering how they can survive. Here s the thing: in rural communities, the very survival of the community is often dependent upon the survival of its schools, nursing home, hospital, or college. Take any one of those things away and the community begins a slow and painful death. This has happened over and over, and right now the Kansas legislature has a simple choice: Do they make a temporary 1% increase in sales tax, and also some increases in tobacco/alcohol taxes, or not? If they do, they can get funding back to normal levels. If they do not, funding will be cut even further, which will certainly cripple many institutions. There are a lot of people opposed to this tax. I m not one of them; I think it s key to the survival of our rural communities and the competitiveness of the state as a whole. 98.9% of Kansas is rural. See the gravity of the situation? Please, if you are a Kansas resident, write your representatives and leave a comment here saying you did (and what you wrote, if you like). The easiest way to find your state senator and representative is to go to a state website, then scroll down to information by county , click on your county, and then click on the districts to see a map if you need one. (The find by address feature seems to be hopelessly broken.) Here s what I wrote: Subject: Please raise my taxes I write with a request I don t make lightly: please raise my taxes, and support the 1% sales tax increase with the 3-year sunset provision. The consequences of failing to do so are terrible. Losing nursing homes or schools would mean the long-term death of many rural communities. Our community leaders are fearing not just for nursing homes being gone; there is a real threat of entire communities facing a slow extinction. The 10% Medicaid cuts already made are having a devastating impact on many quality institutions, and if left in place for any length of time could result in quality organizations closing, or refusing to accept Medicaid. And even deeper cuts are being contemplated. Even for those that plan well and have long term care insurance would be harmed if the nursing homes they might contemplate living in one day have closed due to today s Medicare cuts. I fear for our schools as well. Our two boys will be of school age
soon, and we live in a district that is of one of Kansas exceptionally strong rural schools. So far, our school is coping, but I am concerned about the drive to consolidate our rural schools, which would result in unreasonable travel distances and would be unlikely to duplicate the excellence of the schools we have now. I fear for our early childhood and university systems; without a good beginning in life, Kansas will face higher costs later. Without an affordable university system, Kansas will be less competitive. If small communities lose their schools, nursing homes, college students, or hospitals, some of them won t survive as towns. This hurts everyone in the state. When my wife and I moved from Indianapolis to rural Kansas in 2002, we, like many homebuyers, carefully studied the quality of schools and medical facilities available. If Kansas wants to be able to attract residents and the businesses that want a qualified labor pool, it must remain competitive. Forcing our best institutions to close a permanent problem over a short-term budget problem isn t going to help with that at all. It will hurt all of Kansas, rural and urban alike, if vast portions of our state become less attractive due to these problems. We likely would not have moved to the state at all if its rural communities were dead or dying. How many taxpaying Kansans will we lose if we let their communities suffer? Americans these days have plenty of choices where to live. I don t see many people choosing where to live based on a 1% difference in sales tax. I do see plenty of people making decisions based on quality of schools, hospitals, universities, roads, and even nursing homes. Please help save our rural communities and keep Kansas all of it competitive.

Dirk Eddelbuettel: Rcpp 0.7.3

A quick nine days after release 0.7.2 of Rcpp, our R / C++ interface classes, Romain and I are happy to roll out a new version 0.7.3. It has been uploaded to CRAN and Debian, and mirrors should have the new versions shortly. As before, my local page is also available for downloads and some more details. This release combines a number of under-the-hood fixes and enhancements with one bug fix: As always, full details are in the ChangeLog on the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page

21 January 2010

Andrew Pollock: [tech] Finding the maximum message size

This was born from a need to see how big a ZIP file I could send my accountant in Australia, and scratching the itch to write some code. The fact that most SMTP servers talk Extended SMTP makes this relatively easy, and Python has some great modules for DNS and SMTP. One gripe I do have is how long it takes the Python modules to mature. It's taken until Python 2.6 for smtplib.SMTP() to gain a timeout parameter, for example. Anyway, I was able to write something nice and generic (it works for any domain) in around 100 lines, thanks in no small part to the DNS module, which makes getting a list of MX records stupidly easy.
$ ./maxmessagesize.py andrew.net.au
daedalus.andrew.net.au: -1
$ ./maxmessagesize.py pollock.id.au
ASPMX.L.GOOGLE.COM: 35,651,584
ALT1.ASPMX.L.GOOGLE.COM: 35,651,584
ALT2.ASPMX.L.GOOGLE.COM: 35,651,584
ASPMX2.GOOGLEMAIL.COM: 35,651,584
ASPMX3.GOOGLEMAIL.COM: 35,651,584
ASPMX4.GOOGLEMAIL.COM: 35,651,584
ASPMX5.GOOGLEMAIL.COM: 35,651,584
$ ./maxmessagesize.py debian.org
master.debian.org: 104,857,600
$ ./maxmessagesize.py cameronp.com
mail1.mysmarthost.com: 30,000,000
mail2.mysmarthost.com: 30,000,000
$ ./maxmessagesize.py ubuntu.com
mx.canonical.com: 62,914,560
$ ./maxmessagesize.py clug.org.au
mx.clug.org.au: 50,000,000
$ ./maxmessagesize.py linux.org.au
morton.linux.org.au: 52,428,800
It's good to see that in most cases of domains I tried, all of the MXes had the same maximum message size. Source code is here

Jaldhar Vyas: There's No Hope With Dope

With Guantanamo Bay about to be shut down, and President Obamas' first year in office complete, what do the American public think of him?
% of Americans who approved of Pres. Bush after one year in office
% of Americans who favor waterboarding the Christmas bomber
% of Americans who approve of Pres. Obama after one year in office
How did this happen? Well, once upon a time, the USA was really racist. Then a light skinned African American with no negro dialect entered the presidential contest and the country entered a new post-racial era. Unfortunately not everyone had the audacity to hope. Things got so bad, people wanted to cut obamas nuts off but the change we sought within us prevailed and became president. Unfortunately some parts of the US are still filled with overweight Jesus and gun loving Walmart shoppers who insist on voting Republican even though that party doesn't exist anymore. Why? Racism. It's the only possible explanation

Benjamin Mako Hill: Annual Free Software Foundation Membership Drive Appeal

I wrote this for the FSF's annual membership drive where it was originally published. I am reposting it here.
At its core, I think of free software as about the ability of computer users to take control of their technology. Insofar as our software defines our experience of the world and each other, software freedom is an important part of what allows us to determine the way we live, work, and communicate. Free software is not really about software in this fundamental sense; it's about bringing freedom to users through software. In free software's incredible success over the last two decades, many people have lost sight of this simple fact. We have created an incredible array of applications, libraries, and tools. We have created vibrant development and support communities. We have created new development methodologies, powerful copyleft licenses, and massive collaborative projects. But these are all how we give users freedom. They are not freedom itself. They are not what we were trying to achieve. They are our instruments, not our goal. This distinction becomes central in a world where technology is in flux. Indeed, we live in such a world. We can see signs of this in how, as most users' primary computers become mobile phones and new types of network services make up most of many users' interactions with computers, the free software movement's old applications, communities, development methodologies, and licenses can become ill-suited to, or ineffective at, protecting user freedoms. And indeed, in the next few years, bringing freedom to computer users will need to involve new software and new forms of advocacy. It will need to involve new licenses and new techniques for their enforcement. It will need to involve new forms of collaboration and organization. If the free software movement is to succeed, it must stay focused on computer users' freedom -- on the question of why we do what we do -- and then work creatively on how to best respect and protect the freedom we are working toward. If we are overly focused on how we've done things in the past, we may lose sight of the most fundamental goal of supporting users' control over their technology in general. There are many organizations that support the how of today's free software in various ways -- they are law firms and companies and nonprofit organizations supporting various free software projects. The Free Software Foundation is, by far, the most important organization focused on why --- on the underlying principle of software freedom. As such, it plays an essential role in keeping our broader community focused on the key issues, threats, and challenges that will affect the success of every free software project, and every computer user, in the present and in the future. In this period of rapid change in computer technology, its role is more vital than ever. The consequence of any failure is more dire. Here are some of the ways that I will be encouraging the FSF to serve the free software movement in the coming year: Mobile Phones In a short essay I wrote earlier this year, I pointed out that there are now billions of mobile phones and that, although these phones are increasingly powerful computers, they represent one of the most locked-down, proprietary, and unfree technologies in wide use. The implications of this fact for users' control over their technology are dire. Although some widely used phones make extensive use of free software, most free phones are locked down and Tivoized and their users remain fettered, divided, and helpless. We must raise awareness of free software issues among users of phones, communicate to users that phones are powerful general purpose computers, and explain that control over these devices has critical implications for individual autonomy in the future. Toward this end, the FSF staff will launch an advocacy campaign around mobile phones and software freedom in the coming year. Network Services As network services -- like those built by Facebook, Google, and others -- have continued to grow both in scope and penetration over the last year, the importance of a meaningful free software responses grows as well. The launch of products like Google's network-centric ChromeOS offers one glimpse of what a future computing platform may look like. The implications for user freedom, and for the effectiveness of traditional free software approaches, are frightening. The fact that many network services are built using free software does not make the effect of these services on users' autonomy and freedom any less catastrophic. In the next year, the FSF is planning to release the first of what I hope will be several statements on software freedom and network services. Building off the work of the FSF-supported group Autonomous, the Foundation will help provide guidelines for those implementing network services, for users deciding whether to use services, and for developers trying to build services that go further to respect their users' freedom. Reaching beyond our traditional communities Successfully fighting for user freedom is going to mean successfully reaching out to users outside the FSF's historical base . The FSF continues to do so with its Defective By Design anti-DRM campaign and its End Software Patents work. In the last year, the FSF has also reached out to younger users through its "GNU Generation" campaign run by and for high school students. Additionally, the FSF convened a summit this year on women in free software. The FSF plans to build on these successes in the coming year and to expand similar outreach projects. Of course, fighting for and promoting software freedom is more work than today's FSF has the resources to accomplish. Each of my three points above represents an ambitious undertaking, and yet just a portion of the items on the plate of the FSF's small but dedicated staff. Even just continuing its existing projects will require that the FSF adds hundreds of new members by the end of this period. Your membership and donations help make goals like this possible. A strong free software movement focused on the principled issues of software freedom -- and a strong FSF in particular -- will determine what freedoms the next generation of computer users will enjoy. At stake is no less than that next generation's autonomy. I know that this is not the first fundraising appeal you've read this season and I know that the weakened economy makes giving difficult for many. I understand that the cost of a membership or donation may be less easy to afford this year. But we also cannot afford a weakened FSF at this important point of technological transition. If you are not an FSF associate member, now is the time to become one. If you've read my appeal the last two years and decided to wait, now is the time to take the plunge. Membership is $120 per year ($60 for students) and payable monthly. If you are already a member, please join me in giving generously through a tax-deductible donation, or encourage a friend to sign up. The FSF is a small, humble organization of passionate individuals working tirelessly for our software freedom. I've seen firsthand that even small gifts make a difference.

Join now with a $10 monthly donation

20 January 2010

Robert Collins: LCA 2010 Thursday Keynote Glyn Moody


Glyn Moody Hackers at the end of the world. Rebel code is now 10 years old 50+ interviews over a year and could be considered an archaeology now :) I probably haven t down the keynote justice it was excellent but high density you should watch it online ;) Glyn talks about open access various examples like the public library of science (and how the scientific magazine business made 30%-40% profit margins. The Human Genome Project & the Bermuda Principles : public submimssion of annotated sequences. In 2000 Celera were going to patent the entire human genome. Jim Kent spent 3 weeks writing a program to join together the sequenced fragments on a 100 PC 800Mhz Pentium processor. This was put into the public domain on just before Celera completed their processing and by that action Celera were prevented from patenting *us*. Openness as a concept is increasing within the scientific community open access to result, open data, open science (the full process). An interesting aspect to it is open notebook science daily writeups, not peer reviewed: release early, release often for science. Amazingly, Project Gutenberg started in 1971! Glyn ties together the scientific culture (all science is open to some degree) and artistic culture (artists share and build on /reference each others work) by talking about a lag between free software and free content worlds. In 1999 Larry Lessig setup Copyright s Commons built around an idea of counter-copyright copyleft for non-code. This didn t really fly, and Creative Commons was setup 2 years later. Wikipedia and newer sharing concepts like twitter/facebook etc are discussed. But what about the real world: transparency and governments, or companies? They are opening up. However, data release != control release. And there are challenges we all need to face:
  • GFinancialC my gain is your loss . Very opaque system.
  • GEnvironmentalC my gain is our loss
Glyn argues we need a different approach to economic governance: the commons. 2009 Nobel laureate for Economic Sciences Elinor Ostrom work on commons and their management via user associations which is what we do in open source! Awesome!

19 January 2010

Robert Collins: LCA 2010 Tuesday


Gabriella Colemans keynote was really good; grab it from the videos once they come online. WETA run Ubuntu for their render farm: 3700 machines, 35000 cores, 7kw per cold rack and 22kw per hot rack. (Hot racks are rendering, cold racks are storage). Wow. Another talk well worth watching if you are at all interested in the issues related to running large numbers of very active machines in a small space. And a classic thing from the samba4 talk at the start of the afternoon: MS AD domain controllers do no validation of updates from other domain controllers: classic crunchy surface security. (Discovered by samba4 borking AD while testing r/w replica mode). Blue-ray on linux is getting there, however one sad thing is that the Blue ray standard has no requirement that vendors make players be able to play un-encrypted content and there are some hints that in fact licences may require them to not play un-encrypted content. Peter Chubb s talk on Articulate was excellent for music geeks: midi that sounds like music from lillypond. Ben Balbo talked about Roll your own dropbox . Ben works at a multimedia agency, but the staff work locally and don t use the file server . use instant messenger to send files around! Tried using subversion too hard. Dropbox looked good but 3-7 hundred a month too pricey given an existing 1.4TB of spare capacity. He then considered svn + cron but deleted directories cause havoc & something automatic was wanted so git + cron instead. Key thing used in doing this was having a work area with absolutely no metadata. Conflicts dealt with by filename.conflict.DATESTAMP.HOSTNAME.origextention Doesn t trigger of inotify, no status bar widget, only single user etc at the moment, but was written to meet the office needs so is sufficient. Interestingly he hadn t looked at e.g. iFolder.

18 January 2010

Gunnar Wolf: 100 years of policletos

Among the many columns and lesser sections of my favorite national newspaper I enjoy reading the Centenaria column Notes published one hundred years ago in Mexico City local newspapers. A couple of decades ago, we started having policletos on the streets "Polic as bicicletos". Cops on bikes. I don't know if we had policletos as a continuous presence before that, but I do remember it being somewhat controversial in the late 1980s or early 1990s. Anyway, this snippet (and sadly I cannot capture the 1910 writing style in English) was a joy to read:
January 18, 1910 Good results of using bicycles for surveillance As we have come to know, the service the first-class policemen are doing on bike, mainly during night time, has yielded great results, as the street policemen often fell asleep and woke up upon hearing a horse approaching, which does not happen anymore because the first-class policemen make much quicker rounds, and before the street policemen even think of it, their superior is standing in front of them. It also seems that robberies, so frequent during the nights, have ceased because the burglars, hastily breaking the locks, are caught by the bike-riding policemen, given the machines barely make any noise, and besides, they cannot run away because they are chased with no effort.

17 January 2010

Gustavo Noronha Silva: Cool hack - html5tube

Did I mention I hate flash? I do. It crashes a lot, and is overall a bad thing for the web, in my opinion. But I do enjoy watching videos on the web, and unfortunately, up to this day, flash is what most sites use to show videos. Months ago I read a couple of blog posts with nice hacks to make Firefox able to play youtube videos without using the flash player. Some recent discussions with colleagues at work got me itching to try my hand at something similar for Epiphany. HTML5Tube working So I went ahead, and wrote a new extension that does just that - in youtube video pages, it finds the flash player element, and replaces it with an HTML5 video tag pointing to the actual movie file. This causes the internal HTML5 media player built into WebKitGTK+, that is based on GStreamer, to play the movie. That means you only need to have the necessary GStreamer magic, and the extension enabled, to enjoy the movie. There are some caveats - in-video text messages are gone (though I m pretty sure we could get them added somehow), playlists, and other places which display videos other than the normal video watching page are not handled, youtube needs to think you have the flash plugin installed, at least, so the only way to make it work right now is to actually have a flash plugin installed. I think we could probably get away with the last problem somehow, by looking at what the totem youtube plugin code does, for instance, and replicating it.

Gustavo Noronha Silva: Content-Encoding in soup - all your gzip are belong to us

One thing everyone forgot to talk about the WebKitGTK+ hackfest was that master Dan Winship added basic Content-Encoding support to libsoup, and patched WebKitGTK+ to use it. If you are using a recent enough version of those you will finally be able to visit web sites that send gzipped content despite the browser saying it could not handle it, like the Internet Archive. This was one of those cases in which the web shows all of its potential to behave weirdly. The HTTP/1.1 RFC says that if an Accept-Encoding header is not present, the server MAY assume the client accepts any encoding, so we were having many sites send us gzip content even though we did not support it. We then started sending a header saying we support identity, and nothing else! . It turns out the web sucks, so many servers were not happy with a full header, and started giving us angry looks (slashdot, for instance, would not render correctly because it started sending encoded CSS files!). We then simplified the header we were sending, which made those servers happy again. Some sites, though, completely ignored our saying we didn t support anything except identity, and sent us gzipped content anyway. Most of these were misbehaving caches (this was the case for Wikipedia), so would work after you asked for a forced reload, which would ignore the cache, but some servers, such as the Internet Archive s didn t really want to talk about encodings - they only wanted to send gzip-encoded content. So, in the end, our only way out was implementing the damn encoding support, which finally happened during the hackfest. Take that, web!

Tollef Fog Heen: Moving SMS-es and contacts from iphone to N900

I've been using an iphone since late 2007 as my primary phone and so I've gotten quite a few contacts and SMS conversations stored on it. Now that Collabora has given me a nice and shiny N900, I wanted to move my contacts and conversations over, but this proved to be a bit more work than expected. Please note that the following procedure worked for me, I have tried to take reasonable steps to prevent anything breaking, but if something breaks, you get to keep both pieces. I am not responsible and this comes with absolutely no warranty. Take backups. What you need The address book conversion script takes the SQLite database structure and converts that into a VCF file. It should be completely safe to run multiple times (it only does SELECT from the different tables in the contacts database, and you have made backups, haven't you?). If it dies with an "Unknown property", "Unknown label" or other error, you can poke it and see if you can work out what's wrong or drop me an email and I'll see if I can help you. Assuming it doesn't fall over, it will spit out a series of VCards, which you should store in a file, which you then to the N900 and open in the address book. Assuming you have less than 1000 contacts, they should now all be in your address book. If you have more, you need to split the file. A couple of known limitations: The procedure for exporting and importing SMS-es is a bit more involved. First, export the sms-es by running the perl script. It spits out a tab-separated file which you should copy to the N900 along with the smsimporter program from the smstools thread. Run ./smsimporter foo.csv and you should get all your SMS-es put into the conversation app. I ended up compiling my own smsimporter based on the 0.2.1 from the thread with the UUID patch too. Read the whole thread and it should be fairly clear.

16 January 2010

Biella Coleman: Being Bad-Ass w/o the Arrogance

bad-ass For the first time in a long while I took a vacation in New Zealand where I am for LCA. I decided to also take a break (mostly) from the Internet but I decided to it was worth to come back to write a brief response to Clay Shirky s rant about women, which I find pretty unsettling. So the basic upshot of his entry is that for women to get ahead in this world, they need to not only behave more like men but in specific, like all the effing blow-hard jerky self-promoting men like, well Clay Shirky (I guess, right? and he in fact might be proud, I a woman, made this accusation). What I appreciate about the post is the fact that he does not pigeon hole women as caring, maternal, and meek. I have always resented the idea that women can t be assertive and confident. However, confidence and self-esteem, which I agree are vital for getting noted, does not inherently entail jerky behavior.I think Shirky s perspective might be skewed because of his home field, which is filled with just the type of guys he is describing. I call them pundit-entrepreneurs (though to be sure some are pretty darn nice). If you take the field of anthropology, for example, it has traditionally and for a long time been known for grand slam female scholars from Ruth Benedict and Margaret Mead in the past to the ones of the present like Nancy Scheper Hughes and Jean Comaroff. During grad school, I was surrounded by strong, smart, witty, confident ladies and always felt I had role models to follow and emulate. They were not, however, low-life jerks clawing their way to the top of the academic mountain leaving a trail of destruction behind their path. Then when I started to go to the tech and media academic conferences, I was soon swimming in a sea of mostly white men and the vibe was different. I was ignored and talked over a handful of times, which had never happened to me before. There was a lot more self-promotion than I had seen in other fields, in part, it seemed because the media pays more attention to this field so folks are trying to get the media light focused on them. While I don t disagree that many fields from medicine to law promote and reward blow-hards and massive unrestrained arrogance, I would rather not create a false binary between meek/low self-esteem/female and total-jerky/arrogance/confidence. Why not instead promote and highlight behavior that rewards confidence sans the arrogance? Here are some thoughtful related posts.

Biella Coleman: Being Bad-Ass w/o the Arrogance

bad-ass For the first time in a long while I took a vacation in New Zealand where I am for LCA. I decided to also take a break (mostly) from the Internet but I decided to it was worth to come back to write a brief response to Clay Shirky s rant about women, which I find pretty unsettling. So the basic upshot of his entry is that for women to get ahead in this world, they need to not only behave more like men but in specific, like all the effing blow-hard jerky self-promoting men like, well Clay Shirky (I guess, right? and he in fact might be proud, I a woman, made this accusation). What I appreciate about the post is the fact that he does not pigeon hole women as caring, maternal, and meek. I have always resented the idea that women can t be assertive and confident. However, confidence and self-esteem, which I agree are vital for getting noted, does not inherently entail jerky behavior.I think Shirky s perspective might be skewed because of his home field, which is filled with just the type of guys he is describing. I call them pundit-entrepreneurs (though to be sure some are pretty darn nice). If you take the field of anthropology, for example, it has traditionally and for a long time been known for grand slam female scholars from Ruth Benedict and Margaret Mead in the past to the ones of the present like Nancy Scheper Hughes and Jean Comaroff. During grad school, I was surrounded by strong, smart, witty, confident ladies and always felt I had role models to follow and emulate. They were not, however, low-life jerks clawing their way to the top of the academic mountain leaving a trail of destruction behind their path. Then when I started to go to the tech and media academic conferences, I was soon swimming in a sea of mostly white men and the vibe was different. I was ignored and talked over a handful of times, which had never happened to me before. There was a lot more self-promotion than I had seen in other fields, in part, it seemed because the media pays more attention to this field so folks are trying to get the media light focused on them. While I don t disagree that many fields from medicine to law promote and reward blow-hards and massive unrestrained arrogance, I would rather not create a false binary between meek/low self-esteem/female and total-jerky/arrogance/confidence. Why not instead promote and highlight behavior that rewards confidence sans the arrogance? Here are some thoughtful related posts.

C.J. Adams-Collier: AoE root for KVM guests

So. I m trying to get familiar with libvirt and friends. To this end, I ve set up a Lucid virtual machine booting from PXE into an initrd environment which does a pivot_root to an AoE block device. The #virt channel on irc.oftc.net told me that in order to have libvirt provide PXE capability, I would have to install a recent version of libvirt. I built version 0.7.5-3 from sid on my karmic laptop and it seems to be working okay. I decided to set up the pxe root directoy in /var/lib/tftproot just because that s what the example code had in it. I had to manually configure a virtual network. Here is the XML config file:
$ sudo virsh net-dumpxml netboot
<network>
  <name>netboot</name>
  <uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
  <forward mode='nat'/>
  <bridge name='virbr1' stp='off' delay='1' />
  <domain name='example.com'/>
  <ip address='192.168.123.1' netmask='255.255.255.0'>
    <tftp root='/var/lib/tftproot' />
    <dhcp>
      <range start='192.168.123.2' end='192.168.123.254' />
      <bootp file='pxelinux.0' />
    </dhcp>
  </ip>
</network>
This, of course, depends on the pxelinux.0 file. Luckily, this is packaged up in syslinux and can be installed with a simple
$ sudo apt-get install syslinux
$ sudo mkdir /var/lib/tftproot
$ sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftproot
I had to create a pxelinux config file for the virtual machine (indexed by mac address). Note that I put a console=ttyS0,115200 argument on the kernel command line so that I can attach to the serial port from the host system for copy/paste debugging. Also of importance is the root=/dev/etherd/e0.1p1 argument, specifying which block device we ll be doing the pivot_root to eventually.
$ mkdir /var/lib/tftproot/pxelinux.cfg/
$ cat /var/lib/tftproot/pxelinux.cfg/01-52-54-00-44-34-67
DEFAULT linux
LABEL linux
SAY Now booting the kernel from PXELINUX...
KERNEL vmlinuz-lucid0
APPEND ro root=/dev/etherd/e0.1p1 console=ttyS0,115200 initrd=initrd.img-lucid0
I decided to use the karmic kernel for lucid initially. I ll eventually switch over to the lucid kernel ;)
$ sudo cp /boot/vmlinuz-2.6.31-17-generic /var/lib/tftproot/vmlinuz-lucid0
I copied /etc/initramfs-tools to ~/tmp/lucid so that I didn t mess up the system initrd scripts:
$ mkdir -p ~/tmp/lucid && cp -r /etc/initramfs-tools ~/tmp/lucid/
Since mkinitramfs doesn t currently have a system for AoE root, I had to do a bit of fiddling. I copied the NFS root boot script and made a couple of modifications.
$ diff -u /usr/share/initramfs-tools/scripts/nfs ~/tmp/lucid/initramfs-tools/scripts/aoe
--- /usr/share/initramfs-tools/scripts/nfs	2008-06-23 23:10:21.000000000 -0700
+++ /home/cjac/tmp/lucid/initramfs-tools/scripts/aoe	2010-01-15 14:56:28.098298027 -0800
@@ -5,59 +5,25 @@
 retry_nr=0
 # parse nfs bootargs and mount nfs
-do_nfsmount()
+do_aoemount()
  
-
 	configure_networking
-	# get nfs root from dhcp
-	if [ "x$ NFSROOT " = "xauto" ]; then
-		# check if server ip is part of dhcp root-path
-		if [ "$ ROOTPATH#*: " = "$ ROOTPATH " ]; then
-			NFSROOT=$ ROOTSERVER :$ ROOTPATH 
-		else
-			NFSROOT=$ ROOTPATH 
-		fi
-
-	# nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
-	elif [ -n "$ NFSROOT " ]; then
-		# nfs options are an optional arg
-		if [ "$ NFSROOT#*, " != "$ NFSROOT " ]; then
-			NFSOPTS="-o $ NFSROOT#*, "
-		fi
-		NFSROOT=$ NFSROOT%%,* 
-		if [ "$ NFSROOT#*: " = "$NFSROOT" ]; then
-			NFSROOT=$ ROOTSERVER :$ NFSROOT 
-		fi
-	fi
+        ip link set up dev eth0
-	if [ -z "$ NFSOPTS " ]; then
-		NFSOPTS="-o retrans=10"
-	fi
+        ls /dev/etherd/
-	[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-premount"
-	run_scripts /scripts/nfs-premount
-	[ "$quiet" != "y" ] && log_end_msg
+        echo > /dev/etherd/discover
-	if [ $ readonly  = y ]; then
-		roflag="-o ro"
-	else
-		roflag="-o rw"
-	fi
+        ls /dev/etherd/
-	nfsmount -o nolock $ roflag  $ NFSOPTS  $ NFSROOT  $ rootmnt 
+        mount $ ROOT  $ rootmnt 
  
-# NFS root mounting
+# AoE root mounting
 mountroot()
  
-	[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top"
-	run_scripts /scripts/nfs-top
-	[ "$quiet" != "y" ] && log_end_msg
-
-	modprobe nfs
-	# For DHCP
-	modprobe af_packet
+	modprobe aoe
 	# Default delay is around 180s
 	# FIXME: add usplash_write info
@@ -67,17 +33,13 @@
 		delay=$ ROOTDELAY 
 	fi
-	# loop until nfsmount succeds
+	# loop until aoemount succeds
 	while [ $ retry_nr  -lt $ delay  ] && [ ! -e $ rootmnt $ init  ]; do
 		[ $ retry_nr  -gt 0 ] && \
-		[ "$quiet" != "y" ] && log_begin_msg "Retrying nfs mount"
-		do_nfsmount
+		[ "$quiet" != "y" ] && log_begin_msg "Retrying AoE mount"
+		do_aoemount
 		retry_nr=$(( $ retry_nr  + 1 ))
 		[ ! -e $ rootmnt $ init  ] && /bin/sleep 1
 		[ $ retry_nr  -gt 0 ] && [ "$quiet" != "y" ] && log_end_msg
 	done
-
-	[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom"
-	run_scripts /scripts/nfs-bottom
-	[ "$quiet" != "y" ] && log_end_msg
  
(below is the full file in case udiff is less convenient)
$ cat ~/tmp/lucid/initramfs-tools/scripts/aoe
# NFS filesystem mounting			-*- shell-script -*-
# FIXME This needs error checking
retry_nr=0
# parse nfs bootargs and mount nfs
do_aoemount()
 
	configure_networking
        ip link set up dev eth0
        ls /dev/etherd/
        echo > /dev/etherd/discover
        ls /dev/etherd/
        mount $ ROOT  $ rootmnt 
 
# AoE root mounting
mountroot()
 
	modprobe aoe
	# Default delay is around 180s
	# FIXME: add usplash_write info
	if [ -z "$ ROOTDELAY " ]; then
		delay=180
	else
		delay=$ ROOTDELAY 
	fi
	# loop until aoemount succeds
	while [ $ retry_nr  -lt $ delay  ] && [ ! -e $ rootmnt $ init  ]; do
		[ $ retry_nr  -gt 0 ] && \
		[ "$quiet" != "y" ] && log_begin_msg "Retrying AoE mount"
		do_aoemount
		retry_nr=$(( $ retry_nr  + 1 ))
		[ ! -e $ rootmnt $ init  ] && /bin/sleep 1
		[ $ retry_nr  -gt 0 ] && [ "$quiet" != "y" ] && log_end_msg
	done
 
There was also a small modification to the initramfs.conf file:
$ diff -u /etc/initramfs-tools/initramfs.conf ~/tmp/lucid/initramfs-tools/initramfs.conf
--- /etc/initramfs-tools/initramfs.conf	2008-07-08 18:37:42.000000000 -0700
+++ /home/cjac/tmp/lucid/initramfs-tools/initramfs.conf	2010-01-15 14:33:38.088295207 -0800
@@ -47,14 +47,16 @@
 #
 #
-# BOOT: [ local   nfs ]
+# BOOT: [ local   nfs   aoe]
 #
 # local - Boot off of local media (harddrive, USB stick).
 #
 # nfs - Boot using an NFS drive as the root of the drive.
 #
+# aoe - Boot using an AoE drive as the root of the drive.
+#
-BOOT=local
+BOOT=aoe
 #
 # DEVICE: ...
I also needed to add aoe to the list of modules included in the initramfs:
$ echo aoe >> ~/tmp/lucid/initramfs-tools/modules
In order to generate the initrd.img file from this new config, I ran the following:
$ sudo mkinitramfs -d ~/tmp/lucid/initramfs-tools/ -o /var/lib/tftproot/initrd.img-lucid0
I created a lucid VM by installing from the desktop install disk. You can grab the ISO here: http://cdimage.ubuntu.com/daily-live/current/ I ll leave the creation of the virtual machine and installation as an exercise for the reader. I put the filesystem on an lvm volume group called vg0 in a logical volume called lucid0 (ie, /dev/vg0/lucid0). At this point, I created a new virtual machine called lucid0. Here is the xml for the domain:
$ sudo virsh dumpxml lucid0
<domain type='kvm' id='1'>
  <name>lucid0</name>
  <uuid>96fbad21-4f25-5700-ddd8-1a565c7170ee</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.11'>hvm</type>
    <boot dev='network'/>
  </os>
  <features>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <interface type='network'>
      <mac address='52:54:00:44:34:67'/>
      <source network='netboot'/>
      <target dev='vnet0'/>
    </interface>
    <serial type='pty'>
   <source path='/dev/pts/4'/>
      <target port='0'/>
    </serial>
  <console type='pty' tty='/dev/pts/4'>
   <source path='/dev/pts/4'/>
      <target port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
    <sound model='es1370'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>
Now we re ready to start the AoE target and launch the virtual machine. If you don t have vblade installed, do so now:
$ sudo apt-get install vblade
Start the target up with the following command:
$ sudo vbladed 0 1 virbr1 /dev/vg0/lucid0
Now, if all goes well, you should be able to watch the virtual machine boot up and do its thing like so:
$ sudo virsh start lucid0 && sudo screen -S lucid0 sudo virsh ttyconsole lucid0 115200
If you get errors about /dev/etherd/e0.1p1 not existing (these might look like this):
Begin: Retrying AoE mount ...
err         discover    interfaces  revalidate  flush
err         discover    interfaces  revalidate  flush
mount: mounting /dev/etherd/e0.1p1 on /root failed: No such file or directory
Done.
then you might want to try restarting vbladed like this:
$ sudo kill -9 ps auwx grep vblade grep -v grep awk ' print $2 ' && sudo vbladed 0 1 virbr1 /dev/vg0/lucid0
So. Now you should have a lucid gdm in your virt-manager console. Any questions? #virt on irc.oftc.net
<script>//<script language="javascript" src="http://reddit.com/button.js?t=1"></script>

Next.

Previous.