Measure All Of The Things!

I spend much of what free time I have doing research and development, working towards having a hardware design side of my business. There is currently a fair amount of overlap between this work and my near-obsession with measurement.

With a growing collection of odd and vintage measuring equipment and the design of my own, I decided that I would start to share images and explanations of some of this and thus created a new blog, maott.org (Measure All Of The Things.)

So far, I have written about Geiger-Müller tubes, electrostatic voltmeters, and a vintage Japanese milliameter I was fortunate to acquire. The next article I have planned is a description of large voltage divider I have been working on for a few months. (The divider itself is complete and tested, I am just awaiting for the laser-cut parts for the case to turn up from Ponoko in New Zealand.)

If this is your type of thing, please join me at MAOTT!

Bechdel Café – A Writing Exercise

Preamble

This little exercise started off when I was looking for fun ways in which I could analyse the archive of my Twitter feed, on which I had just laid my grubby mitts. The estimable Dr Yobbo introduced me to the concept of the Bechdel Test, which set me to thinking: exactly how hard is it to write a piece about two women having a conversation that doesn’t involve men? I mean, why should it be hard? Can’t authors give female characters personalities? (Of course they can. But that’s for another post.)

The result is this. The café is based, albeit loosely, on a real one in Melbourne. The characters are pure works of fiction, but are dedicated to all those wonderful women of my acquaintance who have to deal with arsehattery of the academic publishing system.

Bechdel Café

IN WHICH TWO WOMEN HAVE A CONVERSATION NOT INVOLVING MEN.

An unadorned, narrow, entrance off a steep, narrow, street. Open the door and it’s like the TARDIS – certainly larger than the frontage suggests – but a very noisy, packed, TARDIS, where the aroma of coffee manages to overpower even the smell of Wet People coming in out of the rain and shouting their orders.

A small side-room, possibly a former broom cupboard, houses two tables, one just vacated and covered in empty cups and a carelessly forgotten cellphone, the other occupied by what appears to be a version of the “I’m a Mac, I’m a PC” advertising campaign. Although the appearance of the owners gives the impression that they may have just swapped laptops.

Mac user is looking at her screen with distaste, PC user is viewing hers with a half-smile, of the more ironic variety. Mac breaks the silence:

“It’s complete garbage! How did this ever pass peer-review, let alone get picked for publication by Nurtura? This isn’t a case of flawed methodology, there IS no methodology! This is pure marketing bullshit, passed of as science!”

“Hyperbole, Daphne, please; marketing HYPERBOLE.”

She sighs.

“But you’re right; things have been getting just a bit silly with what Nurtura’s been putting out of late, but this is just going to kill their credibility altogether. It’s sad to see an old, niche, journal going this way, but we’re already covered by two Open Access publications with impact factors that just keep going up.”

“Impact factors are just as much marketing bollocks as this ridiculous piece of pseudo-scientific drivel!”

She glances at the clock on her screen, then at her watch.

“SHIT, Jules, my watch has stopped, I’m late for the dentist!”

“Daphne, it isn’t possible to be late for a dentist. If you turned a day late, you’d still have to wait to get in. But get you going, girl, I need to move, too.”

Daphne rises, slips her Macbook into her tapestry bag and looks to manoeuvre past the harried young man clearing the adjacent table.

“Good luck with the Ethics Committee, Jules. See you in the morning.”

“Good luck with the dentist – not quite sure which of us is getting the worst deal. HEY – don’t forget your umbrella!”

EXEUNT OMNES

Farewell, Madiba

Nelson Mandela, or Madiba, to use his clan name, passed away today at the age of 95. If you have been living under a rock and don’t know his history, try Wikipedia.

The point of this post is to acknowledge how this man has influenced my life. Whilst I was at school, there was a song: “Free Nelson Mandela” – and, like most things at school, meant nothing to me. (Now I look back on it, my school needed its arse kicked up hill and down dale for not getting world current affairs into the curriculum.)

