Instagram filter used: Lo-fi
Photo taken at: Toronto Public Library (North York Central Library Branch)
Instagram filter used: Lo-fi
Photo taken at: Toronto Public Library (North York Central Library Branch)
You did good. We’ll miss you.
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.
With 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 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.
On Wednesday, Catherine and I went to Ripley’s Aquarium of Canada. It was fantastic. I took some pictures:
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:
They 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).
Building 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.
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.
Always a good plan if you’re doing major upgrades:
sudo apt-get update sudo apt-get dist-upgrade
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
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.
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)
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());
When 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.)
(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); }
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.)