1. It is possible, if somewhat awkward, to update the Mooer Ocean Machine firmware on a mac using Wine and a cheap USB MIDI cable.

    WARNING: if the firmware update doesn’t complete successfully, it will not permanently brick your unit (as the update can always be attempted again) but the pedal will not work until a firmware is successfully installed! Attempt at your own risk, and definitely not 10 minutes before a gig.

    First, download the update from the Mooer website. The update and update software comes in a .rar archive, so you’ll need something like The Unarchiver to unpack it.

    You’ll need the latest version of Wine for Mac from winehq.org. I successfully installed the firmware update using 3.0.2. Using version 2.0 consistently failed.

    Power on the Ocean Machine in firmware update mode and plug in your USB MIDI cable as specified by the update readme. Check in Audio MIDI Setup that it’s working and recognised. Then, launch the updater using Wine. Select the firmware update file, then click “Update”. You might get a popup window helpfully saying “MIDI Device Error!!”. Try pressing Update again, if you’re lucky it will work. If not, open Terminal and try the following solution.

    The problem with (old versions of) Windows, Wine and this updater program is that they rely on the “MIDI device mapper” utility to decide which MIDI device to use. This would be fine, but under Wine for Mac there’s no easy way of seeing a list of devices or configuring which device to use.

    It is possible to change the default MIDI device used by the MIDI mapper, by creating a text file with the following code:

    REGEDIT4
    
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap]
    "CurrentInstrument"="#1"
    

    #0 is the default device, so start at #1.

    I saved mine in MMap.ini. Then, run the following command:

    wine regedit MMap.ini
    

    and re-open the update app. If after two presses of Update you still get “MIDI Device Error!!”, then quit the updater, change #1 to #2, run wine regedit MMap.ini and try again. Repeat until successful. Yes, the update process sucks.

  2. if ordering rotary switches from Digikey, most of the ones they stock are adjustable (even if marked as fixed in the product description), so if the switch doesn’t seem to rotate to all of the positions, try taking the nut off and removing the index washer. I just received two supposedly “fixed-index” 12 pole switches which only rotated to 11 positions. Turns out they were actually adjustable and worked fine.

  3. tip: Young people (under 18, in the EU) who want to create a paypal account for your enterprising businesses or other fun activities: before your 18th birthday, ONLY create accounts with disposable email addresses. Once your account gets credited with more than €2500 in one financial year, Paypal have to do an identity verification check, and when they find out you created an account before you were 18, they freeze it, and you have to create a new account with a new email address.

  4. : if you don’t like the new OSX Photos app and don’t want it opening when you plug your iDevice in, plug in the device, open Image Capture, make sure this thing is showing:

    and select the option you want (Photos, iPhoto, Image Capture, nothing)

  5. for anyone using QtMultimedia QAudioInput with python’s wave module to write PCM data to a wave file: to convert between QAudioFormat’s sampleSize() number and wave’s sample width number, divide by 8, e.g:

    wave_file_to_write.setsampwidth(audio_format.sampleSize() / 8)

    QAudioFormat’s sampleRate() number works as it is.

  6. tip: if you come across weird inconsistencies between apps when trying to serve static files in dev, run with runserver --insecure even if you have DEBUG=True

  7. git grep is pretty amazingly fast — get line numbers too with -n or git config --add grep.lineNumbers true

  8. : Use <form action="." method="post"> for RESTful /collectionname/new forms if collectionname cannot be hard–coded. Saves loading backend routing config into the front end when it’s not required