I came to know, with a certain amount of horror, what Apartheid meant and, when it finally ended, it seemed so fitting that the man who had struggled and suffered for so long should come to lead the country.

Mandela was active before I was born. His influence has been there through my entire life. In his passing, I feel the loss of (yet another) father, the father of a New World Order, or an example of it, at the very least.

I have spent most of the day close to tears, and am not ashamed to admit it. Vale, Madiba  - I can only hope that, to some degree, I can live up to at least some of the standard that you set.

 

Violence Against Women Stops Here

The title of this post may be an unrealistic expectation, but it’s a good thing to work towards. I am breaking a personal rule in writing this – never to post in anger – but I have been sufficiently upset on this, of all days, to publish and be damned. Social inclusion is one of my core tenets, so I am not going to let this pass unmarked.

Today, in Australia, is White Ribbon Day -  ”White Ribbon Day celebrates the culmination of the annual campaign and global recognition of the International Day for the Elimination of Violence against Women.  As such, men and women are encouraged to wear a symbolic white ribbon on 25 November.”

I signed the oath, and didn’t think too much of it; to me, raising my hand against a woman, and especially a loved one, is a concept I find totally alien. I really cannot get my head around how anyone can physically abuse a partner. (Note: I’m talking partners here, as this appears to be where the bulk of abuse is happening. Sickening? Yes!) But, the thing is, I thought I should sign the oath because it’s something I can be seen to be doing, rather than just an (invisible) personal attitude. It’s about standing up, putting up your hand, and showing solidarity.

This is the oath: ”I swear never to commit, excuse or remain silent about violence against women.” Is that so very hard?

Australia isn’t  exactly coming up tops where human rights are concerned – and I won’t even start on the list there. But today – let’s make it special. Let’s try to get this ONE issue into the light, recognise that violence against women never is, never was, never will be, acceptable, and be active in this respect.

Freedom Board Resources

Introducing The Freedom Board

This article lists some resources useful for experimenting/working/having fun with the Freescale Semiconductor / Element14 Freedom Board KL25z.

The Freedom Board KL25z is an inexpensive (about 12 AUD) Arduino form-factor compatible platform which sports a microcontroller with a 32-bit ARM Cortex M0+ core, rather than the humble 8-bit AVR CPU of the Arduino itself. The board includes an OpenSDA debugger/programmer so no other hardware is required, other than a USB cable.

Official Documentation

Other Resources

At the time of writing, it appears that the Codewarrior for MCU 10.3 beta is no longer available. This is a shame as, using gcc for ARM, this beta (Windows only) gave unlimited code size. The regular Special Edition (free) only allows up to 64kb code size. This isn’t to say that other development environments can’t be used, as an ARM Cortex M0+ is an ARM Cortex M0+, whatever the manufacturer. However, I like to use this Eclipse-based IDE as it features the excellent Processor Expert, which allows rapid configuration and code generation for on-board peripherals and common tasks.

Another reason I like to use Codewarrior is that Erich Styger’s blog is an absolutely first class learning resource for both Codewarrior/Processor Expert and the Freedom Board itself. Combine this with the Freescale Community site, and you will be well-supported in your efforts to make your Freedom Board do Cool Stuff.

Caveat

I – and others – have been through some very frustrating times with the Freedom Board due, in my mind, to poor documentation. It will not debug from Codewarrior out of the box. The supplied firmware allows for drag-and-drop programming. To go to more conventional debug/programme with Codewarrior, it is necessary to change the firmware to get the full benefit of the OpenSDA goodness. Erich Styger describes the necessary process here.

Conclusion

All in all, the Freedom Board KL25z is an excellent tool at an exceptional price – made all the more valuable when combined with Erich Styger’s learning resources.

