22.12.2012 18:13

A while ago, in fact as soon as Amazon started shipping them to Europe, I ordered the new ARM-based Samsung Chromebook. It seemed like the perfect replacement for my aging EeePC 901. Looking back, this little laptop has served me incredibly well for more than four years and cost 330 €. But recently it has starting to show its age. While the battery still has more than two thirds of its original capacity (which is quite amazing) it seems that the SSD slowed down considerably and the battery sometimes won't charge until I disconnect and reconnect it from the laptop.

ARM-based Samsung Chromebook

Anyway, the new dual-core Exynos system seemed like it would be an improvement over the old Atom and other specs are more or less the same. The most important part for me, weight, is just about the same as 901, while Chromebook has a considerably larger screen and keyboard. Chromebook lacks the built-in wired Ethernet interface, so I bought a separate USB-to-Ethernet dongle. It also has a HDMI instead of a VGA connector for video, which is great for watching movies on a modern TV, but not that much for giving presentations, as most places still expect you to connect via a VGA to the projector.

Some reviews I've seen criticized Chromebook's LCD panel. Certainly it can't compare in contrast and brightness to my work laptop, but that one cost almost ten times as much. However putting the EeePC and Chromebook side to side, the Chromebook seems considerably better. As far as ergonomics is concerned the only part that seems worse is the touch pad. While it is larger in surface it appears less accurate and so far I haven't liked the no-button approach (you press the whole surface down to click). I am used to having a thumb on the button while moving the cursor with my other fingers. This doesn't work here since resting a finger on the touch-sensitive surface is recognized as a two-finger gesture. I might get used to it with time though.

Oh, and the laptop is plastic, in case you were wondering. You weren't expecting machined aluminum for this kind of money, right?

As far as the pre-installed Chrome OS goes, I can say that this was one of the best out-of-the box experiences I've seen in modern computing. There is pretty much no unnecessary nonsense which everyone seems to expect from a Windows laptop these days. A short OS update, enter Google account credentials and you have a browser.

But of course, I bought this laptop to run Debian on it. I switched the laptop to developer mode and overwrote the original system with a Debian Wheezy armhf installation. I first started with armel architecture, but switched later because it turns out that binaries from Google for Chrome OS only work on armhf, and you need those to have anything better than a framebuffer driver. Getting Debian to run was quite painless thanks to this Ubuntu guide, although there's a lot to learn if you are only used to setting up Intel boxes. One annoying thing is that there seems to be no nice way of disabling the big warning screen about the disabled OS signature check on each boot and the mandatory Ctrl-D. As I understand you need to overwrite the first-stage bootloader via an SPI bus to get around that.

Unfortunately my adventures with this new toy ended up as soon as I opened the first YouTube video in the browser and wanted to hear the sound out of the built-in speakers. It turns out playing with ALSA mixer settings is more dangerous than I thought and soon I started smelling the stench of burning isolation and the underside of my shiny new computer started melting. At this point I was panicking and cursing the lack of a hardware power button and the non-removable battery, so the computer continued to melt while I typed in shutdown -h now.

Samsung Chromebook without the bottom cover.

This was maybe a month ago and I haven't touched the computer until then. Just yesterday I opened it up (Google provides nice disassembly instructions) and found out it's not as bad as I though. The membrane and coil of the left speaker have heated up to the point of melting into the plastic case, but it appears there was no collateral damage as far as electronics is concerned. Meanwhile Ubuntu folk produced a patch for this problem. So in the end I might still get to use it once I sort everything out with the Debian installation. For the time being though, I'm sticking with my trusty old EeePC.

Oh, and if anyone has any source of replacement Chromebook speakers, I might buy a set. I plan to poke local Samsung service shops, but I'm not optimistic they have access to this kind of hardware.

Posted by Tomaž | Categories: Life | Comments »

TEDx Ljubljana 2012

17.12.2012 22:38

Yesterday I attended TEDx Ljubljana, the local, independent incarnation of the famous TED conference. Apparently this was already the 12th Slovenian TEDx event. I attended the first one in 2009 at Jožef Stefan Institute and one in fall 2010 and had quite a good time at both of them. I wanted to check how the event has evolved since then, so I set a reminder and managed to get a ticket in the first minute or so before they ran out.

