Search Results: "beh"

27 September 2009

John Goerzen: How To Record High-Definition MythTV Files to DVD or Blu-Ray

I ve long had a problem. Back on January 20, I took the day off work to watch the inauguration of Barack Obama. I saved the HD video recordings MythTV made of the day (off the ATSC broadcast), intending to eventually save them somehow. I hadn t quite figured out how until recently, so there they sat: 9 hours of video taking up about 60GB of space on my disk. MythTV includes a program called mytharchive that will helpfully transcode your files and burn a DVD from them. But it helpfully will transcode the beautiful 1920 1080i down to DVD resolution of on a good day 720 480. I couldn t have that. Background My playback devices might be a PC, the MythTV, or the PlayStation 3. Of these, I figured the PS3 was going to be hardest to accommodate. ATSC (HD) broadcasts in the United States are an MPEG Transport Stream (TS). Things are a bit complicated, because there may be errors in the TS due to reception problems, the resolution and aspect ratio may change multiple times (for instance, down to SD for certain commercials). And, I learned that some ATSC broadcasts are actually 1920 1088 because the vertical resolution has to be a multiple of a certain number, and those bottom 8 pixels shouldn t be displayed. Adding to the complexity, one file was 7 hours of video and about 50GB itself. I was going to have to do quite some splitting to get it onto 4.7GB DVD+Rs. I also didn t want to re-encode any video, both for quality and for time reasons. Attempts So, I set out to try and figure out how to do this. My first approach was the sledgehammer one: split(1). split takes a large file and splits it on byte or line boundaries. It has no knowledge of MPEG files, so it may split them in the middle of frames. I figured that, worst case, I could always use cat to reassemble the file later. Surprisingly, both mplayer and xine could play back any of these files, but the PS3 would only play back the first part. I remembered this as an option if all else failed. Next, I tried avidemux. Quite the capable program and I thought I could use it to cut my file into DVD-sized bits. But I couldn t get it to let me copy the valid MPEG TS into another MPEG TS it kept complaining of incompatible formats, but wouldn t tell me in what way they were incompatible. I could get it to transcode to MPEG4, and produce a result that worked on the PS3, but that wasn t really what I was after. Then, I tried mpgsplit. Didn t recognize the MPEG TS as a valid file, and even when I used a different tool to convert to MPEG PS, acted all suspicious as if it bought the MPEG from a shady character on a grungy street corner. dvbcut I eventually wound up using dvbcut to split up the ATSC (DVB) recordings. It understood the files natively and did exactly what I wanted. Well, *almost* exactly what I wanted. It has no command-line interface and didn t have a way to split by filesize, but I calculated that about 35 minutes of the NBC broadcast and 56 minutes of the PBS broadcast could fit on a single DVD+R. It worked very, very nicely. The resulting files tested out well on both the PS3 and the Linux box. So after that, I wrote up an index.txt file to add to each disc and a little shell scripting later and I had a directory for each disc. I started burning them with growisofs. Discs 1 and 2 burned well, but then I got an error like this:
File disc06/VIDEO/0930-inaug-ksnw-06.mpg is larger than 4GiB-1.
-allow-limited-size was not specified. There is no way do represent this file size. Aborting.
Eeeeepp. So apparently the ISO 9660 filesystem can t represent files bigger than 4GB. My files on disc 1 had represented multiple different programs, and stayed under that limit; and disc 2 s file was surprisingly just a few KB short. But the rest of them weren t. I didn t want to have to go back and re-split the data to be under 4GB. I also didn t want to waste 700MB per disc, or to have to make someone change video files every 15 minutes. So I decided to investigate UDF, the filesystem behind Blu-Ray discs. mkisofs couldn t make a pure UDF, only a hybrid 9660/UDF disc that risked compatibility issues with big files. There is a mkudffs, but it doesn t take a directory of its own. So I wrote a script to do it. Note that this script may fail with dotfiles or files with spaces in them:
#!/bin/bash
set -e
if [ ! -d "$1" -o -e "$2" -o -z "$2" ]; then
   echo "Syntax: $0 srcdir destimage [volid]"
   echo "destimage must not exist"
   exit 5
fi
if [ " id -u " != "0" ]; then
   echo "This program must run as root."
fi
EXTRAARGS=""
if [ ! -z "$3" ]; then
   EXTRAARGS="--vid=$3"
fi
# Get capacities at http://en.wikipedia.org/wiki/DVD+R as of 9/27/2009
SECSIZE=2048
# I'm going to set it a few lower, than capacity 2295104 just in case.
# Must be at least one lower than the actual size for dd to do its thing.
# SECTORS=2295103
SECTORS=2295000
echo "Allocating image..."
dd if=/dev/zero "of=$2" bs=2048 "seek=$SECTORS" count=1
echo "Creating filesystem..."
mkudffs --blocksize=2048 $EXTRAARGS "$2"
mkdir "$2.mnt"
echo "Populating..."
mount -o rw,loop -t udf "$2" "$2.mnt"
cp -rvi "$1/"* "$2.mnt/"
echo "Unounting..."
umount "$2.mnt"
rmdir "$2.mnt"
echo "Done."
That was loosely based on a script I found on the Arch Linux site. But I didn t like the original script, because it tried to do too much, wasted tons of time writing out 4.7GB of NULLs when it could have created a sparse file in an instant, and was interactive. So there you have it. HD broadcast to playable on PS3, losslessly. Note that this info will also work equally well if you have a Bluray drive.

