1. LinuxTag 2010

    This year I attended only one day of LinuxTag: Friday. There were many reasons for that but I am glad that I made at least that.

    Wake up at 05:00 is hard… But I had a train to Berlin to catch. It was IC so power sockets were available and I watch some film and checked once again program for a day.

    First attended talk was “Truths and Lies: Where’s the Open Source Modern Mobile Phone?” by Mickey Lauer. I like his presentations - they are always interesting and professional. His expertise in mobile phones running open systems warrant good talk. This time he did not mentioned FSO or oFono but told why Android (HTC Dream), WebOS (Palm Pre), Maemo (Nokia N900) are not open source systems. Why does it matter? Open system allows you do anything with device — you can even send it to space (like it was done with Openmoko GTA02).

    I missed “Mobile Development with Qt and Qt Creator” presentation but Nokia guy at their stand explained later how does it work and why it is worth checking. In short: usable IDE with simulation of target device screen (from 1:1 display size to 1:1 resolution size).

    Dirk Hohndel from Intel had a talk about “MeeGo - Linux for Mobile Devices”. Nice talk with presentation of current release on older laptop. Some background informations how it started from meeting of Intel and Nokia guys. And then someone asked will all existing applications will be rewritten to Qt (which is primary toolkit in MeeGo). Dirk tried to not answer it directly but finally said that no, current apps will stay with GTK+ (Clutter, MX) and only new ones will use Qt. I was not surprised — I know Moblin guys and their preferences when it comes to UI toolkit.

    Next talk was about writing native code for Android and about how much can be done without going to Java world. As I am considering Android as a system for my next cell phone I was interested. But native does not free developer from Java. The idea is that you write C code, build it into library and then you need to write JNI which will be used from Java application to calls functions from native library. So ok, it gives speed but you still need to know Java ;(

    Debian Pure Blends” talk did not attracted many people. Andreas Tille told that many derivatives exists and some of them got merged back into Debian (like Skolelinux) while some does not even look like having sense in them.

    Debian GNU/kFreeBSD” summarised why Debian with FreeBSD kernel was made, what it gives and what is missing. Also note that NetBSD and OpenBSD based attempts were done but died few years ago. Is it worth using? I can not answer to that question. But if you need ZFS

    And at the end of a day Amit gave a talk about Linaro. There were about few people and most of them from Canonical.

    But LinuxTag is not only talks. There are booths to visit, friends, coworkers and other people to meet etc.

    Texas Instruments presented their low cost boards: HawkBoard, LeopardBoard and BeagleBoard XM. Each has own uses as they are using different processors and have other features. I hope that one day BB XM will replace my normal one but first they need to be available to buy (Digikey information is “6 weeks”).

    Nokia had big stand where they presented Qt Creator software and Qt demos on N900 connected to flat TV. I asked some questions, got answers and now need to find some time to check their software and move my Protracker module player ahead.

    OpenEmbedded had stand as well — this year not as a part of Tarent embedded area but small one in next hall. Florian Boor spent whole day manning it and presented few interesting boards. KaRo one (based on Sheeva cpu) was interesting — too bad that this is only armv5te ;(

    Speaking of Tarent… Was nice to meet them, but did not had a time to talk much.

    Met Matthias Klose (widely known as ‘doko’) who is Debian/Ubuntu toolchain maintainer. We had a short talk about our cooperation.

    Conference ended, we went to centre for some food and then I had a train to catch to go back home.

    Overall it was good to be there. But it was last time when I go for one day — it is simply too short to be able to meet everyone and talk longer then few minutes.

    Written by Marcin Juszkiewicz on
  2. New laptop: Asus UL30A

    New job, new laptop someone would say… But that’s not so easy when you have own company.

    But my Dell D400 became desktop laptop due to nearly dead battery and I had UDS-M to visit so needed new mobile computer for use. After some checking of reviews, user opinions etc there were few models selected. Hopefully nearly at same time my brother-in-law bought Asus UL30A so I could check live how good/bad it is.

    And one day my own UL30A arrived. Hard disk was clean — no MS Windows, no ASUS ExpressGate. Grabbed 2GB pen drive, put Kubuntu 10.04-rc2 image on it and booted. With help of “alternate install” which in reality means “Debian installer” I was able to setup it in my way (encrypted partition with LVM on top so rootfs, swap, home are encrypted).

    System works fine, all components were supported out-of-box. At least that was what I thought. After some checking it was clear that something is wrong with touchpad — it got detected as PS/2 mouse with scroll. 2.6.34 kernel from Maverick solved problem after using “force_elantech=1” option for “psmouse” module.

    Dual core SU7300 processor maybe is not fastest possible but does work properly and uses small amount of power. During UDS I was able to carry only laptop with me — power supply was on desk in hotel room. With few tweaks from PowerTop I was able to get 8h of work (sometimes even 10h were reported). Such long battery life was the main reason for buying ;)

    When it comes to graphics everything works fine. Intel 4500 chipset works fine with my 42” plasma TV offering me 1366x768 from internal LCD + 1920x1080 over HDMI. Watching films never was such easy — I just need to plug cable and play as audio is also sent. Problem is that I had to tell MPlayer which ALSA device to use for HDMI :( Maybe one day it will be automatically detected and switched. What surprised me was console output on TV when I rebooted with HDMI cable attached. Nice thing.

    Playing 720p movies from local hard drive required few steps from me (otherwise it gets out of sync):

    1. disable internal LCD
    2. switch TV to 720p mode (instead of 1080p)
    3. big cache for MPlayer

    Maybe other players works better but I am so used to MPlayer… Before it I used avifile iirc.

    Do I recommend this laptop? Yes, I do — long battery life, 13,3” screen, 4GB of memory, 320GB hard disk and dual core cpu make it nice portable work station. Small enough to watch films during train trips, keeps long enough to allow to do that even in trains without power sockets. It is good replacement for my Dell D400.

    Written by Marcin Juszkiewicz on
  3. How old your $HOME is?

    Today I got hit by some bug in Ubuntu. I checked what is going on and reported to bug tracker. But what is found out during checks?

    Files from 2001 year. Yes, my “~/.bash_logout” is over 9 years old now. It only runs “clear” on text consoles but it is oldest not changed configuration file in my system. Created under Debian ‘potato’, survived upgrade to ‘woody’ and then to ‘sid’ which I use since it was created. During that time I had one system re-installation — when switched to x86-64 architecture.

    According to results of “find” command older are only files from my master thesis which I wrote in 2000/2001. How old your $HOME is?

    Written by Marcin Juszkiewicz on
  4. UDS-M continues

    Today is a last day of Ubuntu Developers Summit. I plan to attend few sessions, on evening maybe go to Brussels for some shopping (UDS is in a middle of nowhere) and tomorrow I hope to fly home.

    So far I attended several sessions, some were too Ubuntu specific for me to get idea what it is about (PPA or other Launchpad related services for example) but in general time is not wasted.

    Monday

    Missed keynote ;( I blame Belgium train company for it. But I fetched it from YouTube so will watch it during return travel. Then Ubuntu on ARM project had private meeting where we had a chance to connect faces to names and got some short introduction. That was all for me — after lunch^Wbreakfast I got to sleep. During dinner time I met some fellows from old time: Rob Taylor, Neil Patel, Peter Goodall and spoke with several other guys.

    Tuesday

    ARM talk about toolchain was great. GCC 4.5 is what we want for our project I think. There was also warning that switching to 4.6 version will probably require transition process. Then I was on AEL/ALIP talk — should attend SoC:Dove talk instead. Session about building root filesystem images was started by me and then lead by Luïc. There was some good ideas told, many tools were mentioned so I will have something to do in near time. Another talk about toolchain and then Device Tree overview — what it is and why we want it.

    Wednesday

    Another sessions related to development tools for attending, one about U-Boot features and performance and three about building ARM archives. Kiko’s introduction to ARM was interesting presentation.

    Day finished in Waterloo where we had a dinner with ARM Ltd. people. Nice chats with good food and wine.

    Thursday

    Attended memory footprint talk, next was kernel version alignment where people from ARM vendors gave us informations about their work on getting support for products in mainline kernel. Looks like 2.6.35 will be used in Maverick release.

    Later was marketing talk about Freescale i.mx51/53/508 cpu family plus mentioning of Cortex-A9 based i.mx61/63 chips which will be released next year. Rob Herring mentioned that there may be BeagleBoard like device with i.mx53 processor available.

    Zack from Debian told about cooperation between Debian and Ubuntu developers from Debian perspective. It was nice talk. Next was about plumbering and explained how HAL got removed, how other components changed in base of base system. Looks like upstart developers know what they do and where they are going.

    As a way to get something different I went to QA session about tracking performance on different architectures. Mostly it was about Phoronix test suite and how it can be adapted for ARM. Then went to cross compiler packages which was nice session.

    Last session was SoC: OMAP3/4 talk made by Texas Instruments people. They had Blaze with them, shown Ubuntu Lucid on it and then booted to Poky Linux to show OpenGL/ES and video decoding capabilities. Playing 6 video streams on rotating cube was nice. Playing 1080p videos without any visible frame drops was another nice stuff. And there will be OMAP4 based PandaBoard developer board similar to BeagleBoard line. When it arrive was not announced.

    After that I went to Brussels with TI people for some food and beer. Discussed on many things, I shared my suggestion on how to make PandaBoard really nice, we did few beers. It was good spent time.

    Friday

    First got to rootless building of root filesystem images, then was ‘mukluk’ soft bootloader which is yet-another-kexec-based-bootloader. A bit of NIH syndrome but can grow into something interesting and kexecboot got mentioned few times.

    Written by Marcin Juszkiewicz on
  5. UDS-M day 0

    Tired, tired, tired. That’s how I feel now. And all by one trip which had to end over 12 hours ago…

    I left home after 13:30 and took taxi for bus station. Then bus to Berlin Schonefeld airport — arrived before 17:00, passed security check and found good place to wait for depart. Some flights were cancelled, some were late but my to Brussels was still listed as operating one. Forty five minutes before depart it got cancelled :(

    So let’s check options… Other flight maybe? Frankurt and Köln were listed still but who knows will they fly… So I decided for train. Launched browser, accepted data roaming warning and started checking. One hour later, at Südkreiz, I had a set of tickets in a pocket. Paid 160€ for it — more then my flight tickets in both directions…

    My cellphone got discharged at that moment, so I took laptop from the bag and connected both devices to get some power for phone. Worked good.

    Went to Berlin Hbf station, got some food and beer and half past midnight took first trip: to Köln. I discovered where power sockets are but it was a bit too late to take such seat :( But I managed to get about 3 hours of sleep.

    Köln station had free wifi at Starbucks (btopenzone network) so Twitter, emails and checked some UDS travel part. Then TGV to Brussels. This time power sockets were easy reachable so laptop got charged a bit and phone to the maximum. Watched a movie, checked some code.

    Brussels station was disaster. Ticket machine did not accepted any of my cards so I got into queue so first train got missed. Second one got cancelled… One extra hour on that crappy place where there is no such thing as information in English…

    Now I am somewhere between Brussels and La Hulpe and hope that will not miss station. Then finding hotel, register and trying to find coworkers which I never met.

    And just because one vulcano did what it did I had to spend extra thirteen hours for a trip :(

    Written by Marcin Juszkiewicz on
  6. Maemo5 Calendar — is it cruel joke?

    I was using many different mobile devices during last years. Some were GSM phones, some were PDA, now I use Nokia N900 which tries to join both functions.

    When I saw calendar on N900 I thought: Is it some cruel joke? But then I got to simple conclusion: designers and developers never used anything newer then Nokia 5110 and never saw (or heard) about PDA devices. I do not see other reason for creating such brain damaged application.

    What it supports? Simple events in few local calendars with simple repeat, simple only predefined alarm times, todos (without priority). User gets unusable month view + nearly not usable week view + agenda view. And desktop widget which does not allow any configuration. Probably even PalmOS 1.0 DateBook was more advanced (I would have to check on PalmPilot 5000 which I have in basement).

    What it lacks? List would be quite long but I will list few most important things:

    • custom alarm times (I like 1:15 alarm times) — now it does not even display such properly
    • edition of repeatable events without breaking repeat cycles
    • extended repeat possibilities (like: 1st Tuesday in month, every 3rd Saturday)
    • remote calendars
    • portrait view
    • configurable work hours in week view
    • day names in date picker (PalmOS like chooser instead of iPhone like rolling lists maybe)
    • search function
    • attendees support

    What makes situation even worse is amount of reported bugs against Calendar. Many of them got resolution ‘MOVED’ which is other word for WONTFIX as it looks like everything which lands in so called ‘brainstorm’ area of maemo.org website is on a list of things to forget.

    So far there is only GPE calendar which can be used instead of Maemo one but this one does not have working alarms (without running it in background or using ugly GPE summary widget). Platform is so niche that there will be no commercial application to fill that hole and that’s sad. And I do not require port of PalmOS Agendus (the most advanced PIM I ever used on mobile devices) but something usable.

    Written by Marcin Juszkiewicz on
  7. What makes a good developer board?

    During FOSDEM 2010 I had discussion with Ulf Samuelsson from Atmel and few other guys about developer boards. What is required on them and what should be avoided. Some time later I had a talk with one person about new OMAP3 based board and what I would like to see on it. So I decided to write something in public.

    So far I used mostly ARM developer boards from ST Microelectronics/ST Ericsson, Atmel, Cirrus Logic, Intel, Simple machines, Bug Labs, Texas Instruments. Some were better then others etc. But what ideal developer board should have? Let me try to create a list:

    • 2 serial ports (one can be null modem, second should have RTS/CTS/DTR lines)
    • working Ethernet not placed on USB bus (so it works when USB does not)
    • powered USB host port (more then one would be great)
    • USB device port
    • JTAG connector
    • one power input — +5V or +12V — other should be forbidden as those ones can be taken from PC PSU which can power multiple devices at same time
    • SD/MMC slot — even if it is over slow SPI (like on Sim.One — 250KB/s max)
    • GPIO pins
    • I²C bus
    • SPI bus
    • keypad with Up/Down/Left/Right + Enter at least
    • easily reachable reset button (pins to short are acceptable as micro switch can be put on them)
    • few LEDs controlled by system
    • all connectors put on one or two edges of board — top one + one of side ones are ok (Atmel at91sam9m10-ekes for example)
    • mounting holes (so board can be mounted on A5 sheet holder for presentation at stand)
    • backup battery for RTC
    • U-Boot
    • quite fresh kernel (not NHK-15 due to 2.6.20 kernel which is 3 years old now)

    What to avoid:

    • female serial port connectors (Atmel NGW100) — most devs will find 3 null modem cables before straight one
    • flat cables which connect “debug boards” with main board (Openmoko phones, NHK-15 from ST Ericsson)
    • RJ45 connectors for serial console (Sim.One) — DB9 or properly done USB->RS232 adapter on-board are best
    • placing connectors on all edges (BeagleBoard — but it had to be cheap)
    • non standard bootloaders (U-Boot is what I prefer)
    • Ethernet on USB (Bug 2.0) — it is hard to use when you have problems with USB Host
    • jumpers (Atmel boards)
    • non standard connectors (Bug r1.2 and it’s Handylink crap — next versions use iPod connector which is easier to use)

    I am trying to not cover should developer board contain display with touchscreen or not as it depends on type of board. But if screen is present then more then QVGA (320x240) would be nice (WVGA anyone?). Some kind of video out connector can also be used but would be nice to have one of VGA/DVI/HDMI so normal PC monitor can be used — Composite video and S-Video require searching for some kind of TV

    Which boards are my favorites? There are few:

    • FriendlyARM with WVGA screen — cheap product which gives access to everything needed to start with embedded Linux
    • Atmel AT91SAM9263-EK — my first own developer board
    • BeagleBoard Cx — has own problems but I like the power of it
    Written by Marcin Juszkiewicz on
  8. Another job change

    Since OpenedHand was acquired by Intel I worked with few customers. The biggest one was Bug Labs Inc. with which I spend lot of time on hacking Poky Linux and OpenEmbedded to make their BUG devices prosper in hacking community.

    Thanks to developers there Java land is not so strange for me (not that I started to like it) and I know which projects exist in that area. Many of changes done for BUG landed in OpenEmbedded metadata and helped other projects. Last release of Poky ‘pinky’ (stable branch which we used with R1.4) was done due to out improvements and bug fixes (we got credit on them). It was great time and I really enjoyed it.

    The open source companies have this nice feeling — developers work on code to make it better and better (as other people look at code) and are friendly to own employees and contractors.

    What next? My first job where my experience from OpenEmbedded will be used in a project which does not derive from it. Yes — no OpenEmbedded, no Poky Linux. But it will be GNU/Linux still and still ARM architecture.

    In 3 weeks from now I will work for Canonical as Foundations OS Engineer. The goal is to make Ubuntu/ARM fly on supported devices (armv7a only). This will be full time job but I hope that will have possibility to do some OE related things from time to time.

    Written by Marcin Juszkiewicz on
Page 50 / 106