The event took place in Ljubljana's opera house and was professionally organized. You got a free ticket for Ljubljana's public transportation (which got me two strange looks from the bus driver) and the registration went surprisingly smoothly. For a moment after I arrived I even had a feeling they had more staff to help you find a place than actual visitors.

TEDx Ljubljana 2012 in Ljubljana opera house.

Of course, that was not the case. Apparently they filled the opera house to the brim with 600 visitors, which certainly shows that these events are getting quite a lot of attention. Not to mention that the talks were streamed live on the national television's web site.

While I can't complain about organization (OK, perhaps the hour long break bringing 600 people into the lobby at once was a bit of a mistake), the content of the conference left me quite disappointed. I see TED talks as a balanced mixture of science, technology and arts and I think the two previous events I attended managed to hit that balance pretty well.

This event however lacked the technological and scientific component almost completely.

I can't really complain about people talking about their views on life and how it changed after this or that traumatic experience. I guess listening to one such story every once in a while can remind you of shortness of life and the importance of enjoying it. But listening to such stories one after another just leaves you with the impression that no matter how much the speaker manages to engage the audience, his experience is his own and unlikely to change anyone other's life.

There was also a talk from Cultural Centre of European Space Technologies and I have a special bone to pick with those people. Dragging 60 years of history through the mud because it has no cultural value in their opinion just shows how little they understand what motivates scientists and why we do research in the first place. If they won't allow you an interpretative dance routine aboard the International Space station that doesn't mean that basic sciences contribute nothing above raw data. If you dismiss that some people can find beauty and meaning in good engineering you just lost all credibility in my eyes. Not that much of it was left after the shallow interpretation of history of space travel.

I also hold a grudge against them for taking Slovenian space travel pioneer Herman Potočnik as their own in all their public appearances and interpreting his work as an art statement. A few years back they even went as far as ruining a reprint of his book by underlying his nice original engineering drawings with ugly, red purposeless graphics and then even had the audacity of publishing it under a No-Derivatives Creative Common license. But I digress.

Really the only talk with a scientific background was by Miha Krofel of the SloWolf project and the thunderous applause he got from the audience in the end did manage somewhat to correct the bad feeling from the previous talks.

I was also a bit confused as to the international aspect of this TEDx. I was under the impression that these are intended to be local events. While I can certainly understand inviting a speaker from abroad, I'm confused as to why native Slovenian speakers were giving talks in English.

In the end, I was left wondering where were all Slovenian scientists and engineers. I'm quite certain there are plenty of them that can engage and inspire audience like this. As the motto was turning a new page and the topic was predominantly life, it should be shown that science can give it as much meaning as arts, entrepreneurship and sports. And that contributing to human knowledge can be as rewarding as donating food for the hungry.

Posted by Tomaž | Categories: Life | Comments »

The ultimate Galaksija talk

11.12.2012 10:58

A few days ago the first version of the Fahrplan for 29th Chaos Communication Congress was released. As you might have guessed from the title, I'm happy to announce that I'll be presenting a talk this year about Galaksija.

Galaksija screenshot

Why ultimate? First of all, because it's modeled after the two previous ultimate talks about vintage computers: Michael Steil's about Commodore 64 and Sven Oliver's about Atari 2600. They are both well worth a watch if you are into vintage computing and should give you an impression of what my talk will look like.

The second reason is that this is probably the last talk about Galaksija I'll do. Looking back, it's amazing that I've been playing with it for over the six years now. I have presented this little computer in a lot of places: from academic institutions through hackerspaces to vintage computing festivals and art festivals. I feel that I have explored just about everything about this small piece of history. Just last month I have also met for the first time Galaksija's original author, Voja Antonić, who helped me clarify a few remaining questions about the original design. So while probably last, I'm confident that this will be the best of my talks on the topic.

So, if this sounds interesting and you are into old 8-bit machines, you are kindly invited on day 4 at 14:00 to Saal 6 (subject to change, as usual with Fahrplans). I'll also make sure that by that time I'll update the pages about my CMOS replica and include remaining documentation that has not been published yet.

Posted by Tomaž | Categories: Life | Comments »

Tilt-wheel actions on Firefox 17

04.12.2012 13:06

