Ph: 3932160512

Random notes from mg

a blog by Marius Gedminas

Marius is a Python hacker. He works for Programmers of Vilnius, a small Python/Zope 3 startup. He has a personal home page at http://gedmin.as. His email is marius@gedmin.as. He does not like spam, but is not afraid of it.

Wed, 12 Oct 2011

N9 Hackathon in Vienna

Last weekend I attended the N9 Hackathon in Vienna. Nokia kindly sponsored all food and accommodation costs and, at the very end, surprised me with an entirely unexpected gift of a N9 phone.

Vienna: great transportation system, delicious food (either that, or I was always extremely hungry when I ate), huge portions, restaurants open until midnight. Shame I didn't have time to see the city itself.

The N9 is a gorgeous phone; much more so in real life than in pictures.

After some hassle upgrading the Qt SDK (the provided upgrade tool managed to somehow remove the Qt Creator IDE while purporting to upgrade it; I had to reinstall the entire SDK) and flashing my N950 with Beta 2 firmware (Qt SDK 1.1.3 produces apps incompatible with the old Beta 1 firmware of the N950) I started prototyping a time tracking application in QML, while learning QML and the N9 design guidelines at the same time.

Converting the pretty pictures into QML was harder than I expected, but at the end of the second day I had something that looked like a native N9 application.

screenshot of the prototype

Most useful reference pages were:

The QML syntax introduction (which felt incomplete, but was almost adequate in the end). The list of Harmattan-specific QML components. The list of standard QML components. The UI building blocks pages mentioned above (pretty pictures! pretty colours! I like shiny things!). Harmattan Qt Components User Interface Guidelines: pixel and font sizes of the standard UI elements. (Ignore the "import UIConstants.js" red herrings; it's an internal thing apparently, and you can't use it directly from your 3rd-party apps. Unless you find and copy UIConstants.js into your project, after figuring out if the licence allows it, which seemed too much of a hassle for me to even start. So I hardcoded all the numbers directly, like a bad programmer who doesn't know about constants.) The TutorialApplication sample, finding the sources of which was unexpectedly difficult -- a straight git clone of the qt-components repository gives you something too recent to run with the older qt-components version on the N9. I ended up using apt-get source qt-components in Scratchbox to download the source tarball of version 1.0~git20110525-1+0m6. Look in qt-components/examples/meego/.

Finally, workflow. QML is parsed at run time (application startup time, unless you delay the loading), which means no recompilation ought to be required to make changes, which means short development feedback cycles ought to be possible. So I was not happy about having to wait several seconds after hitting Run in Qt Creator, while it built a .deb, copied it to the device over wifi or USB networking, installed and ran it there. Deploying to the Qt Simulator is quicker, but not as much as I think it ought to be. Plus, the Qt Simulator apparently cannot simulate the landscape mode of the N9, and it lies about the default font size of QML Text elements (if you do not specify a pixelSize, text elements will look all right in the simulator, but ridiculously tiny on the N9).

In the end I cobbled up a shell script that rsyncs my updated QML files to the device and runs a short Python script (over ssh) to launch them. You need rsync and PySide installed on the device for this, obviously, as well as having SSH set up for passwordless logins. As a bonus, I can now do QML development during lunch, directly on the device, with vim, enjoying proper syntax highlighting. :)

Oh, and my code is up on Github.

Fri, 29 Jul 2011

Porting FBReader to Meego 1.2 Harmattan

Andrew Olmsted built the first FBReader packages for Harmattan, after tweaking the build system a bit. The desktop version of FBReader already used Qt 4, and ran almost unmodified, but with some bugs (segfault on task switch) and ugly UI.