Ross Burton: London Transport Stab Stab Die Die

Sometimes I really, really hate London. A trip to London on Saturday, in theory: Leave Ely 16:26, arrive Kings Cross 17:34, change to Piccadilly line and arrive Covent Garden at 17:54. Dinner then the 21:52 train back home, arriving 23:10. A trip to London on Saturday, in practise. Leave Ely 16:26, arrive Kings Cross 10 minutes late. Change to Piccadilly line and stand outside the closed barriers for 15 minutes because of overcrowding. Give up on the tube, catch a number 59 bus to Aldwych: 10 minutes to reach Euston (faster to walk) and gave up after sitting in gridlock on Russel Square for 15 minutes. Eventually get rather empty Piccadilly line from Russel Square to Covent Garden, arriving 18:50. Oh, and then the restaurant said it would be a two hour wait for a table for four. That said, the return journey wasn't exactly a barrel of laughs. The tube was behaving so that took the expected ten minutes, but then we just missed the train back home and the next train wasn't for over an hour. Jump into a taxi to Liverpool Street to catch the 22:26... to discover there are engineering works and we'd have to get a bus for two hours. Attempt to get the tube back to Kings Cross... more engineering works so that was out. Another taxi back to Kings Cross and we finally get on the last train home, arriving at 00:35. Just for extra fun I'm in London for the Moblin 2.0 Release Party on Monday and there are yet more engineering works, so if I miss the 22:15 I'll be on a bus for half the journey. Stab stab stab.

Eddy Petrișor: Remus Cernea - how media blocks information

I wrote in my last post about my decision to support Remus Cernea's candidacy to he Romanian Presidency.

The fact is that main stream media ignored for a whole month his candidacy and the fact that Radio Rom nia Actualit i (Radio News Romania) removed an internet poll (true, not a social poll, but one of the percepted image of the Internet users) from the site www.politicaromaneasca.ro which credited him with 30% of the preferences of the visitors.




Here (Romanian) is the article on Remus' blog in which he talks about this. And no, he did not set himslef on fire, he set on fire a picture of himself as a symbolic gesture against the media blockade.


As a proof that the poll was not doctored, the first article mentioning Remus Cernea in a search for "presedintia romaniei alegeri" is the 5th unsponsored hit on google.ro. There is an obvious correlation between the position of other candidates in the results and the hits on Google.


If you want to support Remus' candidacy, please sign the support list(ro) or even collect signatures (ro) for him. He needs 200 000 signatures to be able to candidate, a task which is even harder for a candidate without a big party behind him.

You can contact me at eddy.petrisor+remuscernea _at_ gmail.com, for more details or you can contact Remus directly.

26 September 2009

Martin F. Krafft: Voting denied, enter pirates

This coming Sunday, Germany is voting its parliament for the next four years. I wanted to participate remotely, but they didn t let me. The letter, inviting me to order the voting forms, was sent too late. Instead of ordering and waiting for the voting forms, hoping for them to arrive back in Germany before the municipal agency stops all their work at 16:59 on Friday afternoon, I filled in the fields in a way to give my mother full authority to submit my vote. On the document, it only said that she would need a notary procuration, which she has. When my mother tried to vote in my name, they refused her: the vote has to be confidential, and proxies may only vote for disabled people, or those who cannot read. I can understand half of the motivation behind this it guards against abuse but the bottom line is that I am now unable to cast a vote. Democracy stabbed by bureaucracy. Well, democracy to the limited degree that we have it in Germany. I do not mean to criticise at this time that voting in Germany means to place trust into people you d rather not trust, but once they get majority, they can do whatever they want for four years. The specific shortcoming in our democracy on which I would like to focus is the five percent clause , which states that a party needs to reach 5% of votes before they can enter the parliament; if those 5% are not reached, all votes for the party are basically lost. I suspect that this clause is what s keeping back a lot of people from electing Germany s pirate party, which focuses on the importance of freedom in today s media-centric and interconnected world. It seems doubtful that the Piratenpartei will reach the limit this round, but given all the attention they recently received, as well as their plain cause, I would not be surprised if they did. I think it is important for people to vote the party they want, without letting the 5% limit discourage them. Anything else would be undemocratic. Let s return to the pirates: it s paramount for the government to consider freedom and related issues, and to put clueful people on the job. The Piratenpartei is the only party that approaches the issue properly, all the others are just too happy to succomb to castration of personal freedom for such lofty goals as anti-terrorism, or the containment of child pornography. I don t like terrorists, and I think child pornography is among the most horrific ways to abuse defenceless humans in irrevocable ways that I can imagine. But I also don t like losing my deodorant to airport security, cameras tracking my every move, (diletantic) censorship on the Internet, and lack of control over my own data. Time to put an end to that, and to solve problems without castrating freedom. Benjamin Franklin is credited with saying: they that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. The Piratenpartei is probably not capable of leadership at this point, for they are young. But they can help the leading party maintain a bearing. That s what the Greens did, successfully albeit slowly, and I appreciate that the pirates are approaching the matter before it will be too late. The media have not missed a chance to try to stomp over them in recent months, but at the end of the day, after all the slander and some obvious mistakes on the side of the party, I still see a group of people prepared to fight for freedom with an open and honest approach. The run-ins with the media are hardly about content, it seems more that the Piratenpartei is simply unable to become part of the sensationalist mash which is our media-politician ensemble. And I think that s good. I appreciate a party communicating not via their PR office, but with new media, like blogs, or e-mail. I appreciate that their people maintain the personality of a human trying to do politics, not a politician trying to come across as human. If my municipality had let me vote, I would have selected the pirates. They may not make the 5% this year, but I would not let that be a reason against them. If one believes in democracy, then it s important to do it right.