For those interested, an alternative product from Texas Instruments exists in the Stellaris Lauchpad. This ARM Cortex M4F-based tool comes in at a similar price point. Rather than following Arduino form-factor, the Stellaris Launchpad follows on from TI’s previous MSP430 Launchpad, and is compatible with some of the Booster Packs (equivalent concept to the Arduino shield.)

Whether experimenter, student, or embedded professional wanting to do rapid prototyping, the Freedom Board and the Stellaris Launchpad have made working with ARM Cortex microcontrollers very simple and affordable.

Beautifully Haunting: A Blessed Unrest by The Parlour Trick

Most of my recent musical discoveries of recent years have been a serendipitous process, with one discovery leading to the next. The most recent gem, however, came from literature, rather than music. I spotted a post on Twitter by William Gibson – one of my two favourite living authors. (Twitter: @greatdismal) Gibson was giving a plug to this Kickstarter project, crowdsourcing funding for the production and promotion of an album of “retro sci-fi/quasi-Spiritualist parlor songs.”

I had a look at the Kickstarter page and decided that this sort of musical project was most certainly up my alley, so backed it for the price of a retail CD. (For which the artist generally gets only a very small percentage.) I restrained myself from looking at/listening to any of the preview media, as I wanted the album to come fresh, as a surprise, once the project was funded. (It had already reached the funding goal at the time of my backing, so I knew that Things Were Happening.)

The Parlour Trick – Meredith Yayanos (Twitter: @theremina) and Dan Cantrell – is an awful lot of musical talent manifesting in two people. In the sound of A Blessed Unrest, acoustic instruments predominate, with electronics there, but not blatant – a very sensitive and satisfying combination. (The Theremin, played by Yayanos manifests to me almost as though it were a “real” instrument rather than an electronic one. Hearing a Theremin so well used, I am quite inspired to get back into my Building An Electronic Instrument project.))

I don’t want to insult a piece of art like A Blessed Unrest by tearing it apart and subjecting it to critical analysis (thinking of the books I was put off for life, by their treatment at school) so my review of this work will be two simple words: hauntingly beautiful. Or possibly beautifully haunting. Both reflect my perception of this most excellent project.

I really hope that we will be hearing more from The Parlour Trick – ready and willing to support their next Kickstarter, should there be one.

The digital version of The Parlour Trick can be obtained through this Bandcamp page.

Short link for this post: http://bit.ly/TXVqzu

Downgrading Iceweasel on Debian Wheezy

Preamble

By default, Debian Wheezy installs Iceweasel (Firefox) 10.x. This can break a lot of extensions so, for those who would rather stick with version 3.x, this is how I reverted to the older version. Note that there may be alternative, ” official” method, but this is the quick-and-dirty that I came up with.

Disclaimer: this worked for me, your mileage may vary. Use these instructions at your own risk. (If you do come across any issues, please get in touch – especially if you find solutions – so I can amend this article.)

Get The Packages

At the time of writing, the current, stable, version of Debian is Squeeze – which installs Iceweasel 3.x by default. We will, therefore, make use of Squeeze packages:

Download packages appropriate for your architecture, install using dpkg -i, in the order given above. I think this is the correct sequence to solve all dependencies. Other dependencies may be unmet due to different software configurations. Simply note what’s missing from the messages given by dpkg and find the packages through packages.debian.org.

Footnote

Due to the rather onerous process of creating XUL-based extensions (and for other reasons) I am in the process of migrating to the Chromium browser. I went through this exercise because I can’t commit the time to either writing the Chromium extension or fixing the Firefox/Iceweasel one. With Chris Pederick’s Web Developer Toolbar now being available for Chrome/Chromium, my one little extension is the only remaining reason to be using Firefox/Iceweasel as my main browser.

Recent Versions of the Chromium Browser in Debian, Ubuntu

Preamble

I'm a big fan of the Debian Linux distribution but one thing that can be a problem is the age of some packages, especially web browsers. Needing to work with a recent version of the Chromium browser, this is how I managed to get it installed without going through the horrendous process of building from source.