I started with the Ubuntu packages for FBReader, since they used a more sane build system for .debs (compared to upstream's funky shell script). Some tweaks were needed to make it build in Scratchbox: since GTK+ and Hildon libraries aren't available on Harmattan, I had to disable the building of -gtk and -maemo versions of libzlui. I also got to learn a new tool — quilt.

Fixing the segfault took a couple of days of debugging, studying the source code of both FBReader and Qt itself, and asking for help on IRC. Turns out FBReader was holding an active QPainter instance for too long, and its backing pixmap got destroyed (or, rather, converted from an OpenGL texture to a plain X11 pixmap) during a task switch, causing the crash. I'm probably describing this wrong BTW, but, in any case, adding QPainter::begin() and QPainter::end() calls in the paintEvent handler fixed the segfault.

Next, a small tweak in the .desktop file to make FBReader a single-instance application: change Exec=FBReader to Exec=single-instance /usr/bin/FBReader (I'm paraphrasing slightly).

Then, a more ambitious goal: making FBReader intercept volume keys and use them for scrolling. Google gave me a pointer to QmKeys, which was the wrong API to use here, but gave me a lead to qmkeyd2, which appears to be an open source daemon, which gave me a lead to sysuid, another open source daemon, which in turn gave me a lead to libresourceqt, and that was the right API at last.

Volume keys generate regular key events for XF86AudioRaiseVolume and XF86AudioLowerVolume, but they're also intercepted by qmkeyd2, which tells all subscribers (and sysuid is one) about them. Which subscriber gets to react is determined by the resource policy framework. So what I needed to do in FBReader was acquire the ScaleButtonResource when FBReader starts up or gets focus, and release it when FBReader quits or goes into background. That also required some IRC help until I discovered installEventFilter() and the ApplicationActivate/ApplicationDeactivate events. And QApplication::instance().

The various tools available in the developer firmware were invaluable: openssh, gdb, valgrind, strace, xev, xprop, lsof, netstat. Also, I would not have achieved my second goal without being able to look at the sources of Meego system components (qmkeyd, sysuid). Yay open source!

Here are my changes to the source code. You can find my modified Debian packaging files, as well as prebuilt binary packages (with full debug info, for gdb goodness), in my experimental harmattan apt repository. The UI is still ugly and non-native, but it doesn't matter much in fullscreen mode :) .

Note to self: when next building fbreader, make sure the 2 megabyte tags file doesn't end up in the .diff.gz. And speaking of crud in source packages, the vim package I built for Harmattan the other day contains the entire 50 meg .hg in the .orig.tar.gz. I need to figure out how to tell dh_make to omit it.

Tue, 19 Jul 2011

Nokia N950

Last Thursday I received a package containing something called the Nokia N950 development kit. Sweet sweet hardware, shame it's not going to be sold to end users. The software is visibly an unfinished pre-release version, but shows great potential. There are almost no 3rd-party apps, which is why Nokia is loaning these N950s to random developers.

I intend to port GTimeLog to it. Although my more immediate need is to have FBReader, so that I can stop carrying both this one and my N900 with me everywhere. Also, vim would be nice.

I've already hacked up Lithuanian support to the virtual and hardware keyboards, thanks to the very nice design of Maliit. As a comparison, I've had my N900 for a year and a half, and I still can't type Lithuanian on it. XKB is not fun.

Wed, 21 Jul 2010

N900 connection sharing the hard way

My N900 has a SIM card with a flat-rate 3G data plan. My laptop hasn't. What do I do when I want to use the Internet on my laptop somewhere that doesn't have WiFi? Well, there are many options:

Option 1: N900 as a USB modem

Use the provided USB cable to connect the N900 to the laptop. Choose "PC Suite" mode on the N900 when you get the USB connection menu. The laptop now sees your N900 as a bog-standard USB 3G modem. Use Network Manager to connect to the internet.

Pros: no extra setup required. The N900 and the laptop can both access the Internet at the same time.

Cons: you have to use a USB cable (I hate cables). You cannot ssh into your N900 (and ssh is my primary file transfer protocol between the laptop and the M900).

Option 2: N900 as a Bluetooth DUN modem

Install Bluetooth DUN support from Maemo Extras. Then use it like you would any other phone that has Bluetooth DUN.

Pros: no cables.

Cons: Bluetooth is the worst technology ever. I never had it work reliably. Plus, Network Manager in Ubuntu 10.04 doesn't support Bluetooth DUN (it supports only Bluetooth PAN, as far as I know).

Option 3: N900 as a WiFi access point with Joikuspot

I haven't tried this.

Pros: simple (hopefully), no cables required.

Cons: Joikuspot is non-free. I'm not an absolute zealot, but I will avoid closed-source stuff when open-source alternatives are available.

Option 4: N900 as a WiFi access point with Mobilehotspot

I haven't tried this either.

Pros: it's an open-source app available from Maemo Extras. No cables required.

Cons: requires a non-standard kernel (or so I've heard). Way outside my comfort level.

Option 5: N900 as a WiFi access point with shell scripts

Here's the shell script I run on my N900: share-wifi. It sets up an ad-hoc WiFi network, and starts a DHCP and DNS server (dnsmasq). Sadly, it cannot set up connection sharing (NAT), so I rely on OpenSSH as a SOCKS5 proxy. The whole setup is like this:

You want the latest firmware (PR 1.2) to avoid this bug. You need to have OpenSSH installed on the N900. Also, setting up key-based authentication makes it more convenient. The script assumes that you've set up sudo on the N900 so that you can run any command as root. You need to have wireless-tools installed. It's in the main SSU repository so you should be able to sudo apt-get install it (if it's not preinstalled; I don't remember). On the N900 run share-wifi in a terminal (optionally passing a WiFi channel number from 1 to 11, in case you need to avoid interference with nearby networks). On the laptop connect to the new n900 WLAN and run ssh -D 1080 user@n900. You will get a shell session; the SOCKS proxy will be active while it is open. Reconfigure your laptop to use a SOCKS5 proxy on localhost:1080. For GNOME systems I've a couple of shell scripts: proxy-on and proxy-off. For applications that do not use the GNOME proxy settings (such as Subversion access over SSH), use tsocks. When done, hit Ctrl-C on the N900 to terminate the sharing script.

Pros: no non-free software or custom kernel required. No cables.

Cons: complicated to set up. No WLAN power savings available for ad-hoc networks, so battery life is extremely poor (~2 hours). But, hey, no cables!

Wed, 03 Mar 2010

Oopsie

Sorry for flooding Planet Maemo -- it was a side effect of changing this feed's URL to only include posts tagged "maemo". I'm not sure if the fault is PyBlosxom's or the aggregator's

As a penance, here's a Terminal trick for you:

LABELS='[Tab,Esc,Enter,PgUp,PgDn,F2,VKB]'
KEYS='[Tab,Escape,KP_Enter,Page_Up,Page_Down,F2,Return]'
gconftool -s /apps/osso/xterm/key_labels --type list --list-type string "$LABELS"
gconftool -s /apps/osso/xterm/keys --type list --list-type string "$KEYS"

This changes the toolbar to have three extra keys (Enter, F2, and a key that acts like Enter when the hardware keyboard is open, and opens the virtual keyboard if the hardware keyboard is closed).

Update: added screenshot:

N900 Terminal with new toolbar buttons
Nokia N900 Terminal app with new toolbar buttons

Mon, 12 Oct 2009

Maemo Summit 2009

The second Maemo Summit is over.

Nokia surprised everyone on the first day by handing out 300 pre-release N900s to the participants. I'm so happy now that after a long period of wavering I finally decided to come to the summit! The device is much better than I expected/feared (and I haven't even put a SIM card in yet). We're supposed to provide feedback and will have to send the devices back to Nokia in 6 months. (Nokia insisted on loan contracts signed in blood, kidding, but there are contracts.)

The tiny pixels are beautiful. It's what, 266 pixels per inch? Even older 225 dpi devices spoiled me: both the first generation iPhone and the first generation Kindle displays seemed very coarse and pixellated.

The user interface is very smooth. Having a composition manager improves apparent responsiveness: even if the app is swapped out and not ready to redraw, switching between windows appears to be instant since the picture is cached. And there's no flicker while the apps are redrawing. (Flickering during redraw is one of the main reasons I did not buy a S60 phone and stayed with good old S40.) Speaking of swapping, it's barely noticeable. You can run more apps than fit in RAM without having to suffer. The flash memory is noticeably faster than in a N810. And there's more of it (32 gigs: 28 gig partition for user data, the rest for the system: swap, applications, config files, etc.)

The design and usability of the user interface have improved a lot since the N810. The UI is pretty. Many of the apps are now convenient to use. Pervasive kinetic scrolling is sweet (except when you have really long lists or web pages, then it takes forever to reach the end).

Finally there are PIM-y things people missed in older Maemo releases: calendaring, contacts that can record all kinds of information (such as phone numbers).

All right, enough gushing. There were some irritating things too. For example, Bluetooth support is buggy/incomplete in the pre-release firmware, so it's hard to transfer files. Calendar/contacts sync with S40 phones does not work either. GPS is utterly useless when you're offline (no maps, or at least I haven't found a way to pre-download and cache them; also very long fix times without network assistance). Since I have no desire to pay extortionist roaming charges of my provider (2.5 EUR per megabyte), and haven't had a chance to go look for a prepaid SIM card, I usually have either WiFi or GPS coverage, but not both.

As you can guess, playing the device diverted a part of my attention from the presentations somewhat. I tried to compensate for that by reporting on the talks on IRC (using xchat on the device). I think the strategy backfired; IRC is rather disruptive and the channel is quite busy lately.

Fri, 20 Mar 2009

Tying out Fennec Beta 1

Fennec, the mobile version of Firefox, released a new version (beta 1) for the Nokia N8x0 Internet Tablets recently. Here are my first impressions after about 15 minutes of use:

It supports the virtual on-screen keyboard now, so would be actually usable on the N800. Panning the page is very fast! Unfortunately, opening pages is very slow. It eats a lot of memory rather quickly and bogs down when the system starts swapping. The user interface is going to be awesome, once the speed and memory problems are fixed. Going back in history is cumbersome when you have to pan to the side of the page. The hardware back button doesn't seem to work. It has a nice large icon, but there's no small version, and this makes the application organizer in the control panel look weird.

JFFS2, which is the file system used for internal flash memory on NITs, compresses all data, which makes free space comparisons weird. I had 5 megs free, freed up 20 more, then installed Fennec (which, the Aplication Manager assured me, required 10 megs) and ended up with 5 megs free.

I'd include a screenshot, but ad-hoc wifi doesn't work between my Thinkpad and my N810 for some reason.

Thu, 05 Feb 2009

E-books are the future

John Siracusa talks sense about e-books (via Charlie Stross):

Did you ride a horse to work today? I didn't. I'm sure plenty of people swore they would never ride in or operate a "horseless carriage"—and they never did! And then they died.

I like the bit about dedicated e-book reader devices missing the point. I'm a huge e-book fan (reading them almost exclusively since about 2002 on various handheld devices), but even I cannot justify to myself buying a bulky one-purpose piece of electronics for $lots for the sole purpose of reading books. Get something universal, like a Nokia N810 or (if you hate freedom) an iPhone. And stay away from DRM-ed stuff.

Mon, 13 Oct 2008

N810: death and rebirth

My beloved N810 died last Tuesday. Well, not died died, but the screen stopped working. The topmost plastic layer is fine, but the LCD is probably cracked underneath. This probably happened while I was in an Apple store watching a friend of mine buy an iPhone. Coincidence?

I ordered a new one from Amazon that evening, and it arrived on Thursday. It had the oldest possible OS2008 version (and an incorrectly-formatted internal flash card), so I had to reflash it, and then install the OS feature updates one at a time, with forced a reboot in between. Untimely breakage of extras-devel didn't help either, and neither did the broken maemo-mapper package in extras. (Both are fixed now.)

Almost all of my data was on the miniSD card (including a week-old backup). To get the rest I had to blindly get the old N810 online and open a browser page (measuring distances from the corner of the screen) to get past the hotel wireless nag screen, and then guess its IP address, so that I could ssh in.

It thought maybe I could use arping on its MAC address to get the IP, but had no luck there. It didn't respond to broadcast pings either. Finally I had to ping every IP in my subnet individually and then grep for the MAC address in my kernel's ARP cache. Oh, how I wish Maemo came with avahi-daemon preinstalled! ssh mg-n810.local would have been so much simpler!

I'll try to get the old one repaired.

Update: thp describes how to get avahi-daemon on the tablet.

Update 2: the old N810 is repaired (screen replacement cost me 510 LTL, which is ~200 USD, at the local Nokia service center). It now serves as an Internet Radio station at home.

Sat, 20 Sep 2008

Users and Developers

One recurring theme that I noticed during the Maemo Summit was people apologising for not being developers. A running joke during some of the talks on the first day was people describing themselves as disabled because they were not, themselves, developers.

That's just wrong. Users should not be ashamed for being users!

I'm a developer, but I often want to be just a user. I want software to just work. I wish there was no need for bug trackers. I wish users did not need to know about source packages or patches. I want to hack because I want to, not because I need to.

Until that becomes reality (if ever), I prefer the ability to make use of my developer experience to make things better. Hence my enthusiasm for open source, bug trackers, source packages and patches.

Maemo Summit 2008

Nokia kindly sponsored my trip to Maemo Summit in Berlin.

Unexpectedly was asked to give my LinuxTag presentation during the lightning talks. It did not go very well. Note to self: advance preparation helps, at least if you know you're going to present something.

Met PyPy folks (Maciej and Holger). Had a mutual "what on Earth are you doing here?" reaction. Learned a new quirk in the Python language (try: ... finally: does not set sys.exc_info()).

Impressed by one guy (sorry, but I'm really bad with names) giving a presentation from the N810, with OpenOffice.org Impress in a Debian chroot, over a SIS USB2VGA dongle. Apparently he created the whole setup in half an hour before the actual talk.

No free wireless at the hotel. Paid wifi options include 25 EUR for 24 hours or 30 EUR for 30 days. Can I have just the 29 days for the 5 EUR? No.

The WiFi at c-base was fast and almost flawless. Missed half of the talks while checking my email and blogs. I'm addicted to the Internet. :(

Still able to get up before 6 AM. The US trip has done wonders with my daily schedule.

Sat, 21 Jun 2008

Asus EeePC 900

I unexpectedly acquired an Asus EeePC 900 last weekend. Lovely piece of hardware.

The Xandros distro was okay at first (IceWM brought me fond memories of the year 2000, when I used it). Then I started longing for Firefox 3 and the aesthetics of GNOME applications. Finally, when apt-cache search told me there was no SSH server package available, I gave up and installed Ubuntu Eee from a SD card. The software selection is incomparable (Asus/Xandros: 870 packages available, according to apt-cache stats. Ubuntu: over 30,000 packages.) Also, yay rotating cube desktop!

Things I like about the Eee:

Small! Lightweight! Beautiful white colour! Small pixels are pretty! 1024x600 at 8.9" is 133 dpi. Not quite the 225 dpi of a Nokia N810, but nicer than the 100 dpi of my T61W or the 85 dpi of my 19" external LCD. The keyboard is much better than I expected. I hate those laptops that squeeze Home/End/PgUp/PgDn in an extra column on the right. Asus didn't. Web browsing is much more pleasant than on a N810. It's faster for AJAXy sites such as Google Reader. Also, Firefox 3. Video watching is much more pleasant than on a N810: no need to convert anything.

Things that are bad:

It gets hot. Either the hardware is not power-efficient, or the software isn't doing a good job. Only 2 hours of battery life (plus an extra 40 minute safety warning with the blinking red battery low light). This is during normal usage (WiFi on, Compiz, Firefox, no CPU-intensive Flash plugins). No integrated Bluetooth. Therefore you have to lug a dongle around if you want to use GPRS/EDGE/3G when there are no WiFi access points around. I hate dongles. Doesn't come with Ubuntu preinstalled. Not all hardware works in Ubuntu:
Even after using the Eee version of Ubuntu I had to manually tweak config files and compile kernel modules to get volume hot keys working. No webcam or mic for me, though others report those working. Touchpad is not configurable and doesn't do wheel emulation on the right edge, although most other gestures work. Sound needs a module reload after suspend/resume, which causes an irritating error dialog from the volume control applet). Video playback sometimes shows a blank black screen until you move a window to overlap part of the picture. Firefox scrolling/redrawing under Compiz is noticeably slow sometimes (I don't know if it's because I enabled CPU frequency scaling, or if this is a problem with the Intel graphics driver problem.). When I unplug a Bluetooth USB dongle, a btdelconn process starts eating 100% CPU time in the kernel and cannot be killed. Did I mention my hate for dongles?

My workhorse, a 14" Lenovo T61W, now seems huge by comparison:

Nokia N810 on top of Asus EeePC 900 on top of Lenovo ThinkPad T61W

I'm not going to stop using my N810 (which fits in a pocket, has a much longer battery life, and is more convenient for e-books or NumptyPhysics). I'll stop lugging my T61W around instead and start leaving it at work. The EeePC is an almost-perfect travelling laptop.

The upcoming Asus EeePC 901 is going to fix the lack of internal Bluetooth and the battery life. I wonder when it will become available in Lithuania. (The 900 is displayed in almost every electronics shop here. Yay Asus. Boo Nokia for not doing this with its Internet Tablets.)

Fri, 13 Jun 2008

Out of touch with reality

I used Windows at work until January 2002, when I changed jobs and went to Linux full-time. I barely remember what life was back then. Driver CDs you had to install before plugging in new hardware, shareware apps that you had to pay for and couldn't see how they worked, web pages full of blinking advertisements. Magic voodoo rituals you had to do to fix your IS when it broke down, that you had to do by rote without full understanding of how it all fit together.

These days I run Ubuntu. Hardware just works (or doesn't). Apps are an apt-get install away. Web pages I read mostly end in .org and rarely have obnoxious ads. The system breaks rather more often than I'd like, but at least there are no artificial obstacles in the way of debugging. Download the sources, recompile with debug symbols, go.

I am a programmer, and I've been one for many years now. I found something that works for me, and I'm mostly happy. I do not want to tell you how you should live your life, or what OS you should use on your laptop.

Recently I was hit on the head with the understanding that my point of view is somewhat atypical. As a programmer and a long-time Linux power user I have the skills and knowledge to download sources of applications, apply patches, and build packages. I don't view these tasks as development, because I'm not creating anything new. I'm just using the fruits of others' labour a bit earlier than I would have if I'd just waited for the next Ubuntu version to bring me the updated package in 6 months.

I want to apologize to timeless for expressing myself badly. I did not mean to complain or demand anything. I wanted to encourage transparency by disagreeing with a previous claim (which was that marking bugs as fixed was useless unless the developers provided updated packages for the current distro or released the next distro ASAP). But then I couldn't resist adding a poorly-written postscript and got the opposite reaction: timeless quoted my words as an example of How can people discourage transparency:

Personally, I'm disappointed that when a bug is closed as "fixed in diablo", as a user I've no idea how to get the updated package on my N810. I've got scratchbox handy, just point me at the new source package and I'll backport it -- but repository.maemo.org has no 'diablo' in dists/.

This is what I'm used to, with Ubuntu, and open-source software in general. When a bug is fixed, I get a choice: wait for the updated package, or dig out the fix from the publicly available version control system.

It's what I'd like to have, but not something that I demand of Nokia (or its employees). I do not think I have the right to demand it from anyone.

I should finally learn to think more and write less.

Sun, 01 Jun 2008

LinuxTag 2008, day 4

The last day. Saw a bunch of interesting talks about freedesktop.org, Ekiga, GNOME and Ubuntu. Jono Bacon's talk was very interesting. I think if Nokia is interested in building a healthy developer community, they would do well to talk to Jono about it.

Got a USB gender-bender from Kees Jongenburger -- now I can plug in USB devices to my N810, provided that they don't require too much power (extra software required: usbcontrol from Maemo Extras). I owe you one Kees!

Discovered that the GNOME booth does in fact have T-shirts for sale, they're just not out on display like in other booths. Sadly, since I discovered that during the last hour of the last day of the conference, only extra large T-shirts were left. Spent my last 10 EUR in cash on the T-shirt anyway. ;-)

Met MaryBeth Panagos from OpenMediaNow, learned about interesting happenings with Gnash, open media codecs and Ubuntu Mobile. Raised my hopes for a brighter future. Showed off my N810 and expressed my hopes for Gnash replacing the closed Adobe Flash player on it. It won't happen any time soon -- everyone wants it now!, but there are few developers actually working on it.

Went to a very geeky cafe/computer club c-base for the Ubuntu BBQ. Almost didn't find the place, but one of the LinuxTag guys happened to be going back at just the right moment to show me the path hidden behind the bushes.

Feeling content now. Well, missing free (or at least paid, but working -- boo, Swisscom, boo!) WiFi at the hotel, but other than that I've had a wonderful time.

Sat, 31 May 2008

LinuxTag 2008, day 3

After getting my presentation out of the way, I was finally able to relax and really enjoy LinuxTag. I hadn't realised quite how stressed I was about the talk. I'm really happy now that I agreed to come.

Watched an amazing demo in the LinuxMCE booth. I always though it was some kind of a media center app for watching movies, but it turns out to be a complete home automation system where you can control the lights, security cameras and, of course, multimedia, with a large variety of devices (remote controls, mobile phones, VoIP hardware phones, Nokia Internet tablets). Still, I'd have to get a house first.

After the conference I went out for a beer (or, rather, a cup of Earl Grey) in the city with Gary "lcuk" Birkett and Malgorzata Ciesielska, who is doing her PhD on Nokia/Maemo community organisation/collaboration. Had a really nice evening.

Fri, 30 May 2008

LinuxTag 2008, day 2

The day just flew by. We had all the Maemo community talks. Some people have asked me to put my LinuxTag presentation online, so here it is: What do I want from Maemo?.

In the evening we went to a nice outdoors cafe in a large and beautiful park (Tiergaten) and talked about various things until 1 AM.

My email is piling up, and Google Reader is overflowing.

Wed, 28 May 2008

LinuxTag 2008

Nokia kindly invited me to speak about Maemo at LinuxTag 2008.

WiFi is a bit problematic here. At the hotel there's no free wifi, you can buy some kind of access from Swisscom at silly prices (8 EUR for 1 hour, with a 100 MB download limit) with silly limitations, and besides my laptop refuses to associate with the AP and doesn't even get to the login page.

WiFi works at LinuxTag itself (at least in the conference rooms; the expo hall was spotty), but you have to visit a pointless and slow web page and press a button labeled 'Go' before they let you ssh around. I fail to see the point, but at least I can get my email now.

Everyone is very nice here. I only attended one talk by now (Cristoph Hellwig's interesting talk about xfs), but I hardly saw any open laptops in the audience.

The Berlin public transport system is not difficult to figure out. The N810's built-in GPS is not useful in practice. I got a fix exactly once after standing for about 10 minutes outside of the hotel. Maemo Mapper is useful for figuring out your actual location on the map, as you're listening to station names on the bus.

Met some people (hi, Dave!). My memory for names is still atrocious. My bad eyesight doesn't let me read badges easily, either. By the way, if you're designing badges that will hang from a lanyard, please print them with the same text on both sides.

Fri, 21 Mar 2008

Happiness is...

... not having a headache.

In other news, my Nokia N810 Internet Tablet finally arrived. It looks better in real life than in pictures.

Strange quirk: the 2 gigs of extra internal flash memory (formatted as FAT32) are mostly unused (according to df) while at the same time being three quarters full (according to du):

/media/mmc2 $ df -h .
Filesystem                Size      Used Available Use% Mounted on
/dev/mmcblk0p1            1.9G      8.0k      1.9G   0% /media/mmc2
/media/mmc2 $ du -sh .
1.5G    .

Ouch. Time to run fsck.vfat on it. Or perhaps just reformat, to avoid the other famous bug (attempt to access beyond end of device), which, let me check, yes, I also see:

p1 exceeds device capacity
[584959.884000] sd 3:0:0:0: [sdb] Attached SCSI removable disk
[584959.884000] sd 3:0:0:0: Attached scsi generic sg2 type 0
[584959.884000] sd 3:0:0:1: [sdc] Attached SCSI removable disk
[584959.884000] sd 3:0:0:1: Attached scsi generic sg3 type 0
[584960.240000] attempt to access beyond end of device
[584960.240000] sdb: rw=0, want=4013848, limit=3932160
[584960.240000] Buffer I/O error on device sdb1, logical block 501728

[584959.868000] usb-storage: device scan complete
[584959.868000] scsi 3:0:0:0: Direct-Access     Nokia    N810              031 PQ: 0 ANSI: 2
[584959.868000] scsi 3:0:0:1: Direct-Access     Nokia    N810              031 PQ: 0 ANSI: 2
[584959.872000] sd 3:0:0:0: [sdb] 3932160 512-byte hardware sectors (2013 MB)
[584959.872000] sd 3:0:0:0: [sdb] Write Protect is off
[584959.872000] sd 3:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[584959.872000] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[584959.872000] sd 3:0:0:0: [sdb] 3932160 512-byte hardware sectors (2013 MB)
[584959.876000] sd 3:0:0:0: [sdb] Write Protect is off
[584959.876000] sd 3:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[584959.876000] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[584959.876000]  sdb: sdb1
[584959.880000]  sdb: 

It would be interesting to know how this came to be. Do some N810s have more internal memory than others? Or was the filesystem image made too big for all of them by accident?

Tue, 22 Jan 2008

Discovery of the day

If you have python but not unzip (consider, e.g. a Nokia Internet Tablet), you can extract zip files with

python -m zipfile -e filename.zip .

Fri, 21 Dec 2007

Nokia can has web server pls?

The inability of Nokia to provide reliable web servers for repository.maemo.org and tablets-dev.nokia.com is annoying. I am unable to build packages for N810 because the apt repository that contains build dependencies is down, and apparently has been down for a couple of days already.



You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser