Category Archives: Tech

Reeder 3 for Mac is in public beta, and it’s awesome

Reeder 3 for Mac is in public beta, and it’s awesome

Lovers of technologies like RSS, Tiny Tiny RSS + Fever and Instapaper will want to get on this.

I’ve been using Reeder 2 for Mac since it was released, and although it’s hard to imagine a better desktop blog reader, the next version is also an Instapaper client, which trumps all of the other improvements (in my opinion).

I grabbed the latest beta last night and dropped it into /Applications as a Reeder 2 replacement. It picked up my previous configuration instantly, and adding my Instapaper account was straightforward. Thankfully I was able to configure manual archiving for Instapaper (this is analogous to marking RSS posts read, which I prefer to be automatic “on-open”) and was able to catch up on most of my “Read on Desktop” folder straightaway.

Aside from a few non-critical UI glitches, this is a very stable beta. Well worth your time.

Running SMART Notebook 11.4 on OS X Yosemite

Ironically, SMART is one of the dumbest, least likeable tech companies around, but unfortunately I’m responsible for quite a few of their interactive whiteboards.

So when they decided to force everyone to upgrade to their not-smart subscription-licensed “SMART Notebook 14” by leaving the previous version broken on OS X Yosemite, I was in a bit of a pickle.

Thankfully, a bit of determination (a.k.a. trawling through crash reports and Google results for “yosemite ruby 1.8 HALP PLZ”) was all it took to figure out that getting Notebook 11.4 working on Yosemite is as easy as copying Ruby 1.8 from a Mavericks machine over to Yosemite.

It’s in /System/Library/Frameworks/Ruby.framework/Versions/. I just tar’d the 1.8 folder up and copied it over.

You’re welcome.

OS X Server doesn’t cache iOS 8

Based on my testing this morning, although the caching service on OS X Mavericks Server is supposed to cache iOS updates, and although it does a perfectly good job caching App Store content, it does NOT cache iOS 8 itself.

For those of us who manage large iPad deployments (and would prefer iOS 8 to be installed by end-users), this is a problem. Potentially a multiple-terabytes-through-a-finite-pipe problem.

Thankfully the Squid hack I figured out during the iOS 7 launch works with iOS 8 too. Otherwise we’d be in trouble.

Daring Fireball on iMessage encryption (and privacy in general)

Daring Fireball on iMessage encryption (and privacy in general)

John Gruber put this together late last year, and I’ve had it queued for posting since then. It remains a helpful summary of Apple’s approach to privacy, especially as it applies to delivering iMessages between devices.

Assurances from corporations aren’t always very, um, assuring, but so far it seems Apple are leaders in respecting the privacy of their users (even if it’s just to minimise their exposure to subpoenas and such).

PHP with FreeTDS on macOS Sierra

Need your macOS-hosted PHP code to talk to Microsoft SQL Server? Here’s the guide I couldn’t find when I needed it.

Or you could just download my macOS-ready mssql.so (compiled for PHP 5.6.30 on macOS Sierra 10.12.6) and skip to the end. (18 Aug 2017)

Previous versions are available below.

Prerequisites

Build and install autoconf

If you’re a Homebrew user, brew install autoconf is easier than the following.

$ tar zxf autoconf-latest.tar.gz 
$ cd autoconf-2.69
$ ./configure 
$ make
$ sudo make install

Build and install FreeTDS

FreeTDS is on Homebrew too: brew install freetds

Alternatively:

$ tar zxf freetds-patched.tar.gz
$ cd freetds-1.00.54
$ ./configure 
$ make
$ sudo make install

Build and install mssql.so

Don’t worry, unlike some of the Internets will tell you, there’s no need to rebuild PHP itself. Nor do you need to write an essay after .configure.

Update (18 Aug 2017): phpize doesn’t seem to work out-of-the box anymore. If it can’t find the files it needs (you’ll see grep errors), try adding a symbolic link like this: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/php/ /usr/include/php. System Integrity Protection will need to be disabled first.

Here goes:

$ tar zxf php-5.6.30.tar.gz
$ cd php-5.6.30/ext/mssql
$ phpize
$ ./configure --with-php-config=/usr/bin/php-config --with-mssql=/usr/local/
$ make
$ sudo cp modules/mssql.so /usr/lib/php/extensions/no-debug-non-zts-20131226/

If you have trouble with the final step, System Integrity Protection is probably enabled. Disable it temporarily.

Finally, add this line to your php.ini (probably in /etc/php.ini):

extension=mssql.so

And restart Apache if necessary.

Done!

Previous versions

If you’re running an old version of macOS, you might find one of these binaries helpful:

  • mssql.so compiled for PHP 5.4.17 on OS X Mavericks 10.9 can be downloaded here. (17 Nov 2013)
  • mssql.so compiled for PHP 5.4.24 on OS X Mavericks 10.9.4 can be downloaded here. (6 Jul 2014)
  • mssql.so compiled for PHP 5.5.14 on OS X Yosemite 10.10.1 can be downloaded here. (22 Dec 2014)
  • mssql.so compiled for PHP 5.5.27 on OS X Yosemite 10.10.5 can be downloaded here. (16 Sep 2015)