Looking for Google Chrome?

If you are happy to trust Google's assertion about not being evil, you might be happy to use a build of Chrome. Betas and development versions are available through the Chrome Release Channels page.

Chromium Builds for Debian and Ubuntu

Recent Ubuntu builds are available from the Personal Package Archives (PPA) at launchpad.net. Ubuntu users can get instructions on how to use PPAs on the How do I user software from a PPA? page.

As the Ubuntu add-apt-repository tool is not available under Debian, Anant Shrivastava has a solution here. Once you have this tool installed, the rest is simple:


sudo add-apt-repository ppa:chromium-daily/beta
sudo apt-get install chromium-browser

Already having an old version of chromium-browser installed, this got me:


The following extra packages will be installed:
chromium-browser-l10n chromium-codecs-ffmpeg
The following NEW packages will be installed:
chromium-browser-l10n chromium-codecs-ffmpeg
The following packages will be upgraded:
chromium-browser

Which, so far, is working just fine. Note that this is not guaranteed to work. Whilst it worked without problems on my Squeeze AMD64 installation, your mileage may vary.

Where's WebRTC?

My reason for installing a recent version of Chromium was to play with WebRTC. Unfortunately, the Chromium build from the PPA does not have the necessary components enabled at compile time so, at this point, the Google Chrome build will be required. I will, however, be experimenting with Chromium for other purposes, including writing extensions, which appears to be a trivial process compared to battling Mozilla's XUL.

As WebRTC is new and scary, whilst it is enabled at compile time in Chrome builds, it needs to be enabled in the New and Scary, This May Wreck Your Browser controls, which may be found by navigating to chrome://flags/ Further information may be found on the not-very-up-to-date Running the Demos page at webrtc.org.

Debian for vi users in Australia

Preamble

Just about every computer I run, from my servers to my Raspberry Pi, is running some form of Debian Linux. For every installation I do, I have to go through a series of post-installation steps to get the system working the way I want it to. As I do not perform installations on an everyday basis, every time I do one, I have to go look up the various Debian-specific re-configuration commands required. This time I am recording them, and hope that they may be of use to others.

Note that this does not just apply to vi users in Australia – make appropriate substitutions, and you can be an EMACS user in Denmark, if you so wish.

Get Up To Date!

sudo apt-get update
sudo apt-get upgrade

Configure Locale

sudo dpkg-reconfigure locales

I generally check en_AU.UTF-8, en_GB.UTF-8, en_US.UTF-8. On the following screen, I select en_AU.UTF-8 as the default locale.

For the Raspberry Pi, setting the default locale fixes the keymap problem. (The Pi defaults to GB keyboard layout – Australia uses the US layout, so hash, dollar, don’t do what is expected. And it’s been over 11 years since I used a British keyboard.)

See the locale page on the Debian Wiki for details of how to fine-tune locales.

Configure Default Editor

As far as I’m concerned, There is No Editor But vi. I use vim, which might not be installed, so installing it first might be a Good Move.

sudo apt-get install vim
sudo update-alternatives --config editor

What’s The Time?

ntpq -crv

Hopefully ntpd has been installed automatically, and is up and running. Using public NTP servers, the stratum entry in this list should be 3. If ntpq throws any errors, try again with sudo. If there is still an issue, ntpd might need to be installed. To check who your ntp peers are:

ntpq -cpe

Configure your timezone:

sudo dpkg-reconfigure tzdata

Enabling sshd (Raspberry Pi)

The Raspberry Pi comes with sshd disabled. To get it working:

sudo cp /boot/boot_enable_ssh.rc /boot/boot.rc

Don’t forget to edit /etc/ssh/sshd_config to set appropriate security options.

Installing Packages

This is my default package set:

