Search Results: "ag"

11 April 2010

Gregor Herrmann: RC bugs 2010/14

a short overview of my RC bug activities. more than usual, most of them in the debian perl group, some of them new bugs.

Kumar Appaiah: I'm going to Debconf 10

So, I will be at DebConf10 from 4th August onwards. The prime purpose of my visit is to meet all Debian developers, so I don't think the delayed attendance should matter much.Customary banner: I'm going to DebConf10!See you all there!Tags: debconf, debconf10, debian

Gunnar Wolf: Snails flying by

Snails flying by
Snail mail has become a despised media. While I still held long conversations at a distance written with ink on paper, with latency measured in weeks and not in milliseconds, that's basically history now. Snail mail is where invoices are received. Ocassionally, a joyous invitation finds its way into my mailbox But its regular use has been almost completely abandoned. Which probably makes it more striking and more of a surprise to receive a very short note of a good friend living far away just stating a very warm greeting. (of course, the paper was not GPG-signed, but I'll have to believe it was sent by him ;-) ) (Oh, about the title: The card is a print of Don Nisbett's Fly By , which recreates Ilwaco, Washington's panorama)

Andrew Pollock: [life] I (apparently) have obstructive sleep apnea

A while ago now, Sarah commented that one night when she's woken up in the middle of the night, that she'd observed me stop breathing for a while in my sleep. She wanted me to go see the sleep doctors that she'd seen (she was diagnosed with obstructive sleep apnea a couple of years ago). So I eventually packed myself off to the Stanford Sleep Disorders Clinic, which is at Stanford's shiny new outpatient centre in Redwood City. They took a look at me, and declared I had a crowded mouth, and a narrow airway, and asked me to do a sleep study. I did the sleep study in the middle of January. That was "interesting". I had a ton of wires glued to me, and needless to say, I didn't sleep particularly well, but apparently I slept enough for them to be able to diagnose me. A couple of weeks later, I got a letter with the results. I had a Respiratory Disturbance Index of 16.6. The letter from the clinic defined RDI as including "events of 10 seconds or more with cessation of airflow or discernable reduction in airflow associated with arousal or oxygen desaturation of 3% or more". I had one obstructive sleep apnea event, and 119 obstructive hypopnea events during the sleep study. At one point my O2 saturation dropped to 89%, but it was very briefly. The overall average was 96%. A month ago I did another sleep study, this time while I was hooked up to a CPAP machine, and they fiddled with the pressure. I was fairly exhausted that night, and slept like a log. Based on the results of the second sleep study, I've been prescribed an auto PAP machine with a pressure ranging between 13 to 15 cm of water pressure (whatever that means). I got the machine, a ResMed S8 AutoSet II a week ago last Friday. It's slightly more advanced than the CPAP machine that Sarah uses, in that it'll adjust its pressure within the range it is set to, as it deems necessary throughout the night. It also backs off the pressure when you exhale, like Sarah's does. I'm not particularly thrilled to be sleeping with this thing on my face. The first night I used it, I slept fine. Something like from 10:30pm until 6am. Subsequently, I keep waking up at precisely 3:30am for some reason, and it's hard to get back to sleep with it on, so I take it off. A few nights, some sort of mask leakage alarm has gone off at some random point in the night. I haven't been in any state to try and diagnose what's going on when that happens, so I just take off the mask and turn the whole thing off. I was curious as to whether I'd notice some sort of life-changing difference between using it and not using it, like Sarah does, but so far, I can't say I've noticed any discernable difference. I also haven't gone a night without using it yet. Getting a properly fitting mask was a bit of a challenge. I spent ages at the durable medical equipment supplier trying on different sorts of masks. The one I've currently got still leaves a bit of a red mark across the bridge of my nose. I can take it back in the first 30 days, and get refitted, so I might still be doing that.

Martin-Éric Racine: xf86-video-geode: EXA Composite support broken on X server 1.7

Just a quick note to everyone who recently upgraded their X server to 1.7 on Geode hardware to report that changes in X server since 1.6 have exposed and escalated bugs in our Geode driver that make EXA Compositing fail, resulting in broken image support on GTK2+ applications. As a temporary work-around, add this line to /etc/X11/xorg.conf in the Devices section:
Option "EXANoComposite" "true"
On my Lucid host, this gives me the following minimalistic xorg.conf:
Section "Device"
 Identifier "Geode Video"
 Driver "geode"
 Option "EXANoComposite" "true"
