Author: scruss

  • Library from on high

    Library from on high

    Instagram filter used: Lo-fi

    Photo taken at: Toronto Public Library (North York Central Library Branch)

    View in Instagram ⇒

  • Thanks, Pete

    You did good. We’ll miss you.

  • Linking ≠ Abuse.

    Got this e-mail today.  Addresses redacted, but otherwise verbatim:


    Subject: Link removal request
    From: Rodger Lodge <entrust_____@gmail.com>
    Date: 14-01-27 08:46 AM
    To: abuse@my hosting company.com, me, hostmaster@my hosting company.com

    Hi,

    We have recently received a notification from Google stating that our website has unnatural links pointing towards it. This has really damaged our rankings on Google and as a result, we’re trying to clear things up.
    Our website url is www.entrust.net.

    We noticed the following links are pointing to our website from your site:
    http://scruss.com/blog/2006/12/
    http://scruss.com/blog/2006/12/14/when-you-really-havent-chosen-not-to-trust-citrix-mac-os-x-and-entrust-certificates/
    http://scruss.com/blog/tag/citrix/

    I appreciate this is inconvenient and isn’t a reflection on your website at all, but if you’re able to remove the links, we would really appreciate it and would be very grateful.

    I look forward to hearing from you.

    Rodger Lodge

    Entrust, Inc.


    So, one of the prime security companies (I’m strongly resisting the urge to link to them here, but I’m above that) is using gmail to send out official notices? Why not a securely signed e-mail from their .net domain? That might be more legit. Also, sending me a copypasta response lifted  from the “Ultimate Guide to Google Penalty Removal” seems a little … gauche.

    If this is for real, then I’m annoyed. I wrote the original article in 2006 in an attempt to help Mac users get work done with a popular remote-access package. I’m not dissing the company in any way: I’m helping people use their products better. Linking is not abuse.

    It’s probably just spam, though.

    Update: Nope, not spam. Got an apology by e-mail from Nate Plaunt of Online Performance Marketing, saying: “This was an automated email generated by this digital agency and your sites were mistakenly targeted”.  Still no apology for the e-mail to abuse@…, tho’. That’s never an acceptable first communication.

  • Estimating the speed of sound with stereo microphones and Audacity

    Screenshot from 2014-01-13 22:43:03With a pair of binaural mics placed 33.7 cm apart feeding into a stereo USB sound card (a Griffin iMic), I clapped near the left mic. It took 39 samples (884 µs) for the peak to travel between the microphones. That gave me a speed of sound of 381 m/s. A bit high, but the conditions this evening weren’t ideal, and I only set up the experiment with cursory care.

    The iMic seems unusual in having a stereo line/mic input. Most other (cheaper) USB dongles only have a mono input.

  • A most excellent reel de-spooler

    A most excellent reel de-spooler

    A family member gave me his old Abu Ambassadeur C3 along with a nice little custom carbon baitcaster rod. There was some old monofilament on the reel that I’d need to change out; but how to despool it?

    It turns out that a toilet roll tube is a light friction fit onto the keyless chuck of my cordless drill. Wedge the end of the line under the tube, put the reel into casting mode, and (gently) rev up the drill. You’ll need to guide the line so it doesn’t run off into the drill shaft. Takes a minute or so to empty the whole reel.

    Once you’re done, take a pair of snips and cut the cardboard tube lengthwise, cutting through the fishing line as you go. This ensures that there are no long bits of nylon that can trap wildlife, as fishing line biodegrades very slowly.

    View in Instagram ⇒

  • Ripley’s? Tripley’s, more like

    On Wednesday, Catherine and I went to Ripley’s Aquarium of Canada. It was fantastic. I took some pictures:

    squee'able micro-shark

  • The HP48: the best calculator ever

    We had an unscheduled overnight stop in East Lansing last week, and I took the chance to visit the MSU Surplus Store.  For $15, they had HP48G calculators, seemingly unused:

    hp48gThey still have a bunch of them: HP 48G Graphic Calculator.

    They’re maybe not the quickest (the 4 MHz Saturn processor chugs sometimes, and wanders off to clean up memory when it feels like it), the display is downright chunky these days, but they have everything that a scientific calculator should have. The keys have a good action. It just works. Yes, your smartphone has hundreds of times the processing power, but it’s not specialized to the task. The HP48 is.

    If you’re feeling really nerdy, you can run an HP48 (a GX, not the G which I have) under Linux using x48. Jeff has some useful tips on installing x48 on newer ubuntu versions (though you don’t have to do the font thing under Ubuntu 13.10).

    x48Building it is a small matter of ./autogen.sh ; ./configure ; make ; sudo make install.  To run it, you’ll need to install the GX ROM image to ~/.hp48.  The first time you run it, I’d recommend running it from the terminal with:

    x48 -connFont -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-16 -smallFont -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-16 -mediumFont -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-16 -largeFont -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-16 -reset -initialize -rom ~/.hp48/rom

    as the ROM format has an outdated config file which causes it to complain weakly every time you start the emulator.

    Scanned manuals are available from HP and archive.org here: HP 48g User Guide, HP 48g Quick Start Guide.

  • It’s a shame about Ray …

    It’s a shame about Ray …

    Instagram filter used: Lo-fi

    Photo taken at: Ripley’s Aquarium of Canada

    View in Instagram ⇒

  • Trippin’ with the Alewives

    Trippin’ with the Alewives

    Instagram filter used: Lo-fi

    Photo taken at: Ripley’s Aquarium of Canada

    View in Instagram ⇒

  • Processing 2.1 + Oracle Java + Raspberry Pi + Serial + Arduino = ☺

    Hey! This is very old and there’s an officially supported version out now coming out very soon.

    Update for Raspberry Pi 2/Processing 2.2.1/Processing 3.0.5: Raspbian now ships with Java 8, and Processing only likes Java 7. oracle-java7-jdk is still in the repos, so install that, and follow the instructions below. It’s a bit flakey, but when it runs, runs quite fast on the Raspberry Pi 2. You might have more luck running Processing.js or p5.js in the browser.

    With Sun Oracle hardfloat Java now available, Processing now runs at a decent clip on the Raspberry Pi. My old instructions are now very obsolete. Here are current, tested instructions for installing it under Raspbian.

    [This is a particular solution to installing a Serial/Firmata-enabled Processing 2.1 distribution on a Raspberry Pi. Processing still has issues with other aspects of visual programming (particularly video) that I’m not addressing here.]

    A lot of software is installed here, and much of it depends on previous steps. Don’t jump in mid-way and expect it to work.

    Update the system

    Always a good plan if you’re doing major upgrades:

    sudo apt-get update
    sudo apt-get dist-upgrade

    Install Sun Oracle Java

    sudo apt-get install oracle-java7-jdk

    Check if the right version is installed as default: java -version should give

    java version "1.7.0_40"
    Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
    Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)

    If you get anything else, you need to make Sun Oracle’s version the default:

    sudo update-alternatives --config java

    Download & Install Processing

    Go to Download \ Processing.org and get the Linux 32-bit version.  It’s big; about 100 MB. I’m going to install it in my home directory, so the base path will be ~/processing-2.1. Extract it:

    tar xvzf processing-2.1-linux32.tgz

    Now you have to remove the included x86 Java runtime, and replace it with the Raspberry Pi’s armhf one:

    rm -rf ~/processing-2.1/java 
    ln -s /usr/lib/jvm/jdk-7-oracle-armhf ~/processing-2.1/java

    You should now have a Processing installation that will run, but there’s some more we need to get serial and Arduino support.

    Install the  java Simple Serial connector

    Download jSSC-2.6.0-Release.zip and extract it:

    unzip jSSC-2.6.0-Release.zip

    Now overwrite the jssc.jar that ships with Processing with the one you just downloaded:

    mv jSSC-2.6.0-Release/jssc.jar ~/processing-2.1/modes/java/libraries/serial/library/

    (You can remove the jSSC folder now: rm -r jSSC-2.6.0-Release)

    Test Processing’s serial support

    You’re almost there! Fire up Processing:

    ~/processing-2.1/processing

    and try Perhaps the World’s Most Boring Processing Sketchâ„¢:

    // Example by Tom Igoe
    
    import processing.serial.*;
    
    // The serial port
    Serial myPort;
    
    // List all the available serial ports
    println(Serial.list());
    

    Screenshot from 2014-01-07 20:08:32When this runs (it’s a little slow), you should get a single line of output, which should start /dev/tty___:

    /dev/ttyACM0

    (I have an Arduino Leonardo attached, which usually appears as an ACM device.)

    Installing Arduino/Firmata support

    (I’m not going to go into uploading Firmata onto your Arduino here. All I can recommend is that you use the newest version at firmata/arduino, rather than the old code bundled with your Arduino distribution.)

    Exit Processing, and download processing-arduino.zip from firmata/processing. Extract it into your Processing sketchbook:

    unzip processing-arduino.zip -d ~/sketchbook/libraries/

    For tedious reasons, you also have to rename one of the files:

    mv  ~/sketchbook/libraries/arduino/library/Arduino.jar  ~/sketchbook/libraries/arduino/library/arduino.jar

    Start up Processing again, and  save Most Probably the World’s Second Least Interesting Processing Programâ„¢:

    import processing.serial.*;
    import cc.arduino.*;
    Arduino arduino;
    int ledPin = 13;
    
    void setup()
    {
      println(Arduino.list());
      arduino = new Arduino(this, Arduino.list()[0], 57600);
      arduino.pinMode(ledPin, Arduino.OUTPUT);
    }
    
    void draw()
    {
      arduino.digitalWrite(ledPin, Arduino.HIGH);
      delay(1000);
      arduino.digitalWrite(ledPin, Arduino.LOW);
      delay(1000);
    }
    

    Screenshot from 2014-01-07 21:13:54
    What this sketch does is emulate the µC’s “Hello World” program, Blink. It flashes the board’s LED once per second. Boring? Yes. But if it worked, you have a working Processing 2.1 installation on your Raspberry Pi. Go forth and make more interesting things.
    (Props to bitcraftlab/wolfing for the basic outline for installing Processing, and for samaygoenka for the prodding needed to update and test the Processing installation process. If you’re still stuck, the Processing 2.0 Forum and the Raspberry Pi Forum are good places to ask.)

  • The Reel Thing

    The Reel Thing

    Instagram filter used: Lo-fi

    View in Instagram ⇒

  • Pretty cold

    Pretty cold

    Instagram filter used: Lo-fi

    View in Instagram ⇒