25 September 2009

Julian Andres Klode: The APT2 project


I just started working on a replacement for APT written in Vala and called APT2 (I know, the name could be better). The main idea behind the project is to create a library for working with Debian repositories and packages, and on top of this library a few applications. This is different from APT because the project focuses on the library part, whereas APT is primarily focused on the application part. I chose Vala for this task because it has an easy syntax and allows me to use the features provided by GLib and Co. really easily. GLib provides many functions needed for APT like file access, unicode handling, hashsums creation. It also provides us with signals which are useful for implementing progress reporting. Another project, called cupt tries to provide an APT replacement in Perl. Apart from the fact that I don t like Perl, it also has the disadvantage of being too big to ship on embedded devices and is not useable from other languages such as Python or C/C++. Yet another project, smart provides a different package manager written in Python. While I like Python, it can t be used from languages such as Perl or C/C++ and is too large. APT2 will only require GLib, Gee and libarchive, which require about 2MB of space; about 1/10 of Perl s size. The core of APT2 is a library called libapt . At the moment, this library provides classes for reading tag files (TagFile&TagSection) and an incomplete configuration class based on libgee s HashMap (to ease coding, it will probably be changed to a special data structure like those in apt-pkg). The next step will be implementing a parser for configuration files (currently we only support in-memory objects) and writing the Acquire system. The planned Acquire system uses GModule to modularize the support for different URI schemes. Each module provides a worker class which implements one or more URI schemes. The first of these modules will provide a worker using GIO, which deals with local file access, samba shares, FTP, SFTP, WebDAV and various other protocols, including HTTP until a replacement has been written (since we don t want to force gvfs-backends). The workers communicate with the parent Acquire object using signals and can cause the whole acquisition to be aborted by emiting an abort signal (or similar). The whole project has just been started and may take some months until it becomes useful (if it becomes useful at all). The code can be found at http://git.debian.org/?p=users/jak/apt2.git and is licensed under the MIT license (see http://www.opensource.org/licenses/mit-license.php). It is a secondary project and will not affect my work on apt (not much yet) and python-apt (0.8 series). Posted in APT2, Debian

MJ Ray: Strange Spammer Sightings

I ve seen a couple of the conversation-spams described in Misspelled nemesis club: A new twist on spam? It looks like they exploit the typically weak moderation practices of many software discussion mailing lists. Do you think they are human-powered? Are they caught out if you set default_member_moderation (new list member postings are moderated) or equivalent in the list software? Google and Yahoo Groups seem to be suffering worst. Do they even have such an option? I ve also caught some strange behaviour on one of the SMTP servers we run for a customer. Does anyone know what virus or worm or other nasty authenticates but gives itself away by sending RCPT TO:<MISSING*EMAIL*ADDRESS> to SMTP servers?

24 September 2009

Biella Coleman: I Pity the Fool



I Pity the Fool, originally uploaded by the biella.
When I fly, I often do so with Continental Airlines because 1) I tend to like their international flights 2) they have many flights at convenient times to San Juan, PR where I head to around 4-6 times a year. Like most airlines, their food is nothing to be desired but their gluten free option is about some of the worst food I have ever tasted. The chicken is cooked to death but otherwise entirely buck naked. Like there is nothing on it, they throw some rice in the container, and sometimes (and only sometimes) a packet of Mrs. Dash. The best part of the meal, is a coconut macaroon. After about five years of this meal (usually putting it to the side but sometimes forgetting my food and suffering from hunger) I decided it was high time to take action; I could no longer confront the bleak reality of nude rubbery chicken. So I wrote them letter. I kept it brief and knew boring would not advance My Cause, so I just decided to add some rhetorical flourish and, naturally who else came to mind than the grand master of rhetorical flourish, Mr. T. After providing the basics, like describing the truly offensive nature of nude and rubbery chicken, I drove the nail deep into wood by stating : I pity the fool that has has to survive through their gluten free meal and that naked chicken sucked more than the word suck could ever really convey (though I did duly note my appreciation for the gluten free option and that I generally liked their service). After sending off the letter I forgot about it almost immediately nor did I fly with them again for many months (not because I boycotting, I just found cheaper flights). I recently flew to Puerto Rico and lo and behold have found the gluten free option has taken a drastic turn for the better. In fact, not only was the chicken no longer naked it was in fact, fully clothed, blackened chicken, spiced to no end. And the cherry on top was a gluten free blueberry muffin and some nice fruit. Go Continental. I will never know if my letter touched the soul of some Continental office employee, working in some nameless faceless, practically windowless office park, one whose life of labor is a bit like that gluten free chicken that I so despised, rubbery and naked, in other words with no flavour or spice. But I will forever think that a dash of spice, that with the aid of the badassery that is Mr. T, one can lightly kick corporate ass to take action.

