Check if Mission Control is Active

Unfortunately, Apple has never provided a public API to programmatically check if Mission Control is active. There are not too many use cases for such a check, but I have encountered one.

One of my apps is using a global hot key (using the DDHotkey library) so that the user can press the hot key and the app’s main window is displayed. However, if Mission Control is active while the hot key is pressed by the user, the app’s main window will be displayed but has no input focus, making it impossible to enter any text, click on any button etc.

Read on..

More Boardless Edison

A while ago I shared how I managed, with help from Fuzzing on Edison, to power my Intel Edison without breakout board. While soldering the two power connector wires to the Edison worked, it was not a good job, as the tiny solder joints tended to break very easily once I touched and moved the wires.

After some tinkering, I have now managed to have a more durable solution to power the Edison without a breakout board:  Better Boardless Edison

For the ground wire (the black one in the image) it is easy to achieve this by using a 2 mm screw and nut, together with a fitting wire shoe.

The 4,5 V power wire (the red one in the image) took me some more time to figure out but what was finally working was to solder the wire in a 90 degree position, so that it is more or less lying on the surface of the Edison:

Flat Cable Design

I then applied one drop of superglue to the solder joint, which evenly distributed itself (due to its adhesive attributes, I think) around the wire and “locked” it in the lying position. Long-term testing to come, this looks durable.

Boardless Edison

Intel Edison is a marvellous device, but the need to power it through a breakout board, either the mini breakout board or the bigger Arduino breakout board, annoys me. Following the advice in Fuzzing on Edison, I successfully got rid of all those boards without using the micro micro connector (Hirose DF 40) on the Edison’s back:

Unboarding Edison

So, it is definitely possible to have just the ‘naked’ Edison connected to a proper 4,5 V power supply. Take care not to use a 5 V (or even higher) power supply, the specs say “3,3 to 4,5 V input”, differently from what can be used with any of the breakout boards.

Soldering on this really small Edison PCB wasn’t fun, though, and the soldered cables are not that I would trust them in any production environment. As I want to put the Edison in a very tiny housing, I need to think of something more durable. Conductive glue, anybody?

Unboxing Intel Edison with Monty

I am more in the embedded devices field nowadays and after some tinkering with Raspberry Pi, I finally ordered some Intel Edison parts. The Edison is a very small computer with the main board having a size of only 35.5 x 25 x 3.9 mm. Its computing power should be superior to that of a Raspberry Pi, but more to that later. My Edison arrived in a small, beautiful cardboard box:

Intel Edison Unboxing

To give you an indication of the Edison’s size, here it is compared with a cat’s paw:

Edison and the Paw

You can see how small it is. All the 70 connection pins are hidden on the back side. I also ordered a mini breakout board as well as an Arduino breakout board. This is more or less required as the Edison is that small that you probably don’t have a chance to connect anything to it unless you have your own printed circuit board ready.

Both breakout boards are made by Intel and the mini breakout board is not much bigger than the Edison itself:

Cat Paw Mini Breakout

You can see the 70-pin connector in the lower front of the board as well as two micro USB ports at the right side of the board. All 70 pins are available for soldering, and that’s about it.

The Arduino breakout board is considerably bigger than the mini breakout board, with the Edison going to the bottom left part of the board:

Arduino Cat

This one is mighty and not only has a power supply jack, three USB ports, proper connections for all hardware pins but also lots of jumpers and switches. So if you are in embedded things, the Arduino board is more your solution. If you just want to tinker around, the mini breakout board should be sufficient.

At the time of writing this, you can get an Edison in Germany for approx. 40 Euro, the mini breakout board (without attached Edison) for approx. 25 Euro and the Arduino breakout board (with attached Edison) for approx. 110 Euro. A combination of Edison and mini breakout board is also available but often more expensive than buying both parts separately.

For computer power, the Edison features a dual-core Intel Atom CPU, 1 GB RAM, 4 GB Flash storage and, best of all, on-board WiFi and Bluetooth. Especially these last two features are amazing, given the Edison’s size, and make it reasonable to compare it to the Raspberry Pi, where you have to purchase storage and wireless connectivity separately. We will see what I can make with it.

Non-Published Publishing Tools

Nowadays, every indie publisher seem to develop his or her own custom publishing tools, be it a custom website and newsletter tool or some fancy iOS app generator. While most of these tools will never see the glaring light of the general public, some are made available commercially, so that anybody willing to pay may use them.

Funnily, quite some of these tools are somehow made available, but not really. The Glide platform, used by Jim Dalrymple’s Loop Magazine since more than one year, is announced to become available only “over the next few weeks”. Curated, the website and newsletter tool used by iOS Dev Weekly, is currently looking for exactly 45 customers, paying $995 each for one year of access. On the contrary, tools like TypeEngine are available to everybody.

While I don’t agree that such publishing tools are unnecessary as such, we have two fundamentally different business models here. On the one side, there are tools that are marketed and sold as just that, being tools, computer software. On the other side, there are tools that are just the tip of the iceberg of a much bigger product, which is a publishing service. So, if you also have a publishing tool ready for distribution, please think twice if you want to be a software company or a publishing house, or, to have it ever better worded, if you want to sell software or consultancy services.

If I were a writer, I would probably buy software, instead of publishing services, but that’s my personal opinion.

Back to WordPress

Today, I’ve migrated my blog back to a WordPress installation, after having used Jekyll for a while. I really like the command-line approach of Jekyll, but mobile blogging has proved more difficult than expected, and static blog generation needed to be done on my MacBook instead of on the server, which was another reason blogging got more and more difficult and I became more and more silent here. Shared hosting and Jekyll are probably not the perfect fit at the moment.

Preparing the migration of my blog back to WordPress turned out to be slightly more difficult than I had expected. I wanted the blog to remain exactly like it was, including the site design, mobile UI, the URLs and the exact behaviour of everything. I ended in writing my own WordPress theme and plugin for custom image uploads and a Python script to import all my Markdown posts into WordPress.

I will always remain a fan of Jekyll, but I’m happy now that the migration worked and I can happily starting posting again – “blogging is preparing for a comeback”!

Recent Menu now Open Source

My app Recent Menu is now open source, and not available from the Mac App Store anymore. Feel free to download the source code from GitHub or the app from my website. Source code as well as the binary are available under a MIT license.

I have thought of making Recent Menu open source software for quite some time now, and recent difficulties with getting a bug fix approved by Apple for Mac App Store distribution facilitated my decision to switch to direct distribution as well as to open the source code, as I don’t have any commercial interest in this app.

I’ll try to add some update detection code to Recent Menu soon, e.g. via the Sparkle framework, so that you don’t have to check manually whether a new version of Recent Menu is available or not.

NSData Base64 Support

This took me by suprise today, when surfing the OS X Mavericks documentation: The NSData object now has built-in support for Base64 encoding and decoding.

Read on..

Detecting Launch At Login Revisited

In the past, I presented two approaches for a sandboxed OS X application to check whether it was launched at login via a helper app or not. Both of them don’t work anymore on OS X 10.8 and newer, but I will present them nevertheless for better understanding, before turning to a new approach that works well on OS X 10.8 and 10.9.

Read on..