Toolfish (was $10) is now free as of today

What is Toolfish?  It’s my tiny tray app for power users that runs in the background while you’re using your Windows machine.

I’ve used this app EVERY DAY for the last 10 years and the first thing I do after buying a new computer is move my Toolfish setup to it!

It allows you to stack “Triggers” that cause “Actions“, which can also be stacked.  For instance, a trigger could be “if Ctrl-Alt-L” is down, and a certain app name is in focus, run some Actions.

Actions could be could be things like running programs, faking keystrokes, reading text out-loud via text to speech, sending an email, lots of things.

It also has other built in features like Leet-Type (NEVER USE THIS!), neat stats like how many miles you’ve moved your mouse, Smart Muting your computer if inactive, letting you know if a Webpage has changed by more than a certain percent, or a certain word exists or is missing on a website, stuff like that.  All in a tiny 1.3 MB download!

I used to use it to run Funeral Quest if it noticed it wasn’t running… helped with crashes!

It comes with a few nice hotkeys like Ctrl-Shift-G to open a browser, Ctrl-Shift-Alt-I to paste your *true* IP address, stuff like that.

It can also Monitor if a website is down,  Shutdown or reboot your computer, just tons of weird stuff.

It also has a Stealth Mode to hide the tray icon – combined with the key stroke logger, this app could be used for evil, so don’t use it that way please!

It has “Event Wizards” that let you do things like “Remind me in 5 minutes” in just a few clicks.

Some features like email checking and atomic clock adjustments are less useful these days than when I wrote them (back in the Windows 98/2000 era) so I’d ignore those features.

Anyway, this is a $10 app that is now free, so give it a shot.  I’ll keep adding little tools and utilities to it, I did add one new action for this release:  “Set Microphone level“.

Big thanks to those who bought this over the last ten years!

You can read more about it here, or just go ahead and download the full version like you know you want to here for Vista/Win7/Newer.  For Win XP, try the older version.

My plan is to continue releasing more of my stuff as free as I get time to do it.

That old game Dink Smallwood is now playable in a browser!

Here is the full version of the RPG Dink Smallwood playable in desktop Chrome/Firefox by using Proton’s emscripten html5 export:


Play it here!

It’s not perfect, here is what’s wrong with it/missing:

  • No midi playback.  The fake SDL audio wrapper can’t handle it I guess although I didn’t really even try.  Anyone know a easy way to play Midi via emscripten?  All the CD audio does play though.
  • While save/load quicksave/quickload all work perfectly, nothing is actually saved if you close your browser window.  It’s possible but requires some async save/loading I didn’t feel like dealing with right now.  But this means don’t really play the game, you’ll lose everything!
  • The in-game DMOD download and install system amazingly does work, but only with Mystery Island because that dmod is hosted on the same domain.  It isn’t saved when the browser closes
  • No gamepad support
  • It’s big, it’s like a 40-50 mb download (not sure how well the web compression works) and has no loading bar during the initial load.  Wish emscripten’s .html maker would include one!  Anybody know how to add one easy? Maybe I should actually learn javascript someday.
  • Very unlikely it works on iOS Safari, only actually tested with Chrome on Windows

It’s an early step, but it’s very possible to setup some kind of system where you could click on any of the 300+ dmods on Dink Network and have them be (near) instantly playable right there in your browser.

Here’s another old game of mine exported to html5 with emscripten, Dungeon Scroll.

Tales of an App Store rejection


Growtopia’s fishing update is happening a bit later than we expected. As a warning to other developers I’m explaining why.

Our app was rejected for mentioning other platforms – not in the app. Not in the description. Not in a screenshot. I know about those rules.

Where did I go wrong?

I mentioned other platforms in the private notes to the reviewer. I had a line of text mentioning that as a multi-platform game, accounts created on Windows/Mac/Android also could log on as a sort of an explanation of why I didn’t use GameCenter or iCloud saves.

I removed that line of text (with no other changes) and resubmitted. It was approved nine days later. I guess this text would fall under “metadata”.  I’ve never read any warnings about this, so dear reader, consider yourself warned.

This text has been in the “notes to reviewer” for the last two years and 20+ updates. So don’t know if I’ve just been lucky, got unlucky, or an automated scanner was recently added that does scan all metadata including the notes to reviewer. (Doubtful, as a scan would probably be run during submission rather than after the nine day review wait)


And that kids, is why it took 18 days to get our update approved. Don’t make the same mistake I did.

Release parity on four platforms for an MMO is hard

We add new content around every three weeks and things like this make it a challenge to sync up the four platforms we support to enable new features. If anyone asks why we don’t use the Mac App Store for our Mac client, well, now you know!

Being a top 1000 grossing app does not grant any special treatment or review times in my experience.

I try to allow enough time for a rejection, but when two rejections could mean (nearly) a month delay, well, you might be enjoying your Christmas themed app icon in January.

I’d love it if Apple would introduce a “Rush fee for a 48 hour review” option, would help immensely. I know there is a channel where you can beg for a rushed review, but I don’t think “my players need to fish” would have really cut it as an emergency.

Related side note: Last month we were rejected because the reviewer noticed we used the advertising ID but didn’t know WHERE we used it.

I’ve heard of a few other devs getting dinged with this recently too – so be sure to point out in your notes to the reviewer exactly where it’s used and how to get there.

And whatever you do, don’t mention the word Android!

Apple Watch review for cyclists

I’ve had an Apple Watch for a couple months.

The idea was I could throw it on when biking for an easy way to watch my heart rate and possibly use the GPS mapping to not get lost.