Starting with version 17, Firefox has a new set of preferences for mouse wheel actions. Unfortunately, this change makes it impossible to directly define "back in history" and "forward in history" actions for tilting the scroll wheel on tilt-wheel mice (something that used to be possible by setting mousewheel.horizscroll.withnokey.action=2 in about:config)

I use tilt-wheel mice almost exclusively and this is the only modern feature since the addition of the vertical scroll wheel on the middle button that I have been able to tolerate on mice. I just hate those new models that put buttons everywhere. But using the tilt-wheel for moving backwards and forwards in browser's history soon became second nature and now it's just annoying to be left without this feature.

Here's a quick workaround for this regression in Mozilla's software I found. Add the following to ~/.Xmodmap:

pointer = 1 2 3 4 5 8 9 0 0

This remaps pointer buttons 6 and 7 (horizontal scroll) to mouse buttons 8 and 9. Buttons 8 and 9 seem to be used by default in Firefox as shortcuts for back and forward buttons, so this solution doesn't require any additional poking around about:config. Of course, this also affects all other applications, so now you won't be able to use the tilt-wheel for horizontal scrolling.

Log-out and back in for the change to take effect or run xmodmap ~/.Xmodmap.

By the way, loading the .Xmodmap file in your home directory automatically when you log-in is not a given. GNOME display manager 3 on Debian seems to do it. Yours might not. If it doesn't work (you can check current button mappings with xmodmap -pp), check around /etc/X11/Xsession or /etc/gdm/Xsession.

Also, xmodmap seems to be deprecated in favor of setxkbmap, but I don't see any way of mapping pointer buttons with that.

Posted by Tomaž | Categories: Code | Comments »

Rainbow plots

03.12.2012 18:57

In the most simple mode of operation, VESNA with the spectrum sensing expansion is basically a very slow, slightly inaccurate but also a very small and cheap spectrum analyzer. The FCD scanner application exploits that and displays the spectrum in the traditional waterfall plot or a plain spectrogram.

Because of limited bandwidth the receiver can only see a small part of the spectrum at once and operates as a swept-spectrum analyzer. This means that it's essentially blind at most frequencies most of the time. If a device is transmitting individual packets with a lot of quiet time in between it is very probable that its transmission will only be picked up after several frequency sweeps, as it must happen by chance that VESNA's receiver will be listening at the same frequency as the transmitted packet.

FCD scanner waterfall spectrogram plot.

The waterfall plot shows this nicely, for instance above for wireless LAN beacons - these are transmitted in regular intervals with a bandwidth much wider than resolution bandwidth, hence giving a distinct moiré pattern.

However, waterfall plots aren't particularly convenient to estimate the power of the signal or it's bandwidth since the power is displayed in color. On the other hand just plotting power versus frequency doesn't show you information about past sweeps.

Active FMT triggered by frequency change of a WLAN signal

Rohde & Schwarz has this really nice persistence display mode on their high-end spectrum analyzers that shows signal's history in color and power and frequency on the spatial axes. What they do is basically show you a two-dimensional histogram of power and frequency pairs (more detailed description is in their white paper).

This is all great, but their hardware can do hundreds of thousands of Fourier transforms per second, meaning they fill up the histogram in an instant. Directly copying this method to FCD scanner is quite useless, as VESNA gives you a sweep per second or less. This means it takes unreasonably long to accumulate enough history to build any kind of a useful histogram. Here's for instance how the histogram looks like for a history of 10 sweeps:

FCD scanner old persistence spectrum plot.

I did however come up with a method that manages to produce results that are pretty close to the histogram method, but actually works with significantly less data. Here's how it looks like:

FCD scanner new rainbow persistence plot.

The outline of the wireless LAN network is nicely visible, as well as some other packet transmissions on the higher frequencies.

It works by sorting all power measurements at each frequency from the highest to the lowest, placing them on a power versus frequency plot and then filling the space between the samples with colors from a colormap. The colors are evenly distributed between the samples, with the median value given the highest value (i.e. brightest color) and both extremes given the lowest one. This gives you one vertical line and the whole plot is constructed by repeating this procedure for all frequencies in a sweep.

This display mode is now available using the --rainbow-plot option in fcd_scanner. Check the source for exact details of the implementation - the rainbowplot() is just 28 lines of code using matplotlib.

Posted by Tomaž | Categories: Code | Comments »