About Me

I am Kevin Wojniak, a Mac OS X software developer.

Dec 20

Saturday Projects

I’ve finally gotten around to releasing a few random projects I’ve put together over the last few months/years. All projects are Cocoa apps in Xcode 3.1 format. Code is available on my Google Code account. Click images for full-sized screenshots.

iStickeez
This is a little app to read the StickiesDatabase file that Stickies.app uses. If I had time I’d write an iPhone app but since I don’t I’m making the project open source. The app only supports displaying the RTFD data and window color, but the code reads in all the other data. The code will also properly handle any errors it encounters if the StickiesDatabase format changes (for example, with Snow Leopard).

iStickeez

TimeFail
TimeFail displays any errors that TimeMachine will report, but not tell you. Often TM will just fail for random reasons and it gives a generic error which doesn’t help troubleshoot the issue. Sometimes there might be a certain file that is giving problems, or something else going on, so I wrote this app to display the specific errors from TM. The app just reads the log file and parses out the specific TM messages. Download

TimeFail

KWCalendarControl
This is a somewhat old project that never went anywhere, but it was supposed to mimic the calendar control in iCal and the iPhone. It’s not interactive but that’d probably be pretty easy with some work. Everything is drawn in code using gradients, so the view can be expanded to larger sizes.

KWCalendarControl

iTunesCapacityBar
An old project from 2006 updated for native Leopard compatibility. This is a control similar to the one in iTunes. It is missing the reflection and labels.

iTunesCapacityBar

GradientFun
Another old project that demonstrates manually drawing gradients. Also shows a way to apply a gradient to text. It’s probably horribly inefficient though. Use NSGradient (or CTGradient for pre-Leopard compatibility) for drawing gradients in a view.

GradientFun

MenuPlayer
There was a time when I was working on a project that required restarting iTunes very often, so playing music while working was not possible. I put together an app that reads your iTunes library and lets you play songs from your playlist without using iTunes. Download

MenuPlayer

CocoaGL
An extremely simple project that demonstrates using C++ with Cocoa to render OpenGL.

CocoaGL

Dec 20

BootChamp and new MacBooks

BootChamp doesn’t work with the new (unibody) MacBooks, which includes the Air and Pro. The app uses the built-in tool bless (/usr/sbin/bless) to set the boot disk, and one of the options it uses is –nextonly which only sets the boot disk for the next boot. It currently appears that this option is broken and not working at all, even for standard HFS+ devices. I am in discussion with an Apple engineer and hopefully will have a solution.

Nov 3

Follow the Crane

My brother Mike has put up his album on iTunes named Follow the Crane. Check it out!

Aug 26

BootChamp 1.0


I have released a new version of my application BootChamp (featured last year on Macworld.com). This new version adds a menu item in your menu bar so you can quickly boot into Windows, similarly to how you can boot back to Mac OS X from within Windows.

The application can also behave like the previous version, where it’ll start the booting process immediately upon launching. To enable this, open Terminal and enter defaults write com.kainjow.BootChamp DefaultBehavior 1. To change it back, simply use a 0 instead.

Lastly, the application is smaller than before, at only 28 KB. Download

Update: new 1.0.1 version is out that fixes a few bugs.

Aug 18

MoyoTalk

MoyoTalk Preview

This is my first iPhone app that I’ve been working on the side for the last few months.

Jul 15

“Could not open a new pseudo-tty.” error

Getting this error in Terminal? Xcode keep stalling out on you while building? Try force quitting all gcc* and cc* processes in Activity Monitor.

May 28

iPhone SDK beta 6

The 6th beta of the iPhone SDK has been posted. Unfortunately the release notes are under NDA, but I will just say they finally got around to adding an extremely needed feature.

I’ll be going to WWDC in a about 10 days, and hopefully they’ll have the SDK finalized by then. Can’t wait.

Mar 6

It has arrived

The iPhone SDK is here, and it is slick.

Mar 3

Don’t Pollute User Space

From Apple’s documentation:

With the exception of the ~/Library directory, your application should never install files into the user’s home directory. In particular, you should never install files into a user’s Documents directory or into the /Users/Shared directory. These directories should only be modified by the user.

I wish Microsoft and Adobe understood this.

Feb 19

Leopard 10.5.2 fixes NSShadow bug

One of the annoyances I found in Leopard was NSShadow’s shadowOffset didn’t work exactly the same as it did under Tiger. It was always drawn 1 pixel off. I use NSShadow for drawing the “etched text” appearance that is now prevalent in Leopard. Fortunately, I just found out that 10.5.2 now fixes this so that 10.5.2 and 10.4.X both draw shadows the same way. You can read more from the Cocoa mailing list archives.