apt-get install dns-browse bzip2 links lynx apache2 subversion php5 php5-cli
libapache2-mod-php5 mysql-server mysql-client libmysqlclient15-dev
automake autoconf make gcc g++ gdb bison flex libtool postfix
expat libexpat1-dev libssl-dev libxml2 libxml2-dev libapache2-svn
imagemagick libmagick++10 libmagick10 ghostscript patch unzip

Apache users may need to enable what I consider to be essential modules:

a2enmod rewrite
a2enmod ssl
a2enmod headers

And here are a few security essentials to pop at the bottom of /etc/apache2/apache2.conf:

# You'll want this for PCI/DSS compliance:
ServerSignature Off
ServerTokens Prod
TraceEnable off

# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range
RequestHeader unset Request-Range

# Don’t let people see your subversion stuff:
<LocationMatch .svn>
Order allow,deny
Deny from all
</LocationMatch>

More Security Stuff

Recommended for PCI/DSS compliance, you’ll want this in /etc/sysctl.conf:

net.ipv4.tcp_timestamps = 0

And ditto for IPv6, if you have it configured. (I assume.)

You did check your /etc/ssh/sshd_config, didn’t you?

If you have an Internet-facing system, I will say just one word: iptables. And ip6tables, if you’re cool and appreciate just how good hexadecimal addresses look.

Killing Time – And Small Business

I don't usually get into activism, but…

Although I don't wear watches that often, I do have a fascination for them (mechanical ones at least,) coming partly from my fascination for timekeeping – an example of which is my Solstice Clock project, but also because they are created out of a meeting of art and precision engineering – two things close to my heart.

Luxury watches mean different things to different people. Whilst some may regard them as a vulgar show of ostentation (and, on some people, this is the only thing they can every be,) I see them as a piece of art which is also a highly portable investment – which can, incidentally, tell the time.

Where there are luxury watches, there must be watchmakers. (Cheap watches have – sadly become very much a throw-away item in our wasteful, throw-away society.) Watch-making is one of those traditional skilled trades, for which I have an enormous respect. Being able to work with tiny parts – which can be made without the use of modern manufacturing processes – and keeping a purely mechanical device tuned to a surprising degree of timing accuracy rates as a very worthy occupation, in my view. A year ago, I would not have even contemplated trying to take a wrist-watch apart, but thanks to the generosity of third-generation watchmaker, Nick Hacko, who is sharing some of the required skills through a series of articles, I am assembling a toolkit – and hoping for some spare time – so that I will be able to strip down and rebuild one of my pair of old Seiko automatics.

Unfortunately, Nick advises us through his mailing list that there is something rotten in the state of watchmaking. Big corporations ripping off customers and hurting small business is old news – but it's happening in this sector too, where master watchmakers are already a rare breed. The essence of the problem is that certain large concerns such as Rolex and Richemont (Cartier, IWC, Jaeger-LeCoultre, Panerai and others) will not sell spare parts to independent (but highly qualified) watchmakers, only performing repairs/service in-house. Having heard some horror-stories where customers are charged (at vastly inflated prices) for parts which are not even necessary to the repair in question, I am starting to have certain misgivings about the wisdom of acquiring a watch myself, at least from the investment perspective.

As I have mulled over the issue, I think that the aspects that upset me the most are that of another skilled trade being driven into extinction and that this is hurting small business. Running my own small business, the latter strikes a very loud chord (or possibly discord) with me.

Can anything be done about this situation? Possibly, but it's an effort that needs the help of many. Save The Time is a campaign trying to raise sufficient petition signatures to bring the issue before the ACCC (the Australian Competition and Consumer Commission) for action. If you are reading this article, you can help – even if you aren't in Australia. Sign the petition, make a difference.

Footnote

Whilst this article has not (yet) brought monopolistic watch manufacturers to their knees, it has attracted a positive deluge of attempted spam comments, so comments on this article are thus turned off. If you wish to provide feedback or discuss this matter, please contact me directly.