Tuesday, December 16, 2008

re: how many bugs have you fixed today?

Sorry Bastian, but that marthyrdon thing doesn't work. Debian has no shortage of talkers, GR-proposers, etc. We have shortage of people of actually doing stuff. Therefor it's only fair that people not bothering fixing bugs get criticized too. And not to mention that there is enough RC bugs open that you could *easily* fix one of them before making another blog post.

This post has been brought to you by fixing #508781 and #496104. (Can I has a meme plz?)

ps, that said, pretending reaching 0 RC bugs means we have a perfect release is delusional. Bugs are found at constant rate. If we fixed bugs faster and reached 0 RC bugs a month a go, the released lenny would now have all the RC bugs found during this month. Therefor it would make much more sense to align the release schedule based on something else, such as d-i schedule and fix any RC bugs left at that point with stable release updates. update: As noted by Dato, the release update essentially says the same.

armel/experimental buildd running

As the continued freeze of lenny has driven lots of interesting uploads to experimental, it was finally time to setup a armel buildd for lenny. It' now approximately half away done, and with the current rate it should be building the last package of the queue (openoffice) in the end of this week.

Our priorities are literal interpretation of SC and DFSG

The vocal extremists are not writing free software replacements for the propiertary firmwares. The only offered solution is "remove those non-free firmwares". That disconnects real world users from free software we provide. Which is directly against the *spirit* of SC:

Our priorities are our users and free software.


I am willing to change my opinion as soon as there are free firmwares for pc peripheral devices.

Sunday, November 30, 2008

pimp my x40

After a brief look at the market, I decided to keep using my sturdy X40. Looking at what could be done to improve the 4 years old workhorse, three things came to mind:

* new battery (old one dies in 45min, new one lasts easily 5+h)
* replace the hard drive (preemptively before it breaks)
* more ram (from 512MB -> 1.5G)

The only one worth detailing is the hard drive upgrade, since I decided to go SSD. less moving parts, less heat, less power consumption. I followed the Thinkwiki CompactFlash boot howto. This basically involves getting a CF-IDE adapter (from ebay, around $5) and any CF card. The first CF-IDE adapter $2.99, but it didn't work. After some research it was concluded that the SMT soldering was bad. The second adapter bought worked fine, and as a bonus the dimensions match the X40 HD perfecty:

In order to minimize writing to flash:

* Make sure root filesystem is mounted noatime,nodiratime (see /etc/fstab)
* make /tmp a tmpfs partition
* disable swap
* more tips can been seen at Linux on Flash guide

Generally I'm very happy with the results of the upgrade. X40 is now most of the time completly silent, without the spinning and clicking HD. Fan turns on less often than previously. The cheapo compactflash is fast enough on reading, and the REALLY slow write speed is usually not a problem thanks to the loads of RAM. Ofcourse, the exception is when a application uses fsync() ... which leads to.


Seriously. It's like watching snail cross a tarpit. That's what happens when you fsync() a 30MB places.sqlite on a 6MB/s write speed flash media every fucking time a page has finished loading (and seeming every now and then too). Now here's a really simple workaround: make ~/.mozilla tmpfs and rsync it to/from a backup dir every time you log in/out.

* /etc/fstab: tmpfs /home/user/.mozilla tmpfs size=100m,user 0 0
* and two helper scripts:

aardvark:~$ cat bin/mozilla-mount
mount /home/$USER/.mozilla
rsync -av /home/$USER/.mozilla-safe/ /home/$USER/.mozilla/
aardvark:~$ cat bin/mozilla-umount
rsync -av /home/$USER/.mozilla/ /home/$USER/.mozilla-safe/
umount /home/$USER/.mozilla

It does what mozilla should be doing in the first place - write to temporary files when running and on exit synchronize to the real database and fsync(). With this hack, suddenly the web browser UI doesn't freeze every time a page has finished loading.

You'll also want to disable the urlclassifier anti-forgery tool, which can grow to a over 50MB sqlite database which also gets fsynced all the time...

Monday, November 10, 2008

When Linux doesn't mean freedom

I actually think it's a bit of an insult if people think of Motorola's EZX or MAGX (and now Android) phones as "Linux phones". Because all the freedoms of Linux (writing native applications against native Linux APIs that Linux developers know and love, being able to do Linux [kernel] development) are stripped.
- Harald Welte

This is something that has worried me too for quite a while. For years we have now had Linux phones available in form or another (well, mostly in far away countries you happen not to be at). Yet with the exception of openmoko none of them allow native application development. Yet all the same time you can go to the nearest phone shop and grab HTC windows CE phone or a Nokia Symbian phone, which actually give you the freedom to writing and running your own software on them.

Now we have the situation that HTC's most locked device* is their only Linux device - The Android G1.

Incidentally, you can install Debian/armel on T-mobile G1, but only until Google engineers manage to fix the hole that gives you r00t.

*The only one that doesn't allow native app development.

Saturday, September 13, 2008

Marvell 78x00 board