Biella Coleman: I Pity the Fool



I Pity the Fool, originally uploaded by the biella.
When I fly, I often do so with Continental Airlines because 1) I tend to like their international flights 2) they have many flights at convenient times to San Juan, PR where I head to around 4-6 times a year. Like most airlines, their food is nothing to be desired but their gluten free option is about some of the worst food I have ever tasted. The chicken is cooked to death but otherwise entirely buck naked. Like there is nothing on it, they throw some rice in the container, and sometimes (and only sometimes) a packet of Mrs. Dash. The best part of the meal, is a coconut macaroon. After about five years of this meal (usually putting it to the side but sometimes forgetting my food and suffering from hunger) I decided it was high time to take action; I could no longer confront the bleak reality of nude rubbery chicken. So I wrote them letter. I kept it brief and knew boring would not advance My Cause, so I just decided to add some rhetorical flourish and, naturally who else came to mind than the grand master of rhetorical flourish, Mr. T. After providing the basics, like describing the truly offensive nature of nude and rubbery chicken, I drove the nail deep into wood by stating : I pity the fool that has has to survive through their gluten free meal and that naked chicken sucked more than the word suck could ever really convey (though I did duly note my appreciation for the gluten free option and that I generally liked their service). After sending off the letter I forgot about it almost immediately nor did I fly with them again for many months (not because I boycotting, I just found cheaper flights). I recently flew to Puerto Rico and lo and behold have found the gluten free option has taken a drastic turn for the better. In fact, not only was the chicken no longer naked it was in fact, fully clothed, blackened chicken, spiced to no end. And the cherry on top was a gluten free blueberry muffin and some nice fruit. Go Continental. I will never know if my letter touched the soul of some Continental office employee, working in some nameless faceless, practically windowless office park, one whose life of labor is a bit like that gluten free chicken that I so despised, rubbery and naked, in other words with no flavour or spice. But I will forever think that a dash of spice, that with the aid of the badassery that is Mr. T, one can lightly kick corporate ass to take action.

Daniel Stone: luis's t series

Luis, If you can still find the ThinkPad T43 around, it would seem to be a perfect fit for your needs. It's 1400x1050, has an ATI X300 SE in it (supported by Free drivers, including DRI), and the wireless is Centrino, which only has the firmware problem. The only thing wrong with it is that it's a behemoth both in size and weight compared to my dainty little X40, but I guess that's what you wanted if you were asking for T series recommendations.

While I'm here, you all get a bonus picture of the moon over the Baltic:
Low red moon over the Baltic sea

If you zoom in, you can see that it's roughly four picodegrees over the sea. Brilliant.

20 September 2009

Neil Williams: Finally using drivel 3.0.0

drivel is now in a good enough state that I can use it myself - or at least, that's what I'm hoping. It's installed on at least one of my machines and I've already had to fix a glitch or two, so here goes. :-)

Sadly, livejournal users may well be disappointed by 3.0.0 - the XMLRPC for the meta properties of LJ posts is broken and I've so far failed to get a usable response from the lj_dev community. Faced with choosing no LJ support or LJ support without metatags, I'm going with no metatags, at least for now. Hopefully once the code is in use, someone will help find a fix.

Blogger has gained Subject support, MT has tags, WP and Serendipity are OK (albeit with some issues) and advogato is working too.

The string freeze ends at the end of this month (10 days) so there's time for a few more fixes but current SVN is likely to be what gets released as 3.0.0.

The main changes are behind the scenes - dropping old libraries like gtksourceview1.0 and libglade, moving from libsoup2.2 to libsoup2.4, dropping libgnome and libgnomeui, using GtkBuilder and dropping curl (not needed with libsoup2.4). There is little new functionality, 3.0.0 is primarily focused on keeping drivel working through the upcoming GTK transitions so that there's time to deal with other issues. Still been a huge amount of work though - one very good reason for NOT adding new functionality if it brings in a new library dependency. There is still code to be removed from 3.0.0 and I'm intent on ensuring that new functionality comes from using the existing libraries in better ways.

.... and then it crashed after posting . . .

