Search Results: "will"

1 September 2009

Gunnar Wolf: Method for locating yourself in space and in time

Today I had a nice and productive day, code-wise. Maybe that's a side effect from being unable to lose my time following E-mail?
Anyway, checking my code with git citool previous to today's git commit, I came accross this method. I didn't even pay attention to it while writing. But it did make me laugh in semi-awe thinking about the great implications it might have. The method signature: def days_for(who, what, how) The code itself? Naah, too pedestrian, to simplistic. It will ruin the sight. It just looks so beautifully universal! Ok, I am compelled to share, even if it spoils it and renders it into a completely regular, even stupid method.
  1. def days_for(who, what, how)
  2. return ' No dates set ' unless who.has_validity_period?
  3. days_to = who.send(how)
  4. return 'Past' if days_to <= 0
  5. '%d days (%s)' % [days_to, who.send(what)]
  6. end

31 August 2009

Rapha&#235;l Hertzog: Interdependence in Debian, how to suffer less from it

Listening to Martin Krafft s talk at Debconf (related to his PhD) shed some new light on the idea that I expressed last year I wanted that each maintainer regularly answers a questionnaire so that he has to ask himself whether he does a good enough job with his packages. When thinking of this idea, I only saw the QA side of ensuring good maintenance on all packages, however I believe that the root problem lies further and this project would not be enough: we are interdependent but we are not equipped to deal with this reality. Martin s only merit has been to mention that we are interdependent, but it s worth analyzing a bit. Our organization is centered around individuals acting as package maintainers, and in theory each package maintainer can work on his corner and all goes well. We know that this model doesn t hold any more: transitions to testing require coordination of uploads and timely fixes of RC bugs, keeping up with the work frequently requires several volunteers that have to coordinate, etc. More and more of the work requires a level of availability that a single individual can t offer, yet in our day-to-day work we mainly interact with individuals. Wouldn t it be better if we could immediately know what we can expect from any Debian developer: All this information should be shared by all Debian maintainers (some of it is already available but either not publicly or not in any machine-parseable way) and we should actively use it. Here are some examples of use: for each RC bug report, you could look up if at least one maintainer is available and you could ping him explicitly if needed. When you plan an NMU, you could look up if the maintainer is likely to respond in the next day or not, and possibly adjust the number of days spent in the DELAYED queue. When organizing a large-scale transition, you could extract a list of packages whose maintainers are not available and arrange immediate NMUs. Furthermore there are many cases where the project s usual expectation exceed what the maintainer is ready to do. Documenting what part of the job is done (or not) by the maintainer makes it clear for volunteers whether their help is needed and whether they could/would be a better maintainer for a given package. Designing solutions to all these problems is going to be the scope of the DEP2 that I reserved some time ago. It s likely to be some sort of dedicated web interface. I would welcome supplementary drivers for this DEP, so if you re interested, get in touch with me. Partagez cet article / Share This

Neil Williams: Help needed for final libsoup2.4 fixes in drivel 3.0

Drivel 3.0.0 (current SVN trunk) is now ready for GTK+3.0. libegg has gone, there is one remaining issue with the GtkRecentChooser replacement. libgnome and libgnomeui are going away too and these have been dropped from drivel (therefore bonobo has gone too). gtksourceview has been migrated from 1.0 to 2.0. GtkSpell now correctly finds all supported dictionaries and a whole load of console messages about invalid casts etc. have been fixed. There is no libglade anymore, it's GtkBuilder throughout. Essentially, everything needed to bring drivel up to date with GTK+3 is in place.
Problems.
  1. The libsoup2.2 -> libsoup2.4 transition is a mess. Some of it works but the libsoup2.2 code that has been added to drivel needs to be dropped and a genuine 2.4 interface created. I'm not that familiar with this side of drivel - I'm hoping others have more expertise debugging the actual network / XMLRPC / Soup connections between drivel and sites like livejournal. Any libsoup migration experts out there?
    • MT support
      Current SVN trunk can use MovableType (MT, Wordpress, Serendipity) although a few niggles remain (categories work in some MT and not others). Serendipity cannot post. Invalid request payload: xmlrpc element PARAM cannot be child of PARAM, so that's libsoup too.

    • Blogger 1.0
      Support appears working, albeit with a few changes I've just made.

    • Advogato support
      Appears to work fine. http://www.advogato.org/person/codehelp/

    • Atom/Blogger 2.0 support
      Really not sure on this one:
      (drivel:32119): Drivel-WARNING **: parse_xml_journal_list: XML is not a
      <feed>
      - so libsoup again but it's quite possible that this error hides other errors too.

    • LiveJournal
      Here are the real problems. LJ didn't work with (the unreleased) 2.1.1 either and it fails in the same way with 3.0.0. "Could not understand server
      response."
      and lots of complaints about syntax errors on the console.

  2. Removing an account causes a crash - somehow the combo_box is not registering the item as active until reselected. I've got a fix that prevents the crash but that's going to be annoying. Watch for:
    Drivel-Message: login_name_active = -1

    (drivel:31084): Drivel-CRITICAL **: remove_username_cb: assertion
    login_name_active > 0' failed
    Any GTK+3.0 gurus who can help with that one - much appreciated.

  3. GtkRecentChooser is not updating itself when a draft is saved.