What we are having here is a quite non-typical ARM based motherboard. It features a pre-production version of Marvell 78x00 series ARM SoC, clocked at 1GHz. It features multiple on-board sata and gigE connectors, as well as pci-e slots and DDR2 ram slots. Fairly "meh" in x86 world, but on the ARM world most systems are designed mainly for low power consumption, tiny size and low cost. Which, while creating allows creating many exciting devices, makes finding meaty buildd's tricky. When we intruduced armel port, the security people rose the concern that arm buildd's are too slow. Especially from the security Point of view, where getting security fixes out fast is important - every second of waiting for security builds to finish someone could be exploited!

Luckily, some people from Marvell had heard about our need and arranged to donate a developer board for us!

So far, the build speed improvement, compared to our current (Thecus N2100) buildd's is very promising. When looking at build times of some slow-building packages which likely will see security uploads:

Package | Thecus | MV78100 | HPPA | MIPS
linux-2.6 | 39h | 11h | 6h | 17h
webkit | 17h | 5h | 3h | 4h
qt4-x11 | 59h | 17h | 7h | 13h
xulrunner | 14h | 4h | 1.5h | 3h

We see that with a Marvell board we are more in the line with other architectures. And the production hardware is going to be even faster! There is a dual-core version as well, but it's not SMP. Both cores are independent, and would basically both run their own Linux image. If manage to find a easy way to implement and manage that, we could run two theoretically run two independent buildd instances on the same board.

See the Linux Devices article for more details about the MV78x00 in general.

Tuesday, September 9, 2008

Saturday, August 30, 2008

Wednesday, August 27, 2008

Monday, June 30, 2008

Creating community friendly embedded systems

Netgear has jumped the bandwagon and released Open Source Wireless-G Router (WGR614L). Like the earlier Linksys WRT54GL, it's an existing model with a Linux "L" added to end. It does not really add any hardware to make it community friendly, the "open source" part feels like just a marketing gimmick.

With just a couple of small features, these devices could really become community friendly:

  • Serial port. A kingdom for a router or NAS with a proper serial port! Or at least a pre-solder the serial headers and provide a cable with a TTL shifter.
  • Unbrickable bootloader. Alternatively, a relatively hard to brick bootloader like Linksys NSLU-2 has.
  • Mainlined kernel. No "Linux 2.4.22 + binary drivers" crap, like this netgear device.
  • Widespread availability. The community is around the world.
  • Documentation.

Not as necessary, but nice to have features for a community-oriented product:

  • JTAG. So one gets to unbrick it in case bootloader went bonkers. Also allows the community to develop the bootloader.
  • Extensibility. Just adding a USB port gives any device huge amount of extra possible uses. A SD slot would give loads of storage space. etc..
  • Contacts with engineers and developers from the manufacturer. Don't just market to the community, be part of the community :)

Friday, June 27, 2008

User interfaces and security are HARD

You know what the problem is? Webbrowser developers think they're developing the most important application for any computer. -Wouter

Weeelll.. Looking at the the long posts you and others on planet.d.o have written about a browser, one might get the opposite conclusion :) Considering the amount of work and daily business (online banks, shops, news, other services), browser is the most important application after email - and even for email many people use a browser...

Users are good at noticing usability problems. However, their proposed solutions are usually unreliable.

I'm just as annoyed as the next planet writer about the new self-signed SSL dance of FF3. But I do not pretend to know the correct solution. When dealing with security issues, knee-jerk fixes can lead to disasters. Likewise in UI design, the first idea that gets into mind probably isn't the best one.

Monday, June 16, 2008

Friday, May 30, 2008

blog moved

Buch of quickies:
  • First, I'm moving from livejournal to blogger. Mainly because blogger allows me to email pictures/videos from my cellphone and automatically converts them to blog entries. To avoid spamming planet with unnecessary entries, only postings tagged with "Debian" be syndicated to p.d.o.
  • Was invited to UDS and Prague. Quite different from conferences where I've been before (debconf, FOSDEM). Less time spent with one person presenting and rest of room listen, more time people discussing the topic of session. Atleast this was the case in the Mobile track I mostly followed.
  • Testing scripts now consider Armel a Release architecture. \o/. The armel debian-installer should also be part of debian-installer beta2 really soon(tm) . Only getting testing-security running properly is tricky at the moment...
  • fuck I'm old now.


While I have your Attention, one of the most interesting ARM projects at the moment: beagleboard . There is _huge_ variety of ARM developer boards available, but this one has a couple of really interesting bits
  • Powered by OMAP 3530, a 600MHz ARM Cortex A8 + kitchen sink chip. Most boards are either expensive or have a "bottom-of-line" cpu.
  • Didn't I complain that TI isn't open enough? Well, since then TI now has released thousands of pages documentation for OMAP3, made omap 35xx available or purchase for anyone, and is even working to get DSP and 3D bits of OMAP3 available. And they go further - beagleboard documentation (link at bottom of elinux wikipage for boeagleboard) has everything including schematics.

Monday, May 19, 2008

Saturday, May 10, 2008