EndSection
We're currently working to produce new upstream packages that default to EXANoComposite as a temporary work-around, so that the driver at least produces useful results by default, and push this to distributions ASAP, especially keeping in mind pending Squeeze and Lucid releases. Meanwhile, AMD recently assigned new engineers to contribute to the driver's development and to eventually pick up maintenance, so we should soon have a permanent solution to these recent breakages in acceleration support for both GX2 and LX chipsets.

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

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

Russell Coker: Debian/Testing and KDE4

I ve just upgraded my Thinkpad (which I use for most of my work) to Debian/testing with KDE4. Improvements Kde 3.5 (from Debian/Lenny) didn t properly display the applets in a vertical task bar. I want a vertical task bar because my screen resolution is 1680*1050 and I find that a less rectangular screen workspace is best for my usage patterns. In my previous post about my Thinkpad T61 I described how the sound controls weren t working [1]. These problems were fixed as part of the upgrade, KDE just does the right thing. Now when I press the buttons to increase or decrease the volume the ALSA settings are changed and a small window is briefly displayed in the center of the screen to show the new volume. Sounds are now made when I plug or unplug the power cable, this was configured in KDE 3.5 but just didn t work. Problems If I have a maximised Konqueror window and I use the middle mouse button to open a link in a new window then the new window will also be maximised. Previously when I did that the new window was not maximised. What sometimes happens is that I want to open several links from a web page in different windows, so if I can open them in non-maximised windows then I can click the title-bar or the bottom status-bar of the parent window to get it in the foreground again. Probably an ideal solution to this use-case would be to configure the middle mouse button to open a new window in the background or minimised. I can t figure out how to implement accelerator keys for window controls. In particular I like to use ALT-F9 to minimise a window (CUA89 standard). The upgrade from KDE 3.5 to KDE 4 lost this and I can t get it back. I want to have an icon on my panel to launch a Konqueror session. I don t want a large amount of space taken up for a launcher for several different Konqueror options, I just want a regular Konqueror for web browsing available at a single click. There didn t seem to be an option for this. KDE 3.5 has an option in the add widgets to toolbar dialogue to add icons for applications. I have just discovered that in KDE 4 the only way to do this is to go through the menu structure and then click the secondary mouse button. Having two ways to do something is often a good thing, particularly when the other way is the way that was most obvious in the previous version! It was annoying that the font choices for my Konsole session were lost on the KDE 4 upgrade, it s not a complex setting. Also the option to resize a Konsole session to a common size (such as 80*25) seems to have been lost. I had to spend at least 30 minutes configuring kmail to get it to display mail in much the same manner as it used to. You have to use the Select View Appearance (Theme) icon off at the right of the Search box and select Classic and then go to Select Aggregation Mode (immediately to the left) to select Flat Date View . I m happy for KDE 4 to default to new exciting things when run the first time, but when upgrading from KDE 3.5 it should try to act like KDE 3.5. I decided to use Kopete for Jabber just to preempt the GNOME people adding Mono support to Pidgin. I had to install the libqca2-plugin-ossl and qca-tls packages to enable SSL connection, missing either of those gives you an incomprehensible error condition that even strace doesn t clarify much. Given that it s generally agreed that sending passwords unencrypted over the Internet is a bad idea and that it s a configuration option in Jabber servers to reject non-SSL connections it seems to me that the Kopoete package should depend on the packages that are needed for SSL support. Failing that it would be good to have Kopete offer big visible warnings when you don t have them. I use the KDE 2 theme and the right side of the title bar of each window is a strange dappled pattern. Not sure why and I have more important problems to fix. Parts of KDE crash too often. I ll start filing bug reports soon. The management of the Desktop folder has changed. In previous versions of KDE the directory ~/Desktop had it s contents displayed in iconic form on the root window. Now by default it doesn t do that. It is possible to change it, but this is one of those things where the default in the case of an upgrade should be to act like previous versions. The way to enable the previous functionality is to go to the desktop settings (click the secondary mouse button on the background, select Desktop Settings and then under Desktop Activity change the Type: to the value Folder View and then specify the directory below. The facility to have different background colors or pictures for each of the virtual desktops seems to have been removed either that or the KDE configuration system doesn t have enough functionality to let me discover how to configure it. When the panel that I have on the left of the screen crashes everything that was next to the panel gets dragged to the left, this includes extending the width of maximised windows. Then when the panel starts again (which if lucky happens automatically) it pushes things back and if icons had been moved left it just obscures them. When using Konqueror to browse a directory full of pictures it doesn t generate thumbnail icons. When I middle-click on an icon for a picture it is opened with Konqueror not the image viewer that was used in KDE 3.5. The image viewer from KDE 3.5 had less options and therefore more screen space was used for the picture. Also the Konqueror window that is opened for this has a navigator panel at the left which I can t permanently remove. When I use Konqueror my common action is to perform a Google search and then use the middle button to open a search result in a new window. Most of my Google searches return pages that have more than one screen-full of data so shortly after opening a window with a search result I press PgDn to see the next page. That press of PgDn for some reason takes me back to the Google search. It seems that when a web page is opened in a new window the keyboard focus will be in the URL entry field, and pressing PgDn in that field takes you to the previous web page. This combination is really annoying for me. Conclusion Getting the sound working correctly is a great feature! Lots of little things are fancier and generally the upgrade is a benefit. The lack of thumbnails when displaying a folder of JPG files is really annoying though. The time taken to configure things is also annoying, I support four relatives who are just users so that probably means at least an hour of configuration work and training for each one so KDE 4 is going to cost me at least half a day because of this.

10 April 2010

John Goerzen: Jacob has a new computer and a favorite shell

Earlier today, I wrote about building a computer with Jacob, our 3.5-year-old, and setting him up with a Linux shell. We did that this evening, and wow he loves it. While the Debian Installer was running, he kept begging to type, so I taught him how to hit Alt-F2 and fired up cat for him. That was a lot of fun. But even more fun was had once the system was set up. I installed bsdgames and taught him how to use worm. worm is a simple snake-like game where you use the arrow keys to eat the numbers. That was a big hit, as Jacob likes numbers right now. He watched me play it a time or two, then tried it himself. Of course he crashed into the wall pretty quickly, which exits the game. I taught him how to type worm at the computer, then press Enter to start it again. Suffice it to say he now knows how to spell worm very well. Yes, that s right: Jacob s first ever Unix command was . worm. He d play the game, and cackle if he managed to eat a number. If he crashed into a wall, he d laugh much harder and run over to the other side of the room. Much as worm was a hit, the Linux shell was even more fun. He sometimes has a problem with the keyboard repeat, and one time typed worrrrrrrrrrrrrrrrrrm . I tried to pronounce that for him, which he thought was hilarious. He was about to backspace to fix it, when I asked, Jacob, what will happen if you press Enter without fixing it? He looked at me with this look of wonder and excitement, as if to say, Hey, I never thought of that. Let s see! And a second later, he pressed Enter. The result, of course, was: -bash: worrrrrrrrrrrrrrrrrrm: command not found Dad, what did it do? I read the text back, and told him it means that the computer doesn t know what worrrrrrrrrrrrrrrrrrm means. Much laughter. At that point, it became a game. He d bang at random letters, and finally press Enter. I d read what it said. Pretty soon he was recognizing the word bash , and I heard one time, Dad, it said BASH again!!! Sometimes if he d get semicolons at the right place, he d get two or three bashes . That was always an exciting surprise. He had more fun at the command line than he did with worm, and I think at least half of it was because the shell was called bash. He took somewhat of an interest in the hardware part earlier in the evening, though not quite as much. He was interested in opening up other computers to take parts out of them, but bored quickly. The fact that Terah was cooking supper probably had something to do with that. He really enjoyed the motherboard (and learned that word), and especially the CPU fan. He loved to spin it with his finger. He thought it interesting that there would be a fan inside his computer. When it came time to assign a hostname, I told Jacob he could name his computer. Initially he was confused. Terah suggested he could name it kitty , but he didn t go for it. After a minute s thought, he said, I will name it Grandma Marla. Confusion from us did he really understand what he was saying? You want to name your computer Grandma Marla? Yep. That will be silly! Sure you don t want to name it Thomas? That would be silly! No. I will name my computer Grandma Marla. " OK then. My DNS now has an entry for grandma-marla. I had wondered what he would come up with. You never know with a 3-year-old! It was a lot of fun to see that sense of wonder and experimentation at work. I remember it from the TRS-80 and DOS machine, when I would just try random things to see what they would do. It is lots of fun to watch it in Jacob too, and hear the laughter as he discovers something amusing. We let Jacob stay up 2 hours past his bedtime to enjoy all the excitement. Tomorrow the computer moves to his room. Should be loads of excitement then too.

Russell Coker: Web Server Performance

We Have to Make Our Servers Faster Google have just announced that they have made site speed part of their ranking criteria for search results [1]. This means that we now need to put a lot of effort into making our servers run faster. I ve just been using the Page Speed Firefox Plugin [2] (which incidentally requires the Firebug Firefox Plugin [3]) to test my blog. Image Size One thing that Page Speed recommends is to specify the width and height of images in the img tag so the browser doesn t have to change the layout of the window every time it loads a picture. The following script generates the HTML that I m now using for my blog posts. I run BASE=http://www.coker.com.au/blogpics/2010 jpeg.sh foo.jpg bar.jpg and it generates HTML code that merely needs the data for the alt tag to be added. Note that this script relies on a scheme where there are files like foo-big.jpg that have maximum resolution and foo.jpg which has the small version. Anyone with some shell coding skills can change this of course, but I expect that some people will change the naming scheme that they use for new pictures. #!/bin/bash
set -e
while [ "$1" != "" ]; do
RES=$(identify $1 cut -f3 -d\ )
WIDTH=$(echo $RES cut -f1 -dx)px
HEIGHT=$(echo $RES cut -f2 -dx)px
BIG=$(echo $1 sed -e s/.jpg/-big.jpg/)
echo "<a href=\"$BASE/$BIG\"><img src=\"$BASE/$1\" width=\"$WIDTH\" height=\"$HEIGHT\" alt=\"\" /></a>"
shift
done Thanks to Brett Pemberton for the tip about using identify from imagemagick to discover the resolution. Apache and Cache Expiry Page Speed complained that my static URLs didn t specify a cache expiry time, this didn t affect things for my own system as my Squid server forcibly caches some things without being told to but would be a problem for some others. I first ran the command a2enmod expires ; a2enmod headers to configure my web server to use the expires and headers Apache modules. Then I created a file named /etc/apache2/conf.d/expires with the following contents: ExpiresActive On
ExpiresDefault "access plus 1 day"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/css "access plus 1 day"
# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv ico pdf avi mov ppt doc mp3 wmv wav)$">
ExpiresDefault "access plus 1 year"
Header append Cache-Control "public"
</FilesMatch>

# Set up caching on media files for 1 month
<FilesMatch "\.(gif jpg jpeg png swf)$">
ExpiresDefault "access plus 1 month"
Header append Cache-Control "public"
</FilesMatch> DNS Lookups Page Speed complains about DNS names that are used for only one URL. One example of this was the Octofinder service [4], it s a service to find blogs based on tags, but I don t seem to get any traffic from it so I just turned it off. In this case it was the only sensible thing to do to have a single URL from their web site, but I had been considering removing the Octofinder link for a while anyway. As an aside I will be interested to see if there are comments from anyone who has found Octofinder to be useful. I ve also disabled the widget that used to display my score from Technorati.com, it wasn t doing what it used to do, the facility of allowing someone to list my blog as a favorite didn t seem to provide any benefit, and it was taking extra DNS lookups and data transfers. I might put something from Technorati on my blog again in future as they used to be useful. Cookies If you have static content (such as images) on a server that uses cookies then the cookie data is sent with every request. This requires transferring more data and breaks caching. So I modified the style-sheet for my theme to reference icons on a different web server, this will supposedly save about 4K of data transfer for a page load while also giving better caching. The down-side of this is that I have my static content on a different virtual server so now updating my Wordpress theme will require updating two servers, this isn t a problem for the theme (which doesn t get updated often) but will be a problem if I do it with plugins. Conclusion The end result is that my blog now gets a rating of 95% for Page Speed when previously it got a rating of 82%. Now most of the top references that are flagged by Page Speed come from Google, although there is still work for me to do. Also it seems that Australia is now generally unsuitable for hosting web sites for viewing in other countries. I will advise all my clients who do International business to consider hosting in the US or the EU.

9 April 2010

Enrico Zini: apt-xapian-index now comes with a query tool

apt-xapian-index now comes with a query tool I've just uploaded a new version of apt-xapian-index to unstable. Now it comes with a little query tool called axi-cache. You can search this way:
axi-cache search foo bar baz facet::tag sec:section
In fact, you can use most of the things described here. You can then say axi-cache more to get more results, or axi-cache again to retry a search, or axi-cache again wibble wabble to add keywords to the last search. This allows to start with a search and tweak it. In order to work it needs to save the last search so again or more can amend it. Searches are saved in ~/.cache/axi-cache.state. You can search tags instead of packages by adding --tags. It will suggest extra terms for the search, and also suggest extra tags. It can even correct spelling mistakes in the query terms once the index has been rebuilt with this new version of update-apt-xapian-index. I need to thank Carl Worth who, with notmuch, reminded me that if I just build a nice interface on top of Xapian's query parser I go quite a long way towards making a Xapian database extremely useful indeed. axi-cache also integrates with bash-completion so that tab completion is context-sensitive to the command line being typed:
$ axi-cache search image pro
probability      process          processors       programmability  provides         
problem          processing       production       pronounced       proving  
$ axi-cache search kernel pro
problems     processor    production   proved       provided     
processing   processors   programming  provide      provides     
Thanks to David Paleino who wrote the bash completion script. Just for reference, this is the command line help:
$ axi-cache help
Usage: axi-cache [options] command [args]
Query the Apt Xapian index.
Commands:
  axi-cache help            show a summary of commands
  axi-cache search [terms]  start a new search
  axi-cache again [query]   repeat the last search, possibly adding query terms
  axi-cache more [count]    show more terms from the last search
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -s SORT, --sort=SORT  sort by the given value, as listed in /var/lib/apt-
            xapian-index/values
  --tags                show matching tags, rather than packages
  --tabcomplete=TYPE    suggest words for tab completion of the current
            command line (type is 'plain' or 'partial')
If you install the package for the first time, you may need to rebuild the index by running update-apt-xapian-index as root before using axi-cache.

Ingo Juergensmann: Syncing N97

We now have year 2010 but sometimes it still feels like living in the Stone Age of Computing. There's a smartphone, let's call it N97, with Symbian on it. Then there are a bunch of client computers such as a Debian workstation/homeserver running Sid, a Laptop running OS X with iCal and a Windows XP machine at work. Every machine itself (well, with the exception of the XP machine) is a nice piece of hard- and software offering a bunch of possibilities: you can manage your calendars, contacts and tasks.

The difficulty arise when you want to sync those calendars, contacts and tasks between all of the different machines.

There are several ways to address this task:

  1. WebDAV:
    Setting up a WebDAV is no rocket science and you can easily sync your calendars easily with Sunbird or Thunderbird/Lightning for example. But that leaves the N97 ouf of syncing. The N97 can be synced with iSync on OS X, but iCal is not able to work on a single calendar. You can either export a calendar to a remote WebDAV or subscribe it. iCal ignores changes done in other clients and will overwrite those.


  2. CalDAV 1:
    CalDAV (calendarserver) does require some more configuration before you can use it properly, but when done, it should be capable of syncing calendars, resources, tasks and such. Using CalDAV should work aorund the limitations of WebDAV as mentioned above. The calendars can be synced to CalDAV from iCal by creating a remote account and you can sync with iSync via Bluetooth. But you will need a local calendar in iCal, because you can't use iSync to sync your smartphone to your CalDAV remote calendar in iCal.

    iSync unable to use CalDAV for syncing


    Additionally there are problems when you delete an event from your CalDAV calendar on your smartphone. iSync will report an error like this:

    Freitag, 9. April 2010 21:45
    [Nokia N97]
    Changes of Events in writeprotected calendar on this phone are not permitted. These changes were ignored: test, 04/09/2010 23:00


    Deleting events in your local iCal calendar, however, is working well. In the end this result is not encouraging as I need the CalDAV calendars being in sync.
    Syncing with Sunbird on OS X doesn't work either. Maybe it would with DAViCal as server frontend?


  3. CalDAV 2:
    Because syncing via iSync doesn't work as expected it would be a decent solution if the N97 could sync directly to CalDAV. Unfortunately it can't, although there seems some progress with Symbian there. If that is already integrated into v21.0.102 of N97 firmware, it would nice if someone could point me to how configure the N97 properly.


  4. SyncML:
    Maybe another option would be to use some sort of SyncML server in order to sync calendars and stuff between those machines, but I don't know how OS X will work with that approach. Again, hints are welcome!


Syncing calendars and other stuff really seems to be painful. Using a third party webservice such as .Mac or Google Calendar is no option at all. I don't want to give private data out of my hands and control. So, a self hosted service is needed.
Dear lazyweb, is there a solution available for my problem? I hope so...

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

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

Aurelien Jarno: Debian SH4 QEMU image available

Thanks to the great work of Nobuhiro Iwamatsu and others, Debian has an unofficial SH4 port which is close to complete (> 90% of the packages built). In order to help developers to fix bugs on this architecture, I have produced an SH4 QEMU image which is available at the same location as my other QEMU images. You will need a recent GIT HEAD QEMU to use it. Previous versions suffer from bugs in the MMU, causing segfaults and gratuitous TLB flushing. The MMU emulation is now hopefully correct, but still a bit slow. Also the emulated board is limited to 64 MB of memory, and this value can t be changed as memory extension would overlap the addresses used for peripherals. Update: I have backported the necessary SH4 patches into the QEMU Debian package version 0.12.3+dfsg-4.

Bastian Venthur: Debbugs RW-SOAP API Project in GSoC 2010

Google Summer of Code 2010 This year again, I m proposing a project for this year s Summer of Code. Very much like my last year s proposal, it is about adding submit- and manipulation capabilities to debbugs SOAP interface. The idea for this project is to add another way to communicate with our bug tracking system than email. Since we already have a read-only SOAP interface, it seems natural to add write-capabilities. Libraries like python-debianbts would adopt those features and end user applications like reportbug or reportbug-ng could use it to enhance usability. One student has already applied. Others are also very welcome but be quick, the deadline for student applications is April 9th at 19:00 UTC.

David Welton: US Exports: "The Cloud"?

An Economist special report in last week's print edition talks about how the US will need focus more on savings and exports:

A special report on America's economy: Time to rebalance I've been thinking about that for a while too, especially after the dollar's recent weakness, although it has been strengthening some, lately, apparently due to the state of Greece's finances... I think that the computing industry is, in general, well poised to take advantage of that. For instance, what could be easier to export than computing power or "Software as a Service"? All it takes is a few minutes for someone in Europe to sign up to a US-based service with a credit card. For instance, compare Linode's prices and good service with most of their European competitors (gandi.net for instance, who are good people, and you have to love that they put "no bullshit" right on their front page). Not that they don't have good service in Europe, but it's very difficult to compete on price with the dollar being significantly cheaper. With the dollar where it is right now, gandi is almost, but not quite, competitive with Linode. If you don't include taxes. If the dollar weakens again, though, things could easily tilt far in Linode's favor. Besides a weak dollar, I think it will be important for companies in a position to do so in the US to focus on "the rest of the world". The US is a big, populous country where it's very easy to forget about far-off lands. Compare my home town of Eugene, Oregon to where I live in Padova. Google Maps says that it takes 7+ hours to drive to Vancouver, Canada (which, to tell the truth, isn't all that foreign in that they speak English with an accent much closer to mine than say, Alabama or Maine). Going south, Google says it's 15+ hours just to San Diego, although I think that's optimistic myself, given traffic in California. From Padova, I can be in France in 5 hours, according to Google, 3 hours to Switzerland, 4 to Innsbruck, in Austria, less than 3 hours to the capital of Slovenia, Ljubljana, and around 3 hours to Croatia, too. And if you wanted to throw in another country, the Republic of San Marino is also less than 3 hours away, according to Google's driving time estimates. You could probably live your entire life in a place like Eugene and never really deal much with foreigners, whereas here, nearby borders are both a historic and an ever-present fact. The outcome of this is that, to some degree, people in the US have traditionally focused their businesses "inwards" until they got to a certain size. Which is, of course, a natural thing to do when you have such a big, homogenous market to deal with before you even start thinking about foreign languages, different laws, exchange rates and all the hassle those things entail. However, if exchange rates hold steady or favor the US further, and internal spending remains weaker, it appears as if it may be sensible for companies to invest some time and energy to attract clients in "the rest of the world". "Cloud" (anyone got a better term? this one's awfully vague, but I want to encompass both "computing power" like Linode or Amazon's EC2, as well as "software as a service") companies likely will have a much easier time of things: for many services, it's easy to just keep running things in the US for a while, and worry about having physical or legal infrastructure abroad later. Your service might not be quite as snappy as it may be with a local server, but it'll do, if it performs a useful function. Compare that with a more traditional business where you might have to do something like open a factory abroad, or at the very least figure out the details of how to ship physical products abroad and sell them, and do so in a way that you're somewhat insured against the large array of things that could go wrong between sending your products on their merry way, and someone buying them in Oslo, Lisbon or Prague. Since this barrier to entry is lower, it makes more sense to climb over it earlier on. As an example, Linode recently did a deal to provide VPS services from a London data center, to make their service more attractive to European customers. However, they still don't appear have marketing materials translated into various languages, and presumably they don't have support staff capable of speaking languages like Chinese, German or Russian either (well, at least not in an official capacity). This isn't to pick on them; they may have considered those things and found them too much of an expense/distraction/hassle for the time being - they certainly know their business better than I do - and that they simply are content to make do with English. Other businesses, however, may decide that a local touch is important to attracting clients. What do you need to look at to make your service more attractive to people in other countries? In no particular order:

There's certainly no lack of work there, but on the other hand, it's possible to do almost all of it from wherever you happen to be located, rather than spending lots of money and time flying around to remote corners of the globe, as is still common practice in many industries.

Bdale Garbee: TeleMetrum v1.0 Boards Arrive

The first production run of TeleMetrum boards arrived from our assembler today, and overall things are looking good! Unfortunately, I specified the wrong value for a capacitor associated with the new and improved 150mA 3.3 volt regulator. The resulting symptom was interesting to debug... everything seemed to be fine except that the GPS chip wouldn't talk to us. After some investigation, it became clear that the 3.3 volt power supply was taking much longer to stabilize than it should... long enough that the power-on reset circuit was relaxing before the supply was stable! The cc1111 apparently handles this just fine, but the GPS chip doesn't. Since the new cap is optional, just removing it caused everything on the first test board to start working! The ultimate solution will probably be to both replace the new bypass capacitor with one of the correct value, and to swap out the cap in the reset circuit for a somewhat larger value to ensure we have plenty of margin in the reset circuit. I now have 4 of the new boards completed, turned on, and passing initial tests. Hopefully tomorrow I'll be able to wrap up the rest of the required functional testing. I then need to focus my attention on a business trip all of next week... but if all keeps going well, we're very close to taking our first orders. Stay tuned!

Gustavo Noronha Silva: Designing from the bottom up

Have you ever seen, while dealing in a support channel with a novice that just got in touch with the power of UNIX a conversation that goes like this?:
<novice> How can I process the output of a command, so that any number of spaces gets turned into a newline?
<seasoned> What are you trying to do?
<novice> I want to list the contents of a directory, but I want one per line.
<seasoned> ls -1
I have seen this numerous times, even as one of the actors. At times I was the novice, and many times in #debian-br I was the seasoned person trying to get the novice to focus on the problem they were trying to solve, not on the solution they thought was right. While reading M ir n Duffy s awesome paper about contributing to Free Software as a designer I couldn t help but get that image brought to my memory again, and again. Specially when I read this part:
This means the language and even the approach FLOSS projects take to solving problems tend to be focused on implementation and technology rather than starting with a real-life user problem to solve and determining appropriate implementation afterwards.
That does sound like us, and it does sound like many of the solutions we come up with. While I was reading her paper, there was a reference I got very interested in checking. It s a PDF with no links in it, so I only had the number of the reference. What I would have to do is I would have to scroll to the end of the paper, and find the reference, then somehow come back to the place I was looking at. My most immediate thought was you know, maybe evince should have tabs . Why? Because I could open a new tab, go to the place the reference was at, and to go back I just needed to close the new tab. Other options require much more effort - remembering the page I was at, or maybe the scroll offset more or less, and scan for the part of the text I was at. But those are not the only options! I could have the application set a marker on where I am, and have an easy command to go back to that marker, for instance, or evince could provide a way of looking ahead without throwing away the current state at all. I m pretty sure if I look around enough I will find tools that solve this problem in a fairly good way. Now, I think that is exactly how we ended up with tabs in so many places they do not make sense in, and with so many ad-hoc solutions that solve our problems in half-assed ways. Even in browsers, we tend to use tabs as ad-hoc solutions to real problems we have no real solution to handle yet, such as I want to check this other thing out real quick, but I do not want to lose any state of this page , or I want to check this out, but not right now, so let me open it, and then I ll come back to it , or maybe even I want to look at this now, but since it is going to take a while to load, I might as well let it load in the background, and when I finish reading this I can go look at it . These are the real problems we have, and I think we need better designs that solve them for real, instead of just patching them with the ad-hoc solution that tabs are. The other extreme of the spectrum is, of course, not doing something, or even anything for lack of the perfect solution. Using this is not a real solution as an excuse to not implement something that could serve as a temporary solution to a problem may cause more frustration than having to deal with the ad-hoc solution that is tested, and being applied to other applications for some time. After all, in many cases the ad-hoc solution can be later replaced with a proper one. I guess this is another instance of the very difficult problem of balancing different realities: proper design is not always available to start something up, specially if the application is backed by individuals and not by a company or a bigger project that could bring in designers to work on it from the start. In this case having something up and running is usually a very important first step in a free software project - usually required to get enough interest to make it worth designing for.

Uwe Hermann: coreboot / flashrom in GSOC 2010 -- student application deadline today!

GSoC 2010 logo As you may know there's a Google Summer of Code program again this year. The deadline for student applications is April 9th at 19:00 UTC, so if you're a student and you want to work on a coreboot (open-source BIOS / PC firmware) or flashrom (open-source BIOS chip flasher) project, please apply in time. The following coreboot/flashrom GSOC project ideas have been proposed so far (but you can also suggest your own ideas, of course): See this wiki page for why and how to apply for a coreboot/flashrom project.

C.J. Adams-Collier: Getting started with gtk

This is a quick tutorial for getting a first gtk-sharp app up and going. Install MonoDevelop
$ sudo apt-get install monodevelop libgtk2.0-cil-dev
Start MonoDevelop It ll be in your GNOME application menu under Applications->Programming->MonoDevelop Create a new Gtk# Project
Create New Project

Create New Project

Select Gtk# 2.0 Project

Select Gtk# 2.0 Project

Select Project Features

Select Project Features

Hello World

Hello World

Run project You can run this boilerplate by pressing Ctrl-F5 Using the Designer Double-click on the file named MainWindow.cs in the Solution section. When the file opens, click the Designer button below the code view.
The Designer

The Designer

The Toolbox To add the Toolbox, press Alt-Shift-B or click View->Toolbox. Drag a VBox widget from the Toolbox to the main window.
Add VBox

Add VBox

Drop a Menu Bar widget into the top cell of the VBox, and a Statusbar into the bottom.
Insert Menu and Status Bar

Insert Menu and Status Bar

Properties grid Drop a Button widget into the middle cell of the VBox.
Add the Properties grid from the View menu (Alt+Shift+P or View->Properties).
Select the new button by clicking on it.
In the Properties grid, expand the Button Properties section and click the value of the Label field. Delete the default content and replace it with a different string.
Button with new Label

Button with new Label

Adding a Click handler Select the button in the Designer view
In the Property grid, select the Signals tab
Click twice on the text in the column to the right of the Clicked and replace Click here to add a new handler with MyButtonClickHandler
Add a click handler

Add a click handler

Click on the Source Code button below the viewer window to switch to the C code. You can use the find tool to search for the new handler you created, called MyButtonClickHandler. Ctrl-F will bring up the find dialogue.
Browse to click handler

Browse to click handler

Add some code to update the status bar.
	protected virtual void MyButtonClickHandler (object sender, System.EventArgs e)
	 
		var contextId = this.statusbar1.GetContextId("clicked");
		this.statusbar1.Push(contextId, "Clicky-Clicky" );
	 
Click handler code

Click handler code

Modify button layout The size of the running window is a little weird. I fixed mine by un-setting the Auto Size boolean and setting the Expand and Fill in the Box Child Layout section of the Properties grid.
Button layout changes

Button layout changes

Exercise button click handler Run your application with Ctrl-F5 and click on the button. You should see the new string show up in the status bar at the bottom left of the window.
Not yet clicked

Not yet clicked

Clicked + Status update

Clicked + Status update

Add Menu items
Create File Menu Entry

Create File Menu Entry

Create File->Quit Menu Item

Create File->Quit Menu Item

Add Quit event handler

Add Quit event handler

Add Clear Statusbar Activate Handler

Add Clear Statusbar Activate Handler

8 April 2010

Stefano Zacchiroli: RC bugs of the week - issue 26

RCBW - #26 RC bug count: 666 It is getting down, even though the current number is scary. My personal RC bug count is not so mystical and as low as 205 RC bugs to go, which is quite encouraging. Without any further ado, here are this week squashes: Random points:

Next.

Previous.