1. One year ago




    posted by cms on
    tagged as
  2. According to wikipedia, the term " Churnalism " was first coined by a BBC journalist. I think they may still have journalists working there.


    See how many items of product placement you can see in this proud piece of presumably PR-led "pop sci" about smart vending machines . I found it, prominently linked, on the BBC news home page on Boxing Day. The entire notion has a whiff that classic of white elephant puffery from the old school  the internet fridge about it.


    I don't know if I'm alone in finding this sort of thing repellant. The motivation to whip up this kind of nearly content-free guff into page length pieces must come from somewhere, which means a degree of specific intent. There's the skeleton of an interesting piece on mechanical learning and commercial interests buried in there somewhere, but I find it difficult to read when I keep being stabbed in the eyes by blatant marketing copy, much of which I uncharitably suspect of being pasted in directly from the source press-release. The focus of the piece ought to be on the science, perhaps some of the biometrics and algorithms supporting the interesting sounding  audience impression metric (AIM) software , but that's given a throwaway mention; instead the article's centre of gravity seems distorted to orbit around some recently launched consumer products, with little depth of story. Weird details leave unanswered questions hanging. In what way is a new Jell-O SKU "Just for adults" to the extent that it requires a screening interview by femputer ? Titillating teaser questions like this are familiar marketing devices used to capture and exploit base curiosity, but seem out of place in a news piece without any resolution. How does the system handle adults whose body shape diverges strongly from their defined four age brackets? What the merry heck is a  general manager of personal solutions anyway?


    I gave up counting the product placement incidents after the first couple of paragraphs. Only someone with intimate knowledge of the BBC house style rules would know just how many direct repetitions of the properly capitalized brand names Kraft and Intel are strictly necessary, but there seem to be an awful lot of them littering the piece. There's a lovely Intel i7 box graphic three-quarters of the way down the piece; it seems to me only tangentally related to the story, yet conveniently re-uses the branding iconography supporting their current consumer-targetted CPU line.


    Like many a British license-fee payer, I have a peculiar, combative slightly proprietorial relationship with the BBC; being in some weird sense a stake-holder in this unique broadcasting organisation; pride mingles with a misplace sense of ownership, disappointment tangles with admiration. Once upon a time I viewed their web initiatives as exemplary, inspirational and essential. These days they seem increasingly overcooked, irrelevant, and misguided.

    I realise, in a sense, I'm a grumpy old man ranting at the telly, but I think this tapering off of content quality provided by BBC online is a real thing. If so, a really worrying trend; added to this we have an effectively Conservative administration, who I'm sure would love to see the BBC, already in retreat, broken up further. Spreading out the more lucrative parts of the special quasi-monopoly, to their chums in commercial broadcasting whilst binning even more of the less lucrative parts in the name of austerity would fit in well with their principles of government.<p>
    posted by cms on
    tagged as
  3. xmas eve dinner party


    This year scheduling means our turn for hosting the big family meal falls on Christmas eve. Mrs S. did the lion's share of the cooking, facilitated by a new kitchen, more commodious than the postage stamp sized galley we've had for the past couple of years. Champagne, ice-cream,CBeebies pantomime on a loop, nut-roast, sprout and chestnut soup, mechanical penguins, musical crackers, roasted vegetables, and plenty of early presents for young Ada May to open and get over-excited about. Merry Christmas to all four of my readers!


     

    posted by cms on
    tagged as
  4. Ken Russell RIP : One of the 'name' directors that made me realise I was pretty interested in film.

    posted by cms on
    tagged as
  5. Hello there, old friend #movingin

    Of course, I bought and read the Jobsography , Kindle edition, naturally. While I'm not sure I identify with all the howling fanboys' anguished reviews, given my role as super-NEXTSTEP-fanboy  I was a bit disappointed, although not particularly surprised, at the relative lack of NeXT content. So I was overjoyed when this 1986 PBS documentary , featuring NeXT in it's pre-launch startup guise, popped up in it's wake. The linked blog post also contains the NeXT stevenote, from the eventual product launch.

    posted by cms on
    tagged as
  6. The perfect laptop at last

    Of course it's not actually running NEXTSTEP. Of course, in a sense it is. Just like your phone.


    Thanks to ebay. I like the fact that the sticker arrived with a little template indicating the correct 28° of jaunt. I ignored it of course, and just lined it up by eye.

    posted by cms on
    tagged as
  7. I've been having persistent niggles with my home router / 802.11x base station / DSL modem. It's a D-Link DSL-2740B , itself bought as a replacement for my ISP-provided machine, an O2 wireless III (a re-badged Thomson SpeedTouch) which proved itself a low performer at both wireless and routing, and particularly dismal at doing both simultaneously.

    I picked up the D-link cheaply, in a clearance bin in John Lewis. In most respects it has been a splendid replacement for the O2. WiFi is fast, routing is consistent, ADSL sync is better. However, it does have one stupid bug. It can't do DHCP reliably. After a certain period, it starts sending out broken leases to clients; either issuing them with IP addresses that are already in use, or more commonly issuing a working address, but nullifying the nameserver settings. A reboot will restore sanity, but involves an irksome couple of minutes of network outage. Afterwards it is only a matter of time before the problem re-emerges, noticeably quicker if there's an increased rate of new leases issued, such as a group of visitors armed with smartphones popping in.

    I'm consistently amazed at how flawed home router appliances are. How anyone 'normal' is supposed to cope with these things, I have no idea. I've updated the firmware to the last available revision, fiddled with the limited options in the admin interface, to little avail. Web searches turn up a few people commenting on the same problem, but no solutions offered. This leaves me with three straightforward, yet unappealing options.

    1. Buy another router. Either another toy one, which seems likely to smuggle in some fresh nugget of buried failure, or buy something more professional, and hence eye-wateringly expensive
    2. Set up static configuration for every client. Seems a stupid solution in 2010 for a primarily wireless network
    3. Disable DHCP on the router, and add another, more reliable DHCP server to the network


    Option 3 initially seems least aggravating. In the past, my strategy for service infrastructure has always been using home servers, with some form of UNIX. These days though, I'm trying to minimise the number of computer-type devices I have to keep running 24/7. I no longer find any joy in being a home UNIX administrator, and it's nice to correspondingly reduce power consumption, fan noise, and cabling. So the idea of setting up a computer just to act as a DHCP controller is slightly repellant.



    The only machine tethered to the network is a modest, first-generation, G4 mac mini . It's chief use in the past was as a basic freeview PVR, using Elgato eyeTV , but the London flat's TV reception is too poor for this, so it mostly acts as an AFP -capable network interface to my firewire Drobo . It's a very old, low power machine, but would certainly be capable of acting as a DHCP server.

    It wasn't immediately obvious how best to do this. Obviously I could install any of the common free UNIX DHCP software, using MacPorts , or homebrew , or fink , or even just hand rolling something from tarballs, but all of these come with overheads, adding dependencies, requiring build tools, and subsequent package management, and all the little bits of service glue needed to make it run neatly as a daemon. Experience has shown me that integrating third-party UNIX services into a vanilla Macintosh can get fiddly, fast.

    There's no obvious DHCP server component on desktop OS X, but there's a latent capacity somewhere, demonstrated by 'Internet sharing', which lets you easily set up a Macintosh with a network connection as a basic router. After a little bit of poking around with this, and some internet searching, I discovered that this facility is part of the bootpd service. It's documented, and after a little trial-and-error, I figured out a way to run a DHCP server facility only, using just the built-in Apple utilities.

    Here's an overview of my network configuration
    • The D-link router provides NAT routed internet via O2 ( actually Be ) ADSL 2+ with a static IP.


    • The private subnet is 192.168.1.0/24


    • The router's internal address is set as 192.168.1.1


    • The mac mini is connected to the router via wired ethernet with an address of 192.168.1.4, and runs headlessly.


    • Everything else connects to the D-Link router wirelessly, using a mix of 802.11n and 802.11g




    Here's how to set up bootpd to act as a DHCP server for this network.



    First, configure the mac mini to have a static IP. Using screen-sharing from another Mac ( Cmd-K, vnc://192.168.1.4 ) to configure the network interface in system preferences.








    Next, configure your computer to also have a static address on the same subnet. If you get something wrong, and need to troubleshoot settings, you'll still need to be able to connect between the router, the mini and your workstation. I picked 192.168.1.111, as being well outside the range of anything I'd expect to be routinely allocated.

    Now you need to produce your bootpd config file ( /etc/bootpd.plist ). Unfortunately this means an XML property list. Every time I feel smug about how the Macintosh is re-invigorating UNIX with the old, crufty bad bits removed, I ought to remind myself about the maniacally stupid idea that is XML plists. Instead I thank my stars that I have a capable text editor. It's not that fearsome a property set, and is well explained in the man page , so you could build one by hand. An alternative approach, the one I used, would be to set up internet sharing temporarily on the mini for an interface you're not using; I chose firewire. Take a copy of the /etc/bootpd.plist file this will create, e.g. / etc/bootpd.plist.template , and then disable internet sharing again, which will remove the /etc/bootpd.plist file if it still exists. Now rename your template back to /etc/bootpd.plist and edit it.

    The options are all well documented, and it turns out that you need hardly any of them to get up and running.

    The key options are


    • dhcp_enabled: an array of network interface device names to answer dhcp requests on - I just have en0, which is the built-in ethernet
    • Subnets: an array of property dictionaries, that represent networks we're interested in serving. We only want a single dictionary for 192.168.1.0/24.
      • net_address: , is the network address - 192.168.1.0,
      • net_mask: the netmask for our subnet range - '255.255.255.0',
      • dhcp_router: default gateway address - 192.168.1.1
      • net_range: an array of strings representing the bounds of a pool of addresses to allocate from - 192.168.1.12 to 192.168.1.254
      • allocate: a boolean that is set to indicate that we're interested in issuing addresses for this subnet
    <ul>

    Most of the other defaults are sensible. I've kept all the other values that were generated for my template. Here's what I have in my file.


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Subnets</key>
    <array>
    <dict>
    <key>_creator</key>
    <string>cms</string>
    <key>allocate</key>
    <true/>
    <key>dhcpdomainname_server</key>
    <string>208.67.222.222,208.67.220.220</string>
    <key>dhcp_router</key>
    <string>192.168.1.1</string>
    <key>lease_max</key>
    <integer>3600</integer>
    <key>lease_min</key>
    <integer>3600</integer>
    <key>name</key>
    <string>192.168.1</string>
    <key>net_address</key>
    <string>192.168.1.0</string>
    <key>net_mask</key>
    <string>255.255.255.0</string>
    <key>net_range</key>
    <array>
    <string>192.168.1.12</string>
    <string>192.168.1.254</string>
    </array>
    </dict>
    </array>
    <key>bootp_enabled</key>
    <false/>
    <key>detectotherdhcp_server</key>
    <integer>0</integer>
    <key>dhcp_enabled</key>
    <array>
    <string>en0</string>
    </array>
    <key>replythresholdseconds</key>
    <integer>4</integer>
    </dict>
    </plist>


    Next, create two empty files that bootpd expects to use. ' /etc/bootptab ', for any static address maps, and /var/db/dhcpd_leases , which will be a persistent database for issued leases. Now connect to the router, and disable it's DHCP server.

    The bootpd binary lives at /usr/libexec/bootpd . If you run it from a terminal with a -d flag, it will stay in the foreground and emit debugging info to stdout. You'll need root privileges for it to run, I just used sudo /usr/libexec/bootpd . Now request a dhcp address from a different network client. I used an iPad. It's a good idea to make a note of the network MAC address. If everything is working, you should see some output acknowledging the request, and then some more as a lease is issued. The client should then configure it's network interface with all the settings from your Subnet definition above. If it doesn't, and the output isn't helpful enough, there's also a further -v switch for more verbose logging.

    Initially I had trouble getting any leases issued although all requests were logged fine. It turned out I'd misconfigured the netmask when I set up the static address for the mini. If the network details don't match the defined subnet exactly, then bootpd will just fall back to default behaviour for the subnet, which is to just observe. Once I fixed that, things started working as they should. By default, a line is written to logs in /var/system.log for every request recieved, and one for every lease issued.

    The remaining task is to configure the service to run as a daemon from launchd. Luckily, there is a launchd profile for bootpd present, /System/Library/LaunchDaemons/bootps.plist .

    You can install this persistently into launchd like so

    sudo launchctl load -w /System/Library/LaunchDaemons/bootps.plist

    Running sudo launchctl list should then show a com.apple.bootpd service enabled. If for some reason you need to disable it once again, you can uninstall the service using

    sudo launchctl unload -w /System/Library/LaunchDaemons/bootps.plist



    posted by cms on
    tagged as
  8. How about some photos of squid flying through the air? I've heard anecdotal reports of this sort of thing happening, which on the face of it sound reasonable, if not a little far fetched. They do possess all the right sort of equipment, and controlled jet propulsion through the air isn't really that far from their usual method of locomotion at speed, which is controlled jet propulsion under the water, after all.

    The full writeup in the parent post contains plenty of detail about a recent observation of groups of squid exhibiting fairly controlled, short flight. Not only does the article contain lots of interesting links to scientific write-ups of arial squid observation , but it also contains several high-resolution photo images of the buggers captured in the act.

    It would make a lot of sense for them to use as an evasive action. Squid can manage impressive accelerations in their submarine environment, but through the air, they would perform even more rapidly, over short distances. "Short" is of course, relative. One of the write-ups based on observations estimates 20cm squid reaching 10m in a controlled flight. They seem to form their bodies into lifting, braking and stabilising shapes as they go. Squid are ace.

    posted by cms on
    tagged as
  9. As if finding young me in a box wasn't enough of a memo from Father Time, I've had the "circle of life" message underlined firmly this weekend, by throwing my back out. I mean, properly out, like a sit-com old man, or a Dad from the pages of the Beano. Lifting hurts, walking hurts, sitting mostly hurts, breathing hurts, and bending over is right out. It's one of those marvellous hysterical systems, as the slightest twinge of pain induces all sorts of involuntary tensing in the frantically overcompensating muscle superstructure of my back. The lower nervous system is clear in it's mission. No harm must befall the spine. I strongly suspect that the resultant freezing and spasm makes everything significantly more painful than the original twinge would have managed on it's own, but I am not a doctor. Even though I often assure people that I am, this is actually a well-practiced lie, serving the purposes of antique stock-comedy forms.


    The generational aspect of this calamity draws from the fact that I triggered the strain whilst throwing young Ada May ceilingward, in response to her requests to "play flying". Unluckily for me, the initial spasm occurred at the point of release of a throw, meaning that despite my attention being drawn to all sorts of immediate and novel spinal trauma, I still had an falling two year old to catch safely before I could collapse sobbing to the floor with my honour and dignity intact. Two year old children, I must say, are quite a bit heavier than their one year old incarnation.


    The thing with back trouble, most sources assure me, is to try and persevere through it. Grit one's teeth, and carry on as much of your normal routine as you can manage. On no account admit defeat and flee to your bed rest. Rest will relax and weaken your back, and exacerbate the problem, or if you're unlucky, invent some new ones. And so I struggle forwards in embittered mimicry of my daily routine, gasping and wheezing and moaning every couple of steps, frozen in place with involuntary grimacing stuck to my face. It has taken me nearly twice as long to get to work as it ordinarily might. Negotiating St. Pancras, I find myself flooded with sympathy for anybody with genuine mobility problems. The place is a nightmare, and it's supposed to be one of London's newest, most accessible hubs. I inch my way towards the office. All my hope is invested in my fancy orthopaedic stool . Please, mighty German engineering, please do your work.


    Twenty-five year old me pouts condescendingly from my home page as I update my blog. He's got nothing but contempt for broken backed old men. He's too vain and pre-occupied to worry himself with mundane things like exercise and posture. I'm starting to hate that guy a bit.

    posted by cms on
    tagged as