My new work laptop is a Dell XPS 12 9Q33 which has an Intel Haswell CPU in it – I can haz hardware transactional memory! It’s also got 8GB RAM, 256GB Samsung SSD and a multitouch touchscreen which will swivel around to form a tablet type device.
Of course the first thing to do with this new machine was to install Kubuntu 13.10 as Dell will not ship these without the Windoze tax. So far I’ve got to say it’s been pretty painless, everything works out of the box and the only niggles I’ve found so far are:
UEFI hangs if I have a Kogan 64GB USB3 stick in one of the USB3 ports
Well the solution is don’t do it then. I’ll see if I can figure out how to report this as an issue to Dell.
The Linux i2c-hid driver currently doesn’t properly handle the touch screen and trackpad – both work but the trackpad is detected as a PS2 mouse
This is fine for me, I’m happy to just use the trackpad as an old-school mouse and be able to use the touchscreen should I need to. If you really want to use the trackpad and don’t care about the touchscreen then you just need to blacklist the
i2c-hid kernel module and reboot. There is an existing Ubuntu bug on Launchpad about this, but it’s an upstream kernel issue.
The WLAN kill switch (FN+F2) is not recognised
This is probably the most annoying one, and I’ve not (yet) got around to reporting it as a bug. You can work around it from the command line by with:
rfkill block all
Things I like:
- A great screen, 1920×1080 and really sharp
- A nice fast SSD, bonnie++ measured over 400MB/s block write and over 600MB/s block read using btrfs
- Small – my previous Dell laptop was a Latitude Z600 which was nice but very wide
- Haswell CPU – latest Intel goodness
- low power –
powertop reports it getting down to 5 to 6 Watts when it’s idling (with the screen on at 60% brightness)
Seems quite promising so far!
If you’re ever in the situation of needing to pipe a large amount of data into a program and would usually use cat or just redirect from a file, but would like some idea of how long it may take, then may I recommend to you the “pv” command (packaged in Debian/Ubuntu/RHEL/etc)?
For instance, here is restoring a 9GB MySQL dump into a MariaDB database:
root@db3:/var/tmp# pv db4.sql | mysql
570MB 0:02:06 [5.01MB/s] [> ] 5% ETA 0:34:28
Suddenly you’ve got the data rate, the percentage complete and an ETA so you can go off and get a coffee whilst it works..
I realised I had over 60 episodes of Get Smart recorded which I was never going to get around to watching, so I wanted to delete them quickly. I had a quick poke at MythWeb but that didn’t seem to have the functionality but a quick google revealed this forum post which says:
When in select recording to watch, mark the recording with a backslash “/”.
Mark all that you want to delete.
Press M to bring up the Recordings list menu.
Select playlist options
Works like a charm!
There’s also Craig’s set of command line tools that can assist with this: http://taz.net.au/mythtv-tools/.
The word for the February “Equal Writes” meet up was Limerence, so I did a Limerence limerick.
A young man afflicted with limerence
didn’t think it made much of a difference
that the object of his desires
wouldn’t return the fires
thus failing to match limerences inferences
Limerence was coined in 1977 by Dorothy Tennov as a de-novo word. In fact in an interview with The Observer newspaper that same year she wrote:
It has no roots whatsoever. It looks nice. It works well in French. Take it from me it has no etymology whatsoever.
Last August PGI announced an update to its “PGI OpenCL Compiler for ARM” (PGCL 12.7), but if you go looking for that on the PGI news page you won’t find it. In fact if you go to their products page and go to the link for the “PGI OpenCL Compiler for ARM” you’ll find it’s gone too..
For the record that part of the products page currently looks like:
PGI Compilers and Tools for Mobile and Embedded Platforms
PGI OpenCL Compiler for ARM
PGCL™ is an OpenCL™ framework for compiling and running OpenCL 1.1 embedded profile
applications on the ST-Ericsson NovaThor™ U8500 and follow-on platforms using a single
ARM core as the OpenCL host and multiple ARM cores as an OpenCL computing device
The interesting thing is that this has happened recently, Google’s cache of the news page (dated July 25th 2013) still has the announcement listed:
The Portland Group Updates its OpenCL Compiler for Multi-core ARM
August 21, 2012
Latest PGCL includes automatic generation of NEON/SIMD instructions
The Portland Group® (PGI), a wholly-owned subsidiary of STMicroelectronics and the leading
independent supplier of compilers and tools for high-performance computing, today announced
the release of PGCL 12.7. PGCL™ is the PGI OpenCL framework for multi-core ARM-based
Systems-on-Chips (SoCs), currently available on ST-Ericsson NovaThor™ platforms. PGCL includes
a PGI OpenCL compiler for multi-core ARM CPUs as a compute device and complements OpenCL
So something changed in the last week, oddly around the same time that nVidia announced it was buying PGI..
The topic for the December 2012 Equal Writes group at Belgrave was “The Earth Moved”, for which I wrote this poem:
The Earth Moved
Short, brief shakes of quakes
Bring people onto the streets
Waves to the shore
Fear, panic, sadness
Slow, imperceptable movement
Plates grind against each other
One pushing the other down
To be recycled
Magma from melted rock reborn
pushes up through the crust
Building new land
Elsewhere two plates collide head on
Neither able to give way
The pressure becomes to much
Land buckles into mountains
Rain falls on far hills
Each drop excavating tiny holes
On rock that seems immutable
Wearing down over ages
In a few billion years
The Sun will grow large and red
The Earth will boil away
and move out into the Universe
Our small pale blue dot gone
and all it ever contained
Star stuff returning to space
eventually, maybe, to be reborn
If you’ve been using SpamAssassin and have been reporting to SpamCop then you’ll have found overnight that you got a heap of bounces back saying things like:
<email@example.com> (expanded from
<firstname.lastname@example.org>): unknown user: "devnull"
It turns out that the email@example.com appears to be something that the SpamAssassin developers set without consulting with SpamCop, and SpamCop have just been blackholing those reports for an unknown amount of time. Last night it went away and so now IronPort are rejecting them which was how I learnt of this. I’m not impressed by what the SA developers did her, it should have required you to put in a registered SpamCop address and not reported if that wasn’t set.
I’ve disabled my SpamCop reporting by commenting out this line in
/etc/mail/spamassassin/v310.pre on my Debian mailserver:
If you use SpamAssassin and don’t have a registered SpamCop account you’ll want to do the same.
It looks like our kitten (who is rapidly turning into a cat) has discovered that our clothes airer is perfect for practising gymnastics on..
I wonder how long it will last!
It’d been a while since I’d last told Digikam to scan my collection for faces, and having just upgraded to 3.2.0 I thought it was about time to have another shot at it. However, I’d noticed it was taking an awful long time and seemed to only be using one of the eight cores on this system (Ivy Bridge i7-3770K running Kubuntu 13.04) so I thought I’d see if simply taking advantage of OpenMP could improve things with multithreading.
To do that I just started a new
konsole and (as a first step) told OpenMP to use all the cores with:
Running digikam from that session and starting a face scan showed that yes, it was using all 8 cores, but not really to a great amount. Running
iotop showed it doing about 5MB/s in reads and
latencytop showed that it was spending most of its time in fsync(). Now that’s good, because it’s making sure that the data has really hit the rust to ensure everything is consistent.
However, in this case I can rebuild the entire face database should I need to, and I have about 66GB of photos to scan, plus I wanted to see just how fast this could go. So now it’s time to get a little dangerous and try Stewart Smith’s wonderfully named “libeatmydata” library which gives you a library (surprise surprise) and helper program that lets you preload an fsync() function that really only does
return(0); (which, you may be interested to know, is still POSIX compliant).
So to test that out I just needed to do:
and suddenly I had 8 cores running flat out.
iotop showed that Digikam was now doing about 25-30MB/s reads and
latencytop showed most of its time waiting for things was now for user space lock contention, i.e. locks protecting shared data structures to stop threads from stomping on each other and going off into the weeds. Interestingly the disks are a lot quieter than before too. Oh, and it’s screaming through the photos now.
WARNING: Do not use eatmydata for anything you care about, it will do just what it says in the name should your power die, system hang, universe end, etc..
This was written for the October 30th 2012 “Equal Writes” session in Belgrave. I did both a poem and a prose piece explaining the background.
Silver the poem
Strive for the finish
A quick silver race
between two men
skins darker than his
but an agenda shared by all
In the air
He stands, badged with honour
Never again called
Seen to have shamed
By wanting all to stand tall
Peter Norman – Silver medalist – 1968 Olympics
In the 1968 Olympics in Mexico an apprentice butcher from Melbourne threw a cat amongst the pigeons in the 200m heats by breaking the world record, threatening the domination of the US. He took silver in the finals, improving his time again, separating Tommie Smith who won gold (and the then world record) and Jon Carlos who took bronze.
Before the ceremony Tommie and Jon told Peter about their plans to protest racial segregation and inequality with the gloved fist salute, and Peter Norman said “I’ll stand with you”.
On the way out to the podium he borrowed an Olympic Project for Human Rights badge from one of the US rowers and then, when Jon Carlos realised he’d forgotten his pair of gloves, suggested that they share Tommie’s.
That iconic act of defiance had an immediate impact, with the athletes being booed as they left the podium and then ostracised. The two US athletes were expelled from the Games and Peter Norman was reprimanded by the Australian Olympic Committee the day after the race.
Despite being ranked fifth in the world and running qualifying times in the 100m and the 200m before the next Olympics Peter Norman was not selected for the 1972 Munich games, and he later retired from competitive running.
There was no reconciliation, when the 2000 Sydney Olympics happened he was the only Australian olympian to not be invited to participate in the lap of honour, a grievous omission, dashing his hopes.
However, the American team had not forgotten him and he was invited to be their guest of honour, staying with them in the Olympic Village.
When Peter Norman died in 2006 both Tommie Smith and Jon Carlos came to Melbourne to be his pall bearers and to read eulogies, Tommie said “Peter Norman’s legacy is a rock. Stand on that rock.”
Peter Norman’s 1968 finals time is still the Australian 200m record. The day of his funeral is honoured as “Peter Norman Day” by the US Track and Field Federation.