Random notes from mg
Wed, 12 Oct 2011
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.
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!).
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
- 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
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
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
Oh, and my code is up
Fri, 29 Jul 2011
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
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
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
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
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
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
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
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
Cons: requires a non-standard kernel (or so I've heard). Way outside my
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
- 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
- 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
Wed, 03 Mar 2010
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:
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:
Nokia N900 Terminal app with new toolbar buttons
Mon, 12 Oct 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
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
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
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
- It eats a lot of memory rather quickly and bogs down when the system
- 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
John Siracusa talks
sense about e-books (via
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
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
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.
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?
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
Sat, 21 Jun 2008
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
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:
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
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
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
Sat, 31 May 2008
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
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
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
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 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
... not having a headache.
In other news, my Nokia
N810 Internet Tablet finally arrived. It looks better in real life than in
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 .
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:
[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: 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
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
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
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