August 2010

Smalltalk in Byte Magazine, August 1981

Smalltalk has been immensely influential over the years, in some respects never more so than today (see Objective-C and Ruby). It was unveiled in the August 1981 edition of Byte. Most of that issue's editorial pages were dedicated to articles on the language, its implementation, the integrated programming environment it provided and some discussion of practical applications.

Continue reading "Smalltalk in Byte Magazine, August 1981" »

March 2009

ZooLib BBDaemon

The ZooLib BBDaemon lets multiple Mac applications talk to USB-connected BlackBerrys concurrently. Obviously this is something that Research in Motion could make possible, but as they haven't we're posting a pre-built installer that takes the pain out of getting things working.

Continue reading "ZooLib BBDaemon" »

February 2009

The Missing Sync for BlackBerry

Mark/Space has released The Missing Sync for BlackBerry 2.0. This latest version provides a rich suite of synchronization options, made possible by a device-side Java application developed by Electric Magic. The Mac application uses our ZBlackBerry Mac/Black SDK for its USB communications.

December 2008

Zorap, Web-Based Video Chat

Zorap web pages are multi-party multimedia environments. Video from your webcam and audio from your microphone, photos, music and video from your own computer are shared to tens of your friends via a Zorap Server. Web content, including YouTube and other video sites are similarly shared, all in an exciting and customizable drag-and-drop interface.

Electric Magic implemented the Mac-specific portions of the Zorap web plugin, supporting Safari, Firefox and other modern web browsers.

September 2008

SiteGrinder Photoshop Plugin

If you’re a Photoshop virtuoso, MediaLab’s SiteGrinder carries those skills over to the creation of exciting web pages. The SiteGrinder Photoshop plugin takes your document’s layers and attributes, crunches through them and generates HTML, CSS and optimized web graphics ready for the public.

SiteGrinder’s UI is beautifully implemented in Flash, and Electric Magic helped MediaLab get that UI working in older and newer versions of PhotoShop.

July 2008

OS X Accessibility from Java

Our client’s application is a scriptable form-filling engine, used by their customers to automate computer-based form submission. Their engine is written in Java, and uses the Abbot GUI testing framework to drive third-party UIs. For Mac OS X support we implemented a JNI shim that made the AX API usable from Java.

March 2008

Mac/BlackBerry SDK

The BlackBerry is a very popular mobile communications device. Official Mac support from Research in Motion is limited to providing the PocketMac utility as a free download. With no official SDK the Mac/BlackBerry ecosystem has seen very little activity.

ZBlackBerry is a suite of code that implements the BlackBerry USB communications protocol in a generic fashion. A few hundred lines of code let Macs use that protocol. A few hundred more allow multiple Mac applications to talk to a single BlackBerry simultaneously, something that has not been possible till now.

Continue reading "Mac/BlackBerry SDK" »

January 2008

iMobimac Modem

The Research In Motion BlackBerry is famous for its connectivity. iMobimac Modem runs on a BlackBerry and the Mac to which it is connected, and lets Mac applications access the Internet using the BlackBerry's connection.

Continue reading "iMobimac Modem" »

October 2007

Embedding Lua in Zen

Lua is a very nice little programming language, which combines a clean C-ish syntax with the power of Scheme. Rather than requiring a particular programming style it provides building blocks that allow one to work in any combination of object-oriented, functional or imperative styles. Lua is something of a hidden gem, having found a keen but un-publicized audience amongst game developers who generally use it for scripting in-game behavior. My interest in it is to provide customizability of behavior in the Zen home automation system.

Continue reading "Embedding Lua in Zen" »

May 2006

Knowledge Forum 4.6

Knowledge Forum 4.6's minor version number change belies just how different from its predecessor it really is.

Under the hood KF 4.6 has moved from using ZDBase for its backing store, instead using a tuplebase. This makes it possible to split HTML page generation into separate processes, potentially running on multiple front end machines. It also restores support for a rich client application, now written in Java, using ZTSoup to efficiently communicate changes in the tuplebase, whether made by other clients or by the web interface.

Projects by Category

Recent Projects

Project Archives