debcheckout still has the old GNOME details until 3.0 is uploaded, so the SVN details at SF are:
svn co https://drivel.svn.sourceforge.net/svnroot/drivel drivel
SF homepage:
http://drivel.sourceforge.net/
Dev mailing list (for bugs and patches)
http://mail.gnome.org/mailman/listinfo/drivel-list
Or just send me the patches direct (email details in the source files).
posted with 2.0.4

If you want to test all the various clients, you'll need wordpress, movabletype-opensource and serendipity installed as Debian packages (and configured) and accounts at advogato, livejournal and blogger.

So, dear lazyweb, anyone got some ideas?

Gunnar Wolf: Serverless and mailless

Oops. Yesterday (Sunday, 31/08/09) I far from any computer-like object for most of the day. When I got back home, of course, I promptly opened my laptop to check my mail who knows what destiny might have for me in a 24 hour period? Maybe I won yet another fortune I have to cash in Nigeria? Maybe there is (GASP!) a new RC bug on one of my packages? But no, my mail server didn't feel like answering to my ssh queries. The connection was established, but shut down before even sending the protocolary SSH-2.0-OpenSSH_5.1p1 string. Fearing an overload (after all, the little bugger is just a Mac Mini running in another room in my house), I tried to check (via Web) its Munin status Apache didn't want to listen either. It answered, but got only access denied. Things started worrying me But (silly me) not enough The machine runs headless1, so I just danced the boring raising elephants song2. Allowed for a couple of minutes for everything to settle, and tried to connect. Horror, now even pings didn't work! So I ran to fetch my old, bulky and trusty monitor. Went back to the machine, plugged it in, switched it off and back on. Everything worked fine this time At least appearingly. I opened up mutt and started happily reading mails, while trying to understand on another console what happened at 07:06 that didn't get logged anywhere and had the machine dead for basically all the day. And then, BRRRT-BRRRT-BRRRT, I started hearing the HDD seeking. I was able to send a couple of mails, but decided to let the machine rest and... Will reduce its disk usage to an absolute minimum. Fortunately, I have already the machine meant to replace it A much nicer, beefier iMac G5, waiting to be vacated from its data, task which has suddenly become prioritary. So, in short: If you need to get in touch with me in the next day or two, don't count on my usual @gwolf.org mail, as it is down. I hope to be able to get the data out of the poor little bugger painlessly after it rests a bit. And I hope not to drown in a sea of mails after I get the replacement back online :-/
  1. 1. for those not used to computerspeak: without a connected monitor
  2. 2. For those following at home who don't understand how Raising Elephants Is So Utterly Boring, this is a (silly, stupid but useful) mnemotecnic for as-properly-as-possible restarting hung Linux systems: Hold AltGr (right-Alt) + SysRq (in reduced/notebook keyboards, Fn+SysRq), and type R E I S U B (leaving a couple of seconds between key, ideally waiting for all disk activity to settle between each). That means:
    unRaw
    Take control of keyboard back from X,
    tErminate
    Send SIGTERM to all processes, allowing them to terminate gracefully,
    kIll
    send SIGKILL to all processes, forcing them to terminate immediately,
    Sync
    Flush data to disk),
    Unmount
    Remount all filesystems read-only,
    reBoot.
    Well... Reboot the system

Robert Collins: 31 Aug 2009