Problem 1:  The screen delay

Biking in Japan is a lot like playing the classic game Paperboy,  many ways to die if you aren’t careful.  Looking at your watch has to be done in a quick glance.

The Apple Watch is definitely the wrong device for this due to the lag in the screen turning on.

In the end, I started doing a wildly exaggerated wrist motion, waiting a second or so, then glancing down. The sad part is even then sometimes the watch screen wouldn’t turn on at all.

Problem 2:  The heart monitor

This may be a problem with my wrist in general (no, I don’t have a tattoo) but it really does a poor job of reading my heart rate.  I’d say it can do it about 20% of the time.  It’s not uncommon to get a 170 BPM reading and then show only 90 BPM ten seconds later.  Most of the time the heart rate information is dark red meaning “couldn’t get a reading recently”.  I sweat rather profusely when biking so maybe that’s the problem.

Sometimes I’d get a reading of 0 and wonder if my heart actually stopped.

Problem 3: The battery

When the Apple Watch has trouble reading your heart rate, it turns on additional LEDS on the bottom of the watch to.. I don’t know, look at your blood veins or something.  I suspect this (combined with having work out mode enabled) is how I could go from 100% battery to 0% in under four hours.

If the heart rate monitoring Gods smile upon your wrist, you may not have this issue.

Problem 4:  The software

Strava’s watch integration is fairly useless because after the watch turns off, you have to swipe to get it back.  I couldn’t get it to stay “in focus” on the watch for very long, maybe because Apple doesn’t allow custom watch faces (yet) and it would require that?

Using the heart rate monitor in Strava isn’t supported either, so basically the only thing it’s good for is manually pausing/unpausing the timer.

I couldn’t figure out any way to show Apple Maps and heart rate data at the same time.


Waste of time, get a Garmin. You replace the battery in their heart monitor maybe once a year – plus, you really need a speed sensor for your wheel to get reliable smart pausing anyway.

So my watch is sitting on the charger, unused. Maybe the Apple Watch 2…?

A 3D printed World Lock

I’ve been eyeing 3D printers for quite a while and finally pulled the trigger and purchased the rather economical Flashforge Dreamer.

I actually wanted a Taz 5 but I couldn’t find anywhere to ship it to Japan at a reasonable price, so whatever.

Anyway, despite feeling a bit limited due to the smallish build area it’s been a lot of fun.


Printing an elephant


The finished elephant. The legs move with no assembly as they are printed that way!

Was up and printing in thirty minutes.  So far stuff has worked without hairspray, glue sticks, painters tape and the other things I read about that scared me.

Some Dreamer tips:

  • The SD card shows as “error” in the dreamer when you have Wifi enabled. (as of the latest firmware available on 4/22/2015)  I think it has something to do with Wifi mode taking over the SD card as it uses the SD card as a cache while printing.  They should really change the message to “busy” or something. If you need to print from SD, turn off Wifi first.
  • I almost always print with a fairly hot build plate. (65C)  I let it cool before removing the print.
  • DO NOT USE the putty knife it comes with.  It’s way too thick.  Buy one with a much thinner edged one at the store and you will be amazed at how much easier your prints come off the bed!
  • If a print is going to fail horribly, it’s probably going to be within the first 5 minutes, so check around then.

No really, that’s exactly what I was going for

Thingiverse seems like “the place” to get 3d files.  Any other good places out there?

If you have a dreamer, the first thing you notice is those spools of filament you bought from adafruit are too big.  No problem!  I used this design and a skateboard bearing to create a nice lazy susan style spool holder, it works great.

Also printed a solder spool holder just because.


A printed solder holder. See, I’m saving money already


3D printed Pi2+PiTFT case for my Growtopia monitor so it looks less like a bomb, found it here.

Ok, that’s all fine and dandy, but the real reason I wanted a 3D printer is to make my own stuff.

I used Inkscape (sort of the Blender of vector art) to generate a shape from the 2D bitmap of the Growtopia logo, imported that into Blender and extruded it.   Well, as I expected it’s a bit hard to see and crap in general.  I printed another in black filament to sort of use it as a “drop shadow”, helped a bit.

Can you recognize this logo?!

Can you recognize this logo? Er.. maybe if I raised parts to make the letters stand out more, I dunno

It was suggested on Twitter to print Growtopia characters, but man, that’s hard to do. Akiko whipped up a 3D model of a world lock for me though.


Have a 3D printer and want to print your own World Lock?  You can get the .stl from here!

What other simple Growtopia things would make sense to print?  Hrm.  Is a character really possible?  What if we painted it…

A tip about Blender to 3D Flashprint/Simplify3D’s stl scale

In Blender, I set the units to metric, then set the scene scale to 0.01.  When doing the final export I set the STL export scale to 1000 and this keeps the measurements in Blender exactly matching the final print size.  (Use the Ruler/Protractor tool in Blender to measure pieces easily)


Also, keep in mind Blender now has some helpful options to check if your models are setup right for 3D printing, you just need to enable them. Too bad the export STL button on the 3D Print menu doesn’t have a scale setting, I need that.


I bought a 9 pin dot matrix printer for $220 for my Commodore 128 a looong time ago. You’d laugh at the low resolution pictures I downloaded off Quantumlink and printed. You had to stand across the room to figure out which movie star it was. So noisy.  So slow you could read faster than it could print!

Similarly to the path 2D has taken, I believe 3D printing is now accelerating its journey towards detailed full color prints that will become a standard we all take for granted in just a few years.  Exciting times.