:-(

Gunnar Wolf: Toast to Turing

I was pointed to this Toast to Turing, by Matt Harvey. Very much worth sharing.
Here s a toast to Alan Turing
born in harsher, darker times
who thought outside the container
and loved outside the lines
and so the code-breaker was broken
and we re sorry
yes now the s-word has been spoken
the official conscience woken
very carefully scripted but at least it s not encrypted
and the story does suggest
a part 2 to the Turing Test:
1. can machines behave like humans?
2. can we?
What, don't you know who Alan Turing was? Read a bit on him then, one of the core seminal minds for Computer Science. And a scientist vilified for being different from what is regarded as normal. [update] And answering to some people's doubts: Why this toast? Because the UK Government, in the voice of the Prime Minister Gordon Brown, after over 50 years of leading Alan Turing to commit suicide due to criminally accusing him for gross indecency for being a homosexual and forcing him into a deep body-altering hormonal therapy to cure him, has finally posthumously apologized. Brown said, So on behalf of the British government, and all those who live freely thanks to Alan's work I am very proud to say: we're sorry, you deserved so much better.

19 September 2009

Sean Finney: dpkg triggers, the lost how-to document

this weekend while giving a bit of TLC to the php packages, i thought i'd finally get around to tackling #490023 and similar bugs, which meant learning about how to use the triggers feature provided by dpkg. unfortunately documentation for this feature was in fairly short supply, and after extensive searching (and by extensive searching i mean typing "dpkg triggers howto" into a google search) i had a couple short manpages (dpkg-trigger(1) and deb-triggers(5)) and an overly verbose and possibly out of date /usr/share/doc/dpkg/triggers.txt.gz. none of these documents really gave a clear "big-picture" for how to get going either. so, as is often the case, i got distracted from my intended task and ended up on a little side-project putting together a nice howto/tutorial for how to integrate dpkg triggers into a package. note that there may be misunderstandings or inaccuracies in the document, as it's based on an afternoon's worth of hacking and q&a directed at #debian-dpkg (thanks to Guillem and Rapha l for fielding those questions). so if i'm off on anything, please feel free to let me know! to get started:
git clone http://git.debian.org/git/users/seanius/dpkg-triggers-example.git

and for those who are too lazy even for that, the README follows: The debian package triggertest This package is a dead-simple "triggers in a nutshell". It shows a few different ways that triggers can be used in practice, to hopefully cover most of the general use cases for triggers. The purpose of triggers Triggers are used to ensure that during the standard package-management process certain operations always run, but not more than necessary. For example: How triggers work in a nutshell Trigger-using packages can be classified in two behavioral categories: When a consumer is triggered, its postinst script is run with the arguments:
postinst triggered "<trigger1> ... <triggerN>"

i.e. $2 contains an iterable list of activated triggers. Note that if a consumer is going to be normally configured (i.e. it is also being updated), then no triggering may occur and thus the standard control flow of the maintainer scripts should still take care to handle this. A "trigger" is declared for the consumer by shipping a file in DEBIAN/triggers (in the case of debhelper based packages, ./debian/consumer-package.triggers will JDTRT). Useful RTFM: deb-triggers(5). Example:
interest /path/to/a/directory
interest my-second-trigger

This declares that the package in question is interested in two triggers. The first trigger has a leading path separator in its name, which instructs dpkg that any filesystem modifications underneath this directory by other packages should cause the respective consumer(s) to be triggered. The second name is completely arbitrary (and also global, so you should probably pick something reasonably specific and identifiable), and will only cause a trigger to be activated when a producer
  1. ships its own triggers file with a corresponding "activate my-second-trigger", or
  2. invokes the trigger explicitly in a maintainer script by calling "dpkg-trigger my-second-trigger".
Another perhaps useful RTFM: dpkg-trigger(1). Examples contained in this source package This source package produces a single "consumer" package and a number of different "producer" packages. The consumer is triggered in various ways, such as: In this case the triggers correspond to an "update-foo" and "update-bar" command, which do nothing other than echo to the console that they are being run. In practice they'd correspond to updating some kind of database or restarting a daemon. More information For more information about triggers, see /usr/share/doc/dpkg/triggers.txt.gz, which will make a lot more sense having a working example like this package as reference. Especially useful is "Transition hints for existing packages", which can be used if you need to gracefully handle migrating in support for triggers across other packages not directly under your control. Corrections, suggestions, etc Are appreciated and should be sent to the author, below. -- Sean Finney seanius@debian.org Sat, 19 Sep 2009 15:57:48 +0200

18 September 2009

Martin Meredith: Derren Brown: My take

So, anyone watching the show was actually pretty much told (although indirectly) how it was done. (Potential spoilers see full post for my take) Ok, the image with the flashing and the stuff, pretty noticable. From what I know of the subject, it was meant to be. What noone seems to have mentioned was the fact that as it flashed, there was a brief tone. I believe that the image wasn t meant to actually be subliminal as he mentioned, subliminal images are invisible . It was meant to be noticed, but only to assosciate the tone with the image. I also feel that the video did play a part. From what I can tell, an image (or text) was over/underlayed over the image of the rotating (fuzzy) lines, but had a very high transparency. This meant, that like the UV pen, you couldn t pick up the image conciously, but you could unconciously. (UV pens leave a small residue behind that makes visible light reflect slightly differently. Try it, get a UV pen and write on a shiny surface. (like the back of a playing card). Looking head on at it, you don t notice, but if you tilt the card, you can see the writing at some angles the mind subconciously picks this up). Tie this in with things like the wording used before the video, the trailers, and hidden wording/images throughout the show, and you have your whole thing. No sublimilal messages were used, but there were many uses of whatever that term that he used was (SVP?)

MJ Ray: Co-op Sells Boxed Fairtrade T-shirts

I ve done a bit of investigating ethical Free Software T-Shirts here in the past. Even when they re available, it seems a bit odd to buy a fairtrade t-shirt and then get it in plastic wrap and/or on a plastic hanger in a plastic bag. I also wonder about why and how it s fairtrade, a sort of look behind the label desire. Now Boxes of Fairtrade t-shirts are to be trialled in Midcounties Co-op stores - will it succeed and will we start to see more of this sort of packaging for ethical products? A cardboard comeback?

17 September 2009

Wouter Verhelst: #include <iwlib.h>

Writing a network configuration tool is... fun. Well, mostly anyway.
/***************************** SCANNING *****************************/
/*
 * This one behave quite differently from the others
 *
 * Note that we don't use the scanning capability of iwlib (functions
 * iw_process_scan() and iw_scan()). The main reason is that
 * iw_process_scan() return only a subset of the scan data to the caller,
 * for example custom elements and bitrates are ommited. Here, we
 * do the complete job...
 */
/*------------------------------------------------------------------*/
(from iwlist.c) Not. The. Way. To. Do. It. Especially not if you're the person who writes both libiw and iwlist. Grmbl. Also, documentation for libiw seems to be, well, nonexistent. Fun. Not.

Anand Kumria: Firefox, Flash, FAIL!

(aside: I have a number of blog posts in draft don't worry they won't spam the various planets but this was timely so I pushed it out first) The most recent version of Firefox 3.x will also prompt you to update your Flash plugin if it is out of date. According to Ken Kovash, the response has been phenomenal. Almost 10,000,000 click through. That is 10,000,000 failures. Like a lot of people, I provide technical support for my Windows using family (and some friends). So I get to see how badly Windows is in the 'update' space. It is pretty common to have: Windows, Anti-virus, Java and one / two other applications (e.g. Google apps, Skype, Yahoo IM, etc.) prompt you with little annoying notification bubbles. Most of them have trained themselves to not look in the bottom right of the screen and to ignore requests to update. Which means that whenever I see a big, important update, like the Firefox one I end up having to remotely take over their machine and do it on their behalf. The user experience was:
  1. Update Firefox.So far, so good.
  2. It prompts and say Flash is out of date.Excellent. Click on link.
  3. Adobe site says "click to upgrade".Great. It also includes, checked by default, a download of McCafe's anti-virus tool something or other.
  4. Realise that pointless download of McCafe is about to happen. Cancel. Uncheck. Download again.Why is Adobe offering me more than just an upgrade of the product I am after? Apparently this is very common in the Windows world (think Safari included with iTunes, etc.)
  5. Adobe figures out I am using Firefox and sends, instead of Flash, a 'Download manager' plugin.It includes instructions on how to enable things so that this plugin is updated by Adobe all the time. I, rather pointlessly, ponder why Flash does not do this itself.
  6. Once installed, you need to restart Firefox. I do so.
  7. This time the "Your Flash is out of date page" does not appear.At this point a normal person would think that they are now secure. Nothing could be further from the truth. Adobe has stupidly decided that first you need to have their update plugin. Then you need to actually do the update. FAIL.
  8. I manually go the the '3.5.3' release note page, where it detects, again, that Flash is out of date.I click through to Adobe's site (again), this time, it figures out that it needs to update Flash. It autoinvokes the autoupdate plugin and does the update.
  9. Prompted to restart Firefox, again. I do so.
  10. Everything is now perfectly fine.
That was a total user experience failure. Not Mozilla's fault but Adobe's. But Mozilla can make a difference in this area. And work around the stupidity of Adobe.
  1. All plugins MUST register a https URL where their version can be checked.
  2. Periodically Firefox does the version checky thing (like with Add-Ons) and ensures they are up to date
That implies that there is a, separate "Your plugins are out of date page" distinct from "You've installed an upgraded version of Firefox"

16 September 2009

Bernd Zeimetz: douf00 - fat free presentations

Now there is yet another package with a weird name in Debian - douf00 - a lightweight, slim and straight forward presentation tool. Written by some guys from a hacking and security team, which is mainly based in Vienna - guess that explains the l33t name (if you're scared now, yes, I've reviewed the code...). At the FrOSCon one of the authors asked me if I'd be willing to package it for Debian.I'm sure you'll love it if you're giving presentations and don't like to mess with Openoffice.org and friends. Below I've cited some parts of the README - make sure you read the linked file if you want to know more, or just install the package and give it a try. Douf00 is a lightweight, slim and straight forward Presentation Tool. It assists novice as well as experienced speakers when giving lectures and business meetings. With its simple presenters Screen that includes current slide - next slide (preview) as well as timers it is designed to assist those of us, that are willing to step up their lectures to the next level. The main reason why we created douf00 is because we (nice name crew) travel to conferences very often. As a matter of fact i always carried my macbook pro to every event. I always loved keynote and how the presenters screen works. Not having to worry about your beamer configuration and presenters screen is really comforting. However since i love to pack small and play big (on it stuff) i really felt we had to do something about it. Given the current situation presenters using linux have to deal with, we decided to simplify it. Of corse as a geek i would love to travel just with my netback saving valuable space in my backpack. In reality i was always caring my heavy macbook pro 15" everywhere just to lecture. Not only is it bad to give a presentation standing behind your machine because your presenters remote doesn't work. It is also highly annoying to always have to fumble around with your graphics card. Given the large verity of tools for creating your slides. (i.e.: powerpoint, open office impress, apple's keynote, latech-beamer,....) We felt there was no room for yet another slide creation tool. Nonetheless i noticed my desire to jump onstage, give a really good presentation without the usual worries. To be honest i use Keynote from apple on my home computer as i find it the most comforting tool to create slides. But now that we have created doufoo i save up on baggage space, and i finally managed to get rid of all the worries beforehand. But what is doufoo? - The perfect choice for every presenter that has more important stuff todo than care about beamer configuration more than once. Its fast, simple and lightweight. We think that caring less about your gear and focusing on the presentation itself is the best way to keep your audience enthusiastic and entertained.

GOTO Masanori: emacs diff-mode craziness

The current emacs21 and xemacs21 switches to diff-mode when we open *.patch files. But I fell into the trap hidden in the current diff-mode behavior over one hour. When I opened the patch file (filename: debian/patches/linux-types-and-time.patch in linux-kernel-headers package), the file was as follows:
        --- include.orig/linux/time.h   2005-04-21 09:03:16.000000000 +0900
        +++ include/linux/time.h        2005-05-04 15:29:52.266871616 +0900
        @@ -1,6 +1,10 @@
         #ifndef _LINUX_TIME_H
	...
         #ifdef __KERNEL__
=>      @@ -177,5 +181,6 @@ struct      itimerval  
         #define TIMER_ABSTIME 0x01
	...
         #endif
        --- include.orig/linux/types.h  2005-04-21 09:03:16.000000000 +0900
        +++ include/linux/types.h       2005-05-04 15:30:14.515900970 +0900
        @@ -1,6 +1,16 @@
         #ifndef _LINUX_TYPES_H
	...
=>      @@ -169,4 +179,6 @@
                char                    f_fpack[6];
          ;
Then, I just exchanged the order of two parts as follows:
        --- include.orig/linux/types.h  2005-04-21 09:03:16.000000000 +0900
        +++ include/linux/types.h       2005-05-04 15:30:14.515900970 +0900
        @@ -1,6 +1,16 @@
         #ifndef _LINUX_TYPES_H
	...
         #include <linux>config.h>
=>      @@ -169,5 +179,7 @@                                                                                                 
                char                    f_fpack[6];
          ;
        --- include.orig</linux>linux/time.h   2005-04-21 09:03:16.000000000 +0900
        +++ include/linux/time.h        2005-05-04 15:29:52.266871616 +0900
        @@ -1,6 +1,10 @@
         #ifndef _LINUX_TIME_H
	...
        +
         #ifdef __KERNEL__
=>      @@ -177,6 +181,7 @@ struct      itimerval   
         #define TIMER_ABSTIME 0x01
	...
@@ lines are suddenly modified without any editing for patch lines. This behavior is crazy. I submitted the bug report to Bug#201816 and Bug#307617. I think either this problem should be fixed or emacs should provide the variable to stop @@ line modification via "setq" and so on.

15 September 2009

Robert Collins: 16 Aug 2009


Hudson seemed quite nice when I was looking at how drizzle use it. I proposed it to the squid project to replace a collection of cron scripts and we re now in the final stages of deployment: Hudson is running, doing test builds. We are now polishing the deployment, tweaking where and how often reports are made, and adding more coverage to the build farm. I thought I d post a few observations about the friction involved in getting it up and running. Understand that I think its a lovely product these blemishes are really quite minor. Installation of the master machine on Ubuntu add an apt repository, apt-get update, apt-get install. Installation of the master machine on CentOS 5.2 (Now 5.3): make a user by hand, download a .war file, create an init.d script by copy-and-adjusting an example off the web. Plenty of room to improve here. Installing slave machines: make a user by hand, add an rc.local entry to run java on slave.jar as that new user. This could be more polished Installing a FreeBSD 6.4 slave: manually download various java sources to my laptop, scp them up to the FreeBSD machine, build *java* overnight, then make a user, add an rc.local entry etc. _Painful_. The next thing we noticed was that the model in Hudson doesn t really expose platforms but we want to test on a broad array of architectures, vendors and releases. i386-Ubuntu-intrepid building doesn t imply that i386-Debian-lenny will build. We started putting in tags on the slaves that will let us say this build is for amd64-CentOS-5.2 , so that if we have multiple machines for a platform, we ll have some redundancy, and so that its easy to get a sense of whats failing. This had some trouble its very manual, and as its manually entered data it can get out of date quite easily. So in the weekend I set out make a plugin, and ran into some yak shaving. Hudson plugins use maven2 to build and deploy. So I added the maven2 plugin to my eclipse (after updating eclipse to get the shiniest bzr-eclipse), and found the first bug issue 1580 maven2 and teamplugins in eclipse 3.5 don t play all that nice. Push. Removing bzr-eclipse temporarily allowed eclipse s maven plugin to work, but for some reason many dependencies were not found, and various discussions found on the net suggest manually adding them to the CLASSPATH for the project but not how to identify which ones they were. Pop. So, I switched to netbeans a 200MB download, as Ubuntu only has 6.5 in the archive. netbeans has the ability to treat a maven2 project as a directly editable project. I have to say that it works beautifully. Push. I made a new plugin, looked around for an appropriate interface, (DynamicLabellers, designed for exactly our intended use). Sadly, in my test environment, it didn t work the master didn t call into the plugin at all, and no node labels were attached. Push. Grab the source for hudson itself, find the trick-for-newcomers here do a full build outside netbeans, in netbeans open main/war as a project, and main/core as well, not just the top level pom.xml. To run, with main/war selected in the project list hit the debug button. However changes made to the main/core sources are not deployed until you build them (F11) the debug environment looks nearly identical to a real environment. Pop. There is a buglet in DynamicLabeller support in Hudson, where inconsistent code between general slave support and the master node Hudson.java causes different behaviour with dynamic labels. Specifically the master node will never get dynamic labels. So I fixed this, cleaned up the code to remove the duplication as much as possible (there are comments in the code base that different synchronisation styles are needed for some reason) and submitted upstream. Pop. I ll make the plugin for squid pretty some evening this week, and we should be able to start asking for volunteers for the squid build farm. Yay!

14 September 2009

Russell Coker: Links September 2009

The NYT has an interesting article about research into treating insomnia over the internet [1]. I wonder how many other psychological issues can be effectively treated over the net. From next year all Cadbury Dairy Milk Chocolate sold in Australia will be made from fair-trade cocoa [2]. Cadbury Dairy Milk Chocolate is the most popular type of chocolate sold in Australia so this is a significant market shift. For a long time Cadbury has sold fair trade chocolate under the name Green and Black. Of course we now have to wait for Cadbury to use fair trade cocoa in all their other chocolate varieties. Mike Rowe gave an interesting TED talk about the value of manual labour [3]. He suggested that there should be a PR campaign for skilled manual labour jobs and noted that his observation (through his work on his Dirty Jobs TV series) was that the people who do some of the less popular jobs appear to be happier. The GapMinder.org web site has some interesting analysis of statistical information on countries and regions [4]. It is based on the work of Hans Rosling who is well known for his high quality TED talks [5]. Unfortunately the web site requires Flash, I will probably try it out with Gnash some time. Miru Kim gave a TED talk about her work photographing herself nude in abandoned buildings and industrial spaces [6]. Among other things she photographed herself lying naked on a pile of bones in the crypt underneath Paris which is fairly dangerous. I ve visited the crypt, it s an interesting experience but I was very careful to touch nothing you never know which of the bones came from victims of smallpox and other nasty diseases. Strangely they have an ongoing problem of visitors stealing bones, when I visited there were several bones at the exit that had been confiscated from visitors some of which had mummified flesh attached Steinar H. Gunderson wrote a good description of the basics of how the TCP protocol works [7]. He also links to a web page he wrote that will measure your potential TCP throughput and give you information on the link. This is really handy if you are behind some sort of firewall and want to know what is being done to your TCP stream when it s in transit. Apparently Christian couples tend to use a shared email account to reduce the risk of cheating [8]. It s hardly a surprise that Christians have a much higher divorce rate than atheists and agnostics [9]. The NY Times has an interesting article about iPhones overloading the AT&T network [10]. Recently I ve been having some problems sending MMS with my Three phone, some relatives who use Three have been having connection problems in certain areas with marginal signal quality, and the download speed of my Three data connection is significantly reduced (used to be ~70KB/s, now I m lucky to get 20KB/s). I suspect that the new smart phones that are being sold are largely to blame. But the up-side is that when they engineer their network to work properly with the smart phones then my Internet use (ssh and basic web browsing) will work really well. Michael Tieman wrote an interesting blog post about software patents which compares them to Land Mines [11]. Of course this analogy falls down badly while the US is still leading the world in manufacturing land mines. Rebecca Saxe gave an interesting TED talk about how brains make moral judgeents [12]. In her research she did some tests with using magnetic pulses to decrease the function of the region of the brain that allows people to judge the others and she was able to significantly affect the results of judgement tests. Brendan Scott analyses the netbook wars and concludes that it has been a significant loss for Microsoft [13]. ArsTechnica has an analysis of the real word-processing requirements [14], they suggest that in most cases MS-Word (and other word-processor) documents could be replaced with HTML or Wiki pages for a better end result.

Next.

Previous.