Hi Rich! Re hour+long unit tests I agree that you need a comprehensive test suite, and that it should test all the dark and hidden corners of your code base. But time is not free! A long test suite inhibits:
  • cycle time - the fastest you can release a hot fix to a customer
  • developer productivity - you can't forget about a patch till its passed the regression test suite
  • community involvement - if it takes an hour to run the test suite, an opportunistic developer that wanted to tweak something in your code will have walked away long ago Note that these points are orthogonal to whether developers edit-test cycle runs some or all tests, or whether you use a CI tool, or a test-commit tool, or some other workflow. All that said though, I'm extremely interested in *why* any given test suite takes hours: does it need to? What is it doing? Can you decrease the time by 90% and coverage by 2%? I got another response back, which talks about keeping the working set of tests @ about 5 minutes long and splitting the rest off (via declared metadata on each test) into 'run after commit or during CI'. This has merits for reducing the burden on a developer in their test-commit cycle, but as I claim above, I believe there is still an overhead from those other tests that are pending execution at some later time. From a LEAN perspective, the cycle time is very important. Another important thing is handoffs. Each time we hand over something (e.g. a code change that I *think* works because it passed my local tests), there is a cost. Handing over to a machine to do CI is just as expensive as handing to a colleague. Add that contributors sending in patches from the internet may not hang around to find out that their patch *fails* in your CI build, and you can see why I think CI tools are an adjunct to keeping a clean trunk, rather than a key tool. The key tool is to not commit regressions :) Oh, and I certainly accept that test suites should be comprehensive... I just don't accept that more time == more coverage, or that there isn't a trade off between comprehensive and timeliness.
  • Romain Beauxis: Some quick notes on netboot install

    Since I recently got a new laptop, I wanted to install Debian on it, of course :) However, I really didn't feel like buying a new CDR and burning yet another single-use boot CD and did not have a USB key available. Hence, I looked at installing through netboot using the previous one as the boot server and the available documentation. Well it turned out to be much more easy than what I was expecting initially ! The quick notes around this are:
    - First you need to setup iptables for ip forwarding and masquerading, in order to be able to connect the new laptop to the internet:
    • ifconfig eth0 192.168.1.1
    • echo 1 > /proc/sys/net/ipv4/ip_forward
    • iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    - Then you need to enable dhcp and bootp. This means simply:
    • apt-get install dhcp3-server
    • Copy configuration example in Section 4.5.2.1 of the documentation
    • Edit with your own values, in particular check the nameserver used by the laptop sharing the connection. Also the tftp server will be your laptop, so set its address to 192.168.1.1 (in our case). Eventually, you need the MAC address of the new laptop (check ifconfig on it for instance)

    - Eventually, you have to enable the tftp server, which only means:
    • apt-get install tftpd-hpa
    • The server serves files located in /srv/tftp (check ps -Af). You have to download the netboot tarball and untar its content in this directory.
    The only strange thing here is that for some reason, the ethernet card would loose its address when the new laptop was using the DHCP to obtain an address. I didn't check it, but setting it at a regular intervals solved the problem: while true; do sleep 0.1; ifconfig eth0 192.168.1.1; echo "done"; done. Yeah, that's hacky, but I wanted a quick solution :) After all of that, you boot the new laptop, select the network boot and... voila ! In conclusion, since it is not that difficult to setup, it would probably be nice to have some sort of standard script to enable PXE boot on a computer. Then we could claim that the new Debian release is committed to sustainable development and allows to install without wasting a CD :-D

    30 August 2009

    Filip Van Raemdonck: 363 days lead time

    I would like to point out that my last article was in no way meant to be critical towards libvirt, rather on the contrary. I think it's an awesome technology the way it provides a common management platform for various virtualization solutions available on Linux and even other platforms.

    For reference, expensive proprietary virtualization solutions don't necessarily fair better.
    I've in fact recently ran into a problem in a Vmware ESX / Virtual Center environment which, while rather different in manifestation, in the end was similar in nature: diverging state change in the environment and in configuration.

    The Vmware problem surfaced after kernel changes on Linux guests, where, after rebooting into the new kernel and running the vmware-config-
    tools script to rebuild the modules, nightly backups with help of the vcbmount utility would fail.
    The only cryptic error message was:

    Creating a quiesced snapshot failed because the (user-supplied) custom pre-freeze script in the virtual machine exited with a non-zero return code.


    It didn't help that there wasn't any "user-supplied pre-freeze script" to begin with.

    Searching for this error message returned lots of hits, several going at least one year back. However, aside from a few references to a documented Solaris guest issue, which was not applicable, none would actually provide any insight into what the problem might actually be. Unt
    il I found following post on the Vmware communities site, which pointed out that
    changes to the uuid.location weren't propagated properly to the vmx definition.

    For the time being, the best way to work around this (in Linux guests) is to add another reboot right after rebuilding the vmtools modules.
    Since you should be rebuilding
    But Vmware should provide a proper fix their stuff, really. I've got this strong feeling that the libvirt bug will be resolved in less time than a year...

    Robert Collins: 30 Aug 2009

    Made some time to hack... the results: config-manager 0.4 released, re-uploaded to debian (it was removed due to some confusion a while back). This most notably drops the hard dependency on pybaz and adds specific-revision support for bzr. subunit snapshot packaging sorted out to work better with subunit from Ubuntu/Debian. This latest snapshot has nested progress and subunit2gtk included. PQM got a bit of a cleanup:
  • The status region shown during merges is ~ twice as tall now.
  • if the precommit_hook outputs subunit it will be picked up automatically and shown in the status region.
  • all deprecation warnings in python2.6 are cleaned up
  • Pending bugfixes were merged from Tim Cole and Daniel Watkins - thanks guys!
  • Aigars Mahinovs: Debconf9 photos and banter

    A bit more than a week after Debconf9 ended here is a post summarising what I remember about it for myself to look back to later, for others that were there for a good memory, for those that were not there for insight and for organisers of future Debconfs to improve. Let s start with something most people know I took photos, a lot of photos. The main photo naturally was the Debconf9 group photo (also http://tr.im/dc9group and an annotated version). Please look for people that are missing their IRC nicknames. I have uploaded the best of my photos on Flickr and all good photos in full resolution on the Gallery site. All of these photos are licensed CC-BY 2.0 or 3.0 or GPL v2 or v3 (your choice). Now about the organisation. The place reasonably easy to get to but not particularly fast or cheap from airport to the venue it took 1 hour in metro, 3 hours in a bus or train and a half an hour walk (or 5 minutes in a taxi) for the sum of 22 and 4.5 hours or 27 and 4 hours one way. While we all accept the time waisted in airports, getting from the airport to the venue should be easier and cheaper than this. While it was crazy hot outside (38-40 C) there was great air conditioning everywhere, so we did not feel the heat most of the time (except if you walked from bus/train to the venue or did the climb during the day trip). Having air conditioning in the room was a godsend I do not think I would be able to sleep otherwise. Also free water from a drinking fountain where you could also refill your water bottle was a great touch. The rooms were great two beds, air conditioning, bathroom, shower, desks and closets where one could unpack their things. And we did not have to move to other rooms in the middle, it allowed us to unpack and feel comfortable instead of living out of the suitcase the whole time. I m not sure if it will be possible for future Debconfs to get rooms with only two beds, but I think that even with 4 people per room would have been fine, provided that there are enough bathrooms/showers, enough space to unpack everyone s clothes, enough sockets to charge some stuff overnight and enough WiFi coverage in rooms to get some late emails without going to the hacklab. Which brings me to Internet and hacklabs. I must say that Internet was great this year it was fast enough not be a major problem, it was almost everywhere (a bit more signal in the sleeping rooms would be better), it was up and running from day one of the Debcamp and it was stable through (I think there was one or two interruptions). It would be nice to see people write a blog entry about how exactly it was done. As far as I know it was very helpful to have several kilometres of CAT5 cable, several large switches and a huge amount of identical WiFi routers all flashed with OpenWRT (and then some more smaller routers also flashed with OpenWRT to plug some holes). I heard there were two Internet connections joined together and a complex firewall/transparent proxy/traffic shaper and also a local Debian mirror that was DNS-redirecting people to it from all the regular Debian mirrors people use at home. The hacklabs were also nice when the Debcamp started the second hacklab was lacking most tables and chairs, but when those arrived there was plenty of space. Other common issues such as access to a free switch port for people without wireless and access to power sockets were also handled well and fast. It was very nice that organisers always had a few spare power strips or a spare patch cable at hand. This year there was a siesta break in the proceedings. While it was in line with local traditions (take a several hour break during the hottest hours), it did not do much for the secondary stated reason to get out and see the surrounding, because half of the attraction of getting out (shops and bars) were all closed during the same siesta time. IMHO we should have used the great aircon of the venue and continued the talks from mid day to 18:00 (when the siesta ends) and then make a break until dinner so that we could go out and enjoy shops and bars and historic places during a cooler time of day. If there is a break in proceedings, then it should be at the time when people are most likely to enjoy the surroundings. I doun t know the schedules in NY, but if the museums close at 18:00, then there should be a break during the day to allow people to get to those museums. Food was there and it was there every day, but it was not particularly great. Aside from typical problems with vegetarians and vegans (even salads had pieces of meat in them), I did not find the food to be compelling most of the time. I do not like fish and there was a lot of fish. Mostly it was good fish and sometimes it was so well done that even I enjoyed eating it, but other times it was full of fish bones and/or tasteless. Too often the dinner consisted of a salad, a deep-fried piece of meat and spoonful of dry fries. It would not kill them to put more fries on the plate and have some kind of sauce for them. One thing that was great in food were the fruit deserts apples, oranges, peaches and nectarines were fresh and juicy and then there were melons! I typically hate melons because the ones I can get in shops in Latvia are dry and bitter, but the melons here were bursting with sweet juice heavenly stuff. In the future it would be nice if the food selection and amounts per portion could be checked and agreed upon with the caterer in advance. Also the timing should be adjusted it is too early to end breakfast at 10:00, especially with dinner starting at 21:30 there is way too little time to socialize with other people after dinner and then to get a decent sleep. Talks can start at 10:00, but breakfast should go up to 11! I did like the water bottles and wine jugs on the tables and the beer being served as part of the food that was a nice touch that many people enjoyed. The daytrip was a nice distraction in the middle of the conference a trip to a swimming pool made from a river bed blocked by a damn with an optional hike up a mountain to a spectacular cascade of natural water pools and slides that a river has carved in the solid rock or the mountain valley. Most people did the hike it was steep and hot and rocky, but the payout (the water fun) was there at the end, and it was great! Wonderful warm water and unexpectedly deep pools that both locals and us jumped into from rocks of differing heights. I am more of a climber than a jumper so instead of jumping off a cliff, I spidermanned up the cliff up from the water. I did not have any safety, but if I did fall I would have fallen into the water, so felt almost safe :) After the hike, the jumps and a hike back downhill we went into the buses and joined up with the people relaxing in the pool or in the bar right next to it. And after an hour or two later the day trip was over. While this was fun I would have preferred if after the hike we would have gone to some castle or other tourist attraction for more of a trip experience than sitting by a pool chatting. Formal dinner was another traditional thing that we did this year. We walked over to a restaurant overlooking the city, sat down at many different tables occupying most of the place and then the waiters brought us plates with bits of food. Each plate was basically a set of 4 snacks for 4 people a plate of cheese, a plate of ham cuts, a plate of steamed vegetables and a plate of grilled meat. After that was coffee and desert. In my opinion the grilled meat was overcooked, the vegetables were passable, 1 of 5 cheeses was great (the local soft speciality) while other were ok and the ham cuts were ok. Desert was average. In all I was neither impressed by the food nor filled by it. There was also entertainment a singer with two dancers. They ware way too loud, so loud in fact that police came and shut the performance down, I did get a few interesting photos but otherwise I did not like them. They came to our venue the next night to continue the performance, luckily it was in an isolated patio and did not disturb people sleeping. Wine and cheese party on the other hand was simply great this year there was a huge selection of wine and cheese as we were in the right part of the world for that. There were 7 tables full of cheese, wine and bread and also some extra stuff such as a barrel of peanuts and some great tea from Taiwan. People were walking around for hours eating cheese, cleaning the taste off with bread and wine, chatting and doing it all over again at another table. I left the patio at around 2am and there were still several dozen people around chatting, eating, drinking wine and tea. I m not sure how to get an event of similar size in NY as it is not allowed for travellers to bring cheese into US, only commercial import with an appropriate licence is allowed. I also have my praise for the video team, but I ll hold on to that and the feedback about the talks until I see the recordings of talks that I missed, so I can also recommend the must see recordings. All in all it was a great event meeting all the great Debian people again, coding some stuff, having fun and talking about the future of Debian in a more relaxed atmosphere than an IRC chat room. Debconf 9 was great, see you all next year at Debconf 10 in New York!

    7 June 2009

    Sam Hartman: Debconf and Debcamp

    I will be attending Debconf 9 in Spain from July 23-30. I will also be attending debcamp the previous week. I m hoping to build contacts and increase my involvement in the Debian community, and the previous debconf I attended was an interesting window into what was going on in Debian and Linux. I m still lining up things to do at Debcamp. Jelmer Vernooij will be there; he s interested in working with me on Samba 4 support for MIT Kerberos in Debian. I m interested in working with him on making the user experience good for people who use both Samba 4 and other Kerberos applications. As I wrote at the bottom of this post, I believe it is critical that the open source community not just follow what Microsoft is doing in the Enterprise space. I also think it is important that we maintain avenues for our own innovation. To that end, I want to look at what we can do to use enterprise infrastructure independent of AD-look-alike projects like Samba as well. So, I ll be looking at making what I can do to help this in Debian. Areas of interest include:
    1. Easy set up of Kerberos to use an LDAP database
    2. Easy configuration of libpam-krb5 and libpam-ldap together using Kerberos for authentication and LDAP for authorization but not authentication.
    3. Support for FAST integrated into Debian systems so we can gain better protection against weak passwords. As I promised, more about this in its own post.
    4. Better support for PKI/smart cards for network authentication.
    These are all projects I think I could make headway on myself. However the value of debcamp is the other people there. I ve never been to a debcamp before and so I don t know what it will be like. I do know that I will give higher priority to projects that will benefit from close cooperation over a week. So, if you re there and want to try to recruit me to your project, feel free. I m interested in enterprise infrastructure, VOIP, IPv6, network security and making complex infrastructure easy to use.

    Christian Perrier: Perpiny campio

    Yesterday, we attended the final game of French "Top 14", French rugby league championship, between Perpignan (Perpiny in catalan) and Clermont. Quite good game, though not as good as last year's final (Toulouse-Clermont won by Stade Toulousain). We personnally had no real preferences as our support in rugby generally go to Toulouse, which had been beaten in semi-finals by Clermont. Perpignan won 22-13 against the infortunate Stade Clermontois, who lost its thirdt final in a row. We were fairly sad for Clermont but the catalan game was really much better, particularly in forward lines. As usual, the finals were a great feast for rugby, in the usual spirit of that sport. And the spectacle, in Stade de France, was not only on the field but also around the field, with a stadium turning out yellow (and red on one side, and blue on another). That will conclude that season for rugby....and we're already looking forward to next season where, of course, the Stade Toulousain will revive from its ashes and win both Top 14 and H Cup (there has now been enough of these for the British Isles, now...let's stop this).

    Martin-&#201;ric Racine: When can we have a balanced and meaningful debate on immigration?

    This question keeps on popping up in many recent newspaper articles, on discussion boards and in seminars debating immigration issues in Finland. At the core of the question is a general impression that, between the enthusiastic supporters of multiculturalism and the pessimistic nationalist rednecks, very little constructive discussion is possible in Finland. At one end, humanitarian help organizations, as well as politicians from the Green Party and the Swedish Folk Party, keep on taking excessively generous initiatives towards refugees and asylum seekers, all while labeling their detractors as racists. At the other end, nationalist candidates in the National Coalition Party and True Finns Party keep on painting every immigrant as a refugee who is abusing social security and label their detractors as turning Finland into the easiest country to abuse social security, at the Finnish taxpayer's expense. In between, candidates from the Christian Democrats and Center Party spread equally among these two camps. Meanwhile, while the Left is currently avoiding discussions on this topic, Social Democrats have previously shown that they tend to side with the nationalists in labeling all immigrants as social security abusing refugees. One interesting point is that, no matter at which end of the political spectrum one looks, the whole Finnish immigration debate keeps on focusing exclusively on refugees and asylum seekers, despite the fact that migrant workers and foreign spouses of Finnish nationals make up for a good 70% of the foreign population residing on Finnish soil. This recalcitrance to discuss immigration from any other perspective than refugees is rather painfully noticeable. Some recent examples: What's remarkable about all these examples is how public opinion is so persistently hardwired into thinking that all foreigners living in Finland came here as refugees from 3rd-world countries whose culture is radically different from Finland's and that they all became perpetually unemployed, forever living off social security, to the point that even politicians who ought to know better go along with it. When will we be able to have a balanced and meaningful debate on immigration, you ask? The day both multicultural hippies and nationalist rednecks will have been kicked off the podium. Of course, it would also help if the refugees themselves stopped monopolizing the podium, whenever the opinion of immigrants is solicited. Then again, perhaps these 3 groups benefit so much from the current status quo that they'd rather not see the day when others can participate in this debate on equal footing with them, so that a balanced and meaningful debate can finally take place?

    Enrico Zini: Voice-controlled waypoints

    Voice-controlled waypoints I have it in my TODO list to implement taking waypoints when pressing the headset button of the openmoko, but that is not done yet. In the meantime, I did some experiments with audio mapping, and since I did not manage to enter waypoints while recording them, I was looking for a way to make use of them anyway. Enter findvoice:
    $ ./findvoice  --help
    Usage: findvoice [options] wavfile
    Find the times in the wav file when there is clear voice among the noise
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -v, --verbose         verbose mode
      -p NUM, --percentile=NUM
                percentile to use to discriminate noise from voice
                (default: 90)
      -t, --timestamps      print timestamps instead of human readable information
    
    You give it a wav file, and it will output a list of timestamps corresponding to where it things that you were talking clearly and near the FreeRunner / voice recorder instead of leaving the recorder dangling to pick up background noise. It does not use sound statistics because I have no background whatsoever in audio processing, but it basically finds those parts of the audio file where the variance of the samples is above a given percentile: the higher the percentile, the less timestamps you get; the lower the percentile, the more likely it is that it picks a period of louder noise. For example, you can automatically extract waypoints out of an audio file by using it together with gpxinterpolate:
    ./findvoice -t today.wav   ./gpxinterpolate today.gpx > today-waypoints.gpx
    
    On the timestamps that it outputs, it will add the modification time of the .wav. This means that if you touch -d "@timestamp" the .wav file with the date you started recording, then you can get decently accurate waypoints provided your system clock is decently synchronized. For example:
    START= date +%s 
    arecord file.wav
    ^C
    touch -d "@$START" file.wav
    ./findvoice -t file.wav   ./gpxinterpolate today.gpx > today-waypoints.gpx
    
    In record-audio-on-freerunner I even set the .wav mtime using the GPS time at the start of the recording.

    Francois Marier: Reinstalling grub on an unbootable Debian system

    Fixing an unbootable computer after a failed grub installation can be a bit tricky. Here's what I ended up doing.

    First of all, boot the machine up and get access to the root partition:
    1. Get a Debian installation CD for the same architecture (i.e. don't use an i386 CD if your root partition is amd64). The distro version doesn't matter too much: a lenny CD will boot squeeze/sid just fine.
    2. Boot the install CD and select Rescue mode under Advanced options.
    3. Answer the language, keyboard and network questions any way you want and provide the decryption passphrases for any of the encrypted partitions you need to mount.
    4. When prompted, request a shell on the root partition.
    If you need to upgrade the version of the grub package (for example if this problem was caused by a bug which is now fixed):
    1. Make sure that the network interface is up (ifup eth0).
    2. Make sure that /etc/resolv.conf has at least one nameserver line, otherwise add one.
    3. Install the latest version using apt-get or dpkg.
    Now that you have the right grub version, run the following (with the right device name for your machine):
    grub-mkdevicemap
    grub-install /dev/hda
    update-grub
    Finally, reboot and cross your fingers :)

    6 June 2009

    John Goerzen: Buying a SoundBridge Radio

    A day or two ago, I asked for suggestions for a tabletop MP3 player. I got lots of good ideas thanks! The two most common were the Roku SoundBridge Radio and the Nokia N800. I ve ordered the SoundBridgeRadio. I spent some time looking over its website, and it really impressed me for several reasons: The N800 is also a good suggestion. It has an FM tuner built-in, and of course is capable of streaming media files. I have an N810, and I just don t think a device this size would be capable of playing loudly enough for a kitchen. So I d have to get external speakers, and then we re into a mess of wires and stuff making it less portable to other rooms in the house. One person also suggested a Chumby. It sounds like an awesome gadget, but I couldn t find anything on their site that indicated that it could stream music from my own server. From the Internet or an iPod, yes, but not from my server. Thanks to everyone for your ideas. I ll post a review of the SoundBridge Radio when I get it.

    Biella Coleman: Commemorating Alice Ramsey!!

    Alice s Drive from Bengt Anderson on Vimeo. My partner Micah is pretty good with his hands, well, so long as they are attached to a computer. Otherwise, he is a bit lost. His father, however, is a master craftsman, rebuilding old cars, making his own houses, you know, the sort of stuff that really puts me in awe. Thanks to his efforts, his family, notably his sister Emily Anderson, are about to kick off and commemorate Alice Ramsey who in 1909, did the unconventional, which is somewhat an understatement, and drove across the United States in what then was called a horseless carriage. Apparently, she loved to race cars and took that love to trek across what were really gnarly roads and earned the distinction as the first woman to do so. Using the same model (Maxwell Model DA) that Alice drove, one that Emily s Dad, Richard, restored (and it is the very last one in existence!), she will be starting off the drive in just a few days. The whole family is pretty involved, so Bengt Anderson is making a film (short clip featured above), Micah has helped with the website side of things, and the rents will be in the trailer (especially since Emily just had a baby). Anyhow, more to write about cars and this trip but thought some folks might be interested in following her across the US. I am super bummed I am not in NYC to watch her go, but I will be watching with a lot of excitement from the Internets!

    Martin Michlmayr: Fan control on the D-Link DNS-323

    The kernel in Debian doesn't have support for the fan control chip on the D-Link DNS-323. Since some people said that their device runs quite hot after installing Debian, I've prepared a 2.6.29 based kernel that includes the fan driver. If you want to install this kernel, edit the file /etc/apt/sources.list and add the following line:
    deb http://people.debian.org/~tbm/orion lenny main
    
    Now you can install the new kernel:
    apt-get update
    apt-get install linux-image-orion5x
    
    After a reboot, you can control the fan this way:
    echo   0 > /sys/class/hwmon/hwmon?/device/pwm1  # turn it off
    echo 255 > /sys/class/hwmon/hwmon?/device/pwm1  # turn it to full speed
    
    Any values between 0 and 255 will work. According to Anselmo Luginbuhl, you should also be able to use the lm-sensors package to automatically control the fan: "Execute pwmconfig, it will make some tests and generate the fancontrol config file. At the end of the procedure it will ask you to "Select fan output to configure, or other action:", just be sure to pass through choice "1" or it would not fill in the configuration file, save the configuration and start the daemon /etc/init.d/fancontrol. Probably the only thing that needs some attention to get an optimal result is to choose the right parameters for max and min temperature at which the fan should start or stop to minimize the C and the noise." Finally, this kernel also includes some performance patches from Marvell, so you might see some performance increases too.

    Russell Coker: Actually You Do Care

    A reasonably common feature in Internet debates is that of one party claiming to not care about the issue. Statements such as I haven t got time to debate this or I m not interested are used to try and disclaim any interest in the topic. Such claims are silly and rather amusing. Outside the Internet it does make sense to say I don t care because interactions are between small numbers of people. Telling a tele-marketer that you don t care about their product is part of the process of getting them to stop calling you. But it doesn t make sense in interactions between large numbers of people. If there are 100 people on a mailing list then there will be a variety of opinions about any issue, but one thing you can count on is that the majority of people on the list are not interested in whether any individual cares about an issue. If there was a general desire to discover how many people cared about a topic of discussion then the way to determine this would be via an online poll. In almost every situation individuals saying I don t care in email just isn t a scalable solution. The only exception is when someone in a leadership position is asked for an opinion, in such a case a response is expected and if the leader actually doesn t care then saying so and letting other methods be used to resolve the dispute makes sense. One common case where an I don t care message is seen is at the end of a long and heated discussion. After a discussion has gone on for a while (well beyond the point where it was obvious that no-one was going to change their position) one party might claim to not care or not have the time to debate the issue. But of course if they didn t care at all or had no time then they wouldn t have written any messages on the topic. If they had a limit to their time or care factor then they would probably have stated their opinion once and maybe written a single follow-up post clarifying the first one. Anyone who has written 6+ messages or a total of 1000+ words on a topic obviously cares and obviously has time. In such cases it seems that claiming to not care or not have time is a final desperate attempt at getting the last post on a topic by someone who subscribes to the last post wins school of online debating. Another common case is when someone makes a point that is decisively refuted. The Internet is filled with people who can t handle criticism and who can never leave any critical email without a reply. In such a situation claiming to not care is a way that such a person can protect their fragile ego even if the point is indefensible. One of the variations on this theme is to claim to be an expert who doesn t care enough to educate people on mailing lists (or even provide a couple of URLs that reference what they need to know). As a hint, if you are going to claim to be an expert while making statements that disagree with notable experts in the field in question (professors at prestigious universities, Nobel laureates, or people who have demonstrated great practical success) then you really need to demonstrate your expertise and cite references. While generally it s the scope of the Internet that makes the I don t care argument silly, it also doesn t make sense in interactions via electronic media such as private email where a sender can be ignored. If you don t care about a private email in reply to one of your messages then what you will do is simply delete it. Replying and saying I don t care merely demonstrates that you do care, invites another reply, and shows that you have a fragile ego to protect. My general practice when dealing with such people is to send one reply to every message that they send me, such people typically demonstrate how much they care by sending me more than a dozen messages explaining in detail how much they don t care. Another variation on the theme of private correspondence is people who write blog comments that are obviously inappropriate and will not pass moderation. Someone who polls my blog to see if their comment has been approved and then writes an abusive comment when they discover that they fell well short of my comment quality standards obviously cares about having their comment published. To then claim to not care about whether their comment was approved is obviously a lie. Google is almost entirely filled with things that I don t care about. I demonstrate the fact that I don t care about them by not commenting.

    5 June 2009

    Gunnar Wolf: RubyCamp Mexico

    RubyCamp UNAM logo Today I attended RubyCamp (schedule available), organized by my friends at Instituto de F sica, at my University. I presented three plugins I made and regularly use. The organizers followed a short, more informal scheme than most conferences I am used to Talk slots range between 5 and 15 minutes, so we attended a whole day of semi-lightning talks. Of course, many people have run late, and although there was quite a bit of free space in the schedule, it has been practically non-stop I was thinking on also giving a talk on encodings (as many people really still don't understand what is UTF-8, what is Latin1, why all that mess People, please learn at least The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)), but the schedule is full by now. Interesting and successful experiment, I'd say. The talks are being taped, and the organizers say they will be soon made available online. There are many cultural details to note here. First of all, yes, the Rails Fanboys _are_ a cult/sect. I think we have ~90% of MacBooks... I still fail to understand why a coder feels at ease on MacOS. I deeply despise it! Also, most of this community have bitten the Twitter plague. This is also a community very much into businessspeak, speaking a word in English for each two words in Spanish (I try to be consistent, not mixing languages at least). Some conferences have been quite business- and enterpeneur-oriented. Although I should not complain too much about this, as it is an important aspect for many people But I still don't feel at ease having talks on how to run a business if we were asked for presentations on technical aspects! Anyway - I was quite happy to be here. This is the first real technical, code-oriented conference I have attended in a long time in Mexico. And we need more like this! We have too many entry-level, evangelization-oriented conferences, but very few like this one. [update]: Group photo!

    Paul van Tilburg: Iceland, Here I Come!

    I am all set for my trip to Iceland! (Well, except for the actual packing of stuff.) The purpose of the trip is a work visit and holiday combined. In the first week (maybe extended to 9 days), I will be working at the Reykjavik University on some process algebra things and possible present my past work. During my time there I can stay at the appartment of Arnar, whom I ve met when he was attending our university for his Master s. Thanks for providing me with accomodation and congrats with obtaining your Master s degree! When my days at the RU are over, I will explore, tour, hike around the island with him and some of his friends. Very much looking forward to that! Some travel information for Sunday June 7 (travelling with Iceland Air):
    09:45 Leaving by foot/bus/train to the airport
    14:00 Departure from Schiphol with flight FI503 (UTC+0200)
    15:00 Arrive at Keflavik Airport (UTC+0000)
    I will be returning on Sunday June 28:
    16:30 Departure from Keflavik Airport with flight FI504 (UTC+0000)
    21:30 Arrive at Schiphol (UTC+0200)
    I will attempt to keep you all updated via this journal and/or the usual microblogging sources: Twitter / Jaiku / Luonica.

    Next.

    Previous.