Author: scruss

  • Good old Warden Woods

    Good old Warden Woods

    Instagram filter used: Lo-fi

    Photo taken at: Warden Woods Dog Park

    View in Instagram ⇒

  • Did it just get a little more nerdy in here?

    VA3PID-eQSL-eWAS-PSK-20131014Aw yiss! After more than two years of trying, I finally got a confirmed contact in North Dakota last night. That means I’ve now worked all of the US states using the PSK digital mode. Yay me!

    I’d contacted 47/50 within a few months of getting my licence, including Maine. Utah I spoke to in November 2011, South Dakota in January 2012; but the last one, North Dakota, I didn’t pick up until last night. I was just about to turn off the radio for the night when I have 40m a try, and there was Bill (ND0B) calling from Cathay, ND. Sometimes you find what you’re looking for without even trying. Happy Thanksgiving!

  • Early Machine Intelligence

    Early Machine Intelligence

    Instagram filter used: Lo-fi

    Photo taken at: Ball’s Falls Conservation Area & Centre For Conservation

    View in Instagram ⇒

  • We’ve got your Fall right here

    We’ve got your Fall right here

    Instagram filter used: Lo-fi

    Photo taken at: Ball’s Falls Conservation Area & Centre For Conservation

    View in Instagram ⇒

  • Morse Palindromes, or CQ Christian Bök

    The longest palindrome in Morse code is “intransigence””, and it was on

    First off, here’s the Morse code for the word intransigence:

    ·· –· – ·–· ·– –· ··· ·· ––· · –· –·–· ·
    i  n  t r   a  n  s   i  g   e n  c    e

    If you look at it as a simple stream of dits and dahs, then yes, it’s palindromic. But, like comedy, the secret of Morse (or CW) is timing. It’s important to include the spaces between the keyings, or letters become hard to identify as they run together. For a word to truly sound palindromic, it would need to have the same spacing too, and thus have to start and end on Morse codes that were mirror-images.

    Not only that, but you get codes which when reversed, become another letter. a (·–) becomes n (–·) when reversed. So things are getting more complex, as we’ve now got to think of:

    1. Words which are both palindromes in the English and Morse code;
    2. Words which are palindromes in Morse, but not when written in English.

    With only Convert::Morse and words to guide me, here’s what I found.

    Firstly, here’s a Morse code table for reference:

     ! → –·–·––           3 → ···––          a → ·–          n → –·
     " → ·–··–·           4 → ····–          b → –···        o → –––
     ' → ·––––·           5 → ·····          c → –·–·        p → ·––·
     ( → –·––·            6 → –····          d → –··         q → ––·–
     ) → –·––·–           7 → ––···          e → ·           r → ·–·
     + → ·–·–·            8 → –––··          f → ··–·        s → ···
     , → ––··––           9 → ––––·          g → ––·         t → –
     - → –····–           : → –––···         h → ····        u → ··–
     . → ·–·–·–           ; → –·–·–          i → ··          v → ···–
     / → –··–·            = → –···–          j → ·–––        w → ·––
     0 → –––––            ? → ··––··         k → –·–         x → –··–
     1 → ·––––            @ → ·––·–·         l → ·–··        y → –·––
     2 → ··–––            _ → ··––·–         m → ––          z → ––··

    From that, you can see that the letters which have symmetrical keyings are:

     " ' ) + , - 0 5 ; = ? e h i k m o p r s t x

    So are there palindromic words composed only of the letters E, H, I, K, M, O, P, R, S, T & X? Here are the ones in my words file, longest first:

     sexes rotor toot sees poop peep kook tot
     tit SOS sis pop pip pep oho mom ere eke

    (Somewhere, the ghost of Sigmund Freud is going “Hmm …”)

    When encoded, rotor (·–· ––– – ––– ·–·) has more dahs that sexes (··· · –··– · ···), so takes longer to transmit. So rotor is the longest word that’s palindromic in both English and Morse.

    The characters which have valid Morse codes when reversed are:

     " → "             8 → 2             l → f
     ' → '             9 → 1             m → m
     ) → )             ; → ;             n → a
     + → +             = → =             o → o
     , → ,             ? → ?             p → p
     - → -             a → n             q → y
     0 → 0             b → v             r → r
     1 → 9             d → u             s → s
     2 → 8             e → e             t → t
     3 → 7             f → l             u → d
     4 → 6             g → w             v → b
     5 → 5             h → h             w → g
     6 → 4             i → i             x → x
     7 → 3             k → k             y → q

    Note how 1…9 reverse to 9…1. c, j & z don’t stand for anything backwards.

    So, with only minimal messing about, here are the words that are palindromes in CW:

     ada → nun              ads → sun              ages → sewn
     ago → own              ail → fin              aim → min
     ana → nan              ani → ian              ant → tan
     ants → stan            boa → nov              eel → fee
     ego → owe              eire → erie            eke → eke
     emir → rime            emit → time            ere → ere
     erie → eire            eris → sire            eros → sore
     etna → nate            fee → eel              feel → feel
     fever → rebel          few → gel              fin → ail
     fins → sail            fool → fool            foot → tool
     foots → stool          footstool → footstool  fop → pol
     gel → few              gem → mew              gets → stew
     gnaw → gnaw            goa → now              gob → vow
     gog → wow              got → tow              hoop → pooh
     ian → ani              ids → sui              kans → sank
     kant → tank            keep → peek            kook → kook
     kroger → rework        leer → reef            leif → lief
     lief → leif            loops → spoof          meet → teem
     mew → gem              min → aim              mir → rim
     mit → tim              mom → mom              moor → room
     nan → ana              nate → etna            nerd → urea
     net → tea              nib → via              nit → tia
     nov → boa              now → goa              nun → ada
     oho → oho              otto → otto            outdo → outdo
     owe → ego              own → ago              owns → sago
     peek → keep            peep → peep            pees → seep
     pep → pep              per → rep              pets → step
     pip → pip              pis → sip              pit → tip
     pol → fop              pooh → hoop            poop → poop
     pop → pop              ports → strop          pot → top
     pots → stop            queer → reedy          quit → tidy
     rebel → fever          reedy → queer          reef → leer
     regor → rower          remit → timer          rep → per
     rework → kroger        rim → mir              rime → emir
     robert → trevor        room → moor            rot → tor
     rotor → rotor          rower → regor          runs → sadr
     sadr → runs            sago → owns            sail → fins
     saints → stains        sangs → swans          sank → kans
     sans → sans            seep → pees            sees → sees
     sewn → ages            sexes → sexes          sip → pis
     sire → eris            sis → sis              sling → waifs
     sloops → spoofs        sore → eros            sos → sos
     spit → tips            spoof → loops          spoofs → sloops
     sports → strops        spot → tops            spots → stops
     stains → saints        stan → ants            step → pets
     stew → gets            sting → waits          stool → foots
     stop → pots            stops → spots          strop → ports
     strops → sports        suds → suds            sui → ids
     sun → ads              sung → wads            swans → sangs
     swig → wigs            swigs → swigs          taint → taint
     tan → ant              tang → want            tank → kant
     tea → net              teem → meet            tet → tet
     tia → nit              tidy → quit            tim → mit
     time → emit            timer → remit          ting → wait
     tip → pit              tips → spit            tit → tit
     tog → wot              tool → foot            toot → toot
     top → pot              tops → spot            tor → rot
     tort → trot            tot → tot              tow → got
     trevor → robert        trot → tort            urea → nerd
     via → nib              vow → gob              wads → sung
     waifs → sling          wait → ting            waiting → waiting
     waits → sting          wang → wang            want → tang
     wig → wig              wigs → swig            wot → tog
     wow → gog

    So of all of these, footstool (··–· ––– ––– – ··· – ––– ––– ·–··) is the longest English word that is a palindrome in CW. Here is how it sounds at 18wpm: forwards, backwards.

  • A spinny thing … on wheels!

    A spinny thing … on wheels!

    Instagram filter used: Lo-fi

    Photo taken at: Metro Toronto Convention Centre – South Building

    View in Instagram ⇒

  • Trade Show Aftermath

    Trade Show Aftermath

    Instagram filter used: Lo-fi

    Photo taken at: Metro Toronto Convention Centre – North Building

    View in Instagram ⇒

  • Red creeper

    Red creeper

    Instagram filter used: Lo-fi

    View in Instagram ⇒

  • Get …

    Get …

    Instagram filter used: Lo-fi

    Photo taken at: Highland Farms

    View in Instagram ⇒

  • VA3PID is back on the air!

    ScreenShot-2013-10-03-19.13.12Got my radio back on the air after six months off. I’d decommissioned the ancient ThinkPad that spoke to the radio, and hadn’t worked out what I’d needed to get it running with the MacBook. All it took was a FTDI-based USB to serial converter for the RigBlaster Pro’s PTT line control, and all works perfectly!

  • I love this space

    I love this space

    Instagram filter used: Lo-fi

    Photo taken at: Union Station

    View in Instagram ⇒

  • Ymnota …

    Ymnota …

    Instagram filter used: Lo-fi

    View in Instagram ⇒

  • Buck-50 coffee and muffin; rockin’ it retiree-style

    Buck-50 coffee and muffin; rockin’ it retiree-style

    Instagram filter used: Lo-fi

    Photo taken at: Country Style Bistro Deli

    View in Instagram ⇒

  • Faster Java on Raspberry Pi

    With the official announcement of Oracle Java on Raspberry Pi, Java just got usable on the Raspberry Pi. It’s still not super-fast, but I’m seeing ~10× speedup over OpenJDK.

    To install it (on Raspbian):

    sudo apt-get update && sudo apt-get install oracle-java7-jdk
    sudo update-java-alternatives -s jdk-7-oracle-armhf

    By way of a baseline, here are SciMark 2.0 results on OpenJDK:

    $ java -classpath ./scimark2lib.jar jnt.scimark2.commandline -large
    
    SciMark 2.0a
    
    Composite Score: 2.4987047508570632
    FFT (1048576): 1.5550941987343943
    SOR (1000x1000):   5.32030759023185
    Monte Carlo : 0.6005590152716936
    Sparse matmult (N=100000, nz=1000000): 2.3584905938878946
    LU (1000x1000): 2.6590723561594847
    
    java.vendor: Sun Microsystems Inc.
    java.version: 1.6.0_27
    os.arch: arm
    os.name: Linux
    os.version: 3.6.11+

    Here’s what the Oracle JDK cranks out (bigger numbers → better):

    $ java -classpath ./scimark2lib.jar jnt.scimark2.commandline -large
    
    SciMark 2.0a
    
    Composite Score: 14.94896390647437
    FFT (1048576): 6.953238474333376
    SOR (1000x1000):   33.91437255527547
    Monte Carlo : 8.869794361002157
    Sparse matmult (N=100000, nz=1000000): 9.81896340073432
    LU (1000x1000): 15.188450741026523
    
    java.vendor: Oracle Corporation
    java.version: 1.7.0_40
    os.arch: arm
    os.name: Linux
    os.version: 3.6.11+

    That’s a tidy increase, and might make Processing and Arduino much easier to work with.

    (It’s still not tremendously fast, though. My i7 quad-core has a composite score of nearly 1450 …)

  • The Highland Creek Experience

    The Highland Creek Experience

    Instagram filter used: Lo-fi

    Photo taken at: Highland Creek by Centennial

    View in Instagram ⇒

  • Don’t think I can bike this

    Don’t think I can bike this

    Instagram filter used: Lo-fi

    Photo taken at: Woburn Park

    View in Instagram ⇒

  • BeagleBone Black: slow as a dog

    All benchmarks are artificial, but this one had me scratching my head. One hears  that the BeagleBone Black is screamingly fast compared to the Raspberry Pi; faster, newer processor, blahdeblah, mcbtyc, etc. I found the opposite is true.

    So I buy one at the exceptionally soggy Toronto Mini Maker Faire. Props to the CircuitCo folks, they are easy to set up: just a mini-USB cable provides power and virtual network shell. And BoneScript — an Arduino-like JavaScript library — is very clever indeed. But I need to see if this thing has any grunt, and so I need a benchmark.

    After hearing about the business-card raytracer, I thought it would be perfect. I compiled it on both machines with:

    g++  -Ofast   card.cpp   -o card

    and then ran it with:

    time ./card > /dev/null

    The results are … surprising:

    • Raspberry Pi: 4′ 15″
    • BeagleBone Black: 12′ 39″ → 3× slower

    (In comparison, my i7 quad-core laptop runs it in 8½ seconds.)

    I don’t have any explanation why the BBB is so much slower. It’s almost as if the compiler isn’t fully optimizing under Ã…ngström Linux.

    Raspberry Pi: system info

    $ uname -a
    Linux rpi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
    
    $ cat /proc/cpuinfo 
    Processor    : ARMv6-compatible processor rev 7 (v6l)
    BogoMIPS    : 697.95
    Features    : swp half thumb fastmult vfp edsp java tls 
    CPU implementer    : 0x41
    CPU architecture: 7
    CPU variant    : 0x0
    CPU part    : 0xb76
    CPU revision    : 7
    
    Hardware    : BCM2708
    Revision    : 000f

    BeagleBone Black: system info

    # uname -a
    Linux beaglebone 3.8.13 #1 SMP Tue Jun 18 02:11:09 EDT 2013 armv7l GNU/Linux
    # cat /proc/cpuinfo 
    processor    : 0
    model name    : ARMv7 Processor rev 2 (v7l)
    BogoMIPS    : 297.40
    Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
    CPU implementer    : 0x41
    CPU architecture: 7
    CPU variant    : 0x3
    CPU part    : 0xc08
    CPU revision    : 2
    
    Hardware    : Generic AM33XX (Flattened Device Tree)
    Revision    : 0000

    Both boards are running at stock speed.

    Update: I’ve tried with an external power supply, and checked that the processor was running at full speed. It made no difference. I suspect that Raspbian enables armhf floating point by default, while Ã…ngström needs to be told to use it.

  • That’s one big Arduino shield

    That’s one big Arduino shield

    Instagram filter used: Lo-fi

    Photo taken at: Makerfaire Toronto

    View in Instagram ⇒