Hiatus? Negative sir!

June 3rd, 2014

I saw recently on macupdate that apparently as a developer I have been “on hiatus.” I would like to assure the internet that I have in fact not been absent, but that I would prefer to spend my time working on software than writing blog posts. In fact there have been updates to all of my applications, but most times I have not bothered to write about them. Although never mentioned here on this blog, I am the author of Wikipanion — the popular Wikipedia and wiki browsing software on iOS. A lot of my time has been spent maintaining and building that piece of software, but of course my older apps hold a special place in my mind. When I first wrote apps like Active Timer I was still a college student where my time did not have much value since everything I made was free. But as you know iOS developers are now quite in demand. Anyway Active Timer now costs money since the only model where it receives regular updates is one in which it can pay its own bills. I hope that the new features including “freezing timers” (splitting the existing time off and create a new timer) and project folders will be enough to entice you to purchase.

A friend Johan Basberg now does design work for Active Timer. We have a lot of great plans, but these can only come to fruition with your help. Thanks.

Additionally I have posted a limited demo of Active Timer. It is feature complete and unlimited in time, mostly give you helpful notices to purchase the full version after you have used it for awhile.

NicePlayer Mavericks Edition

March 14th, 2014

I know it’s been a long time since we’ve updated NicePlayer, but it has been getting progressively more difficult to use with each new OS X update. Never the less I still use NicePlayer all of the time, and so that is why today I’m releasing the latest update to work better with Mavericks. Please let me know if you experience and crashes or really bad issues. I probably won’t have time to add any major features, but at least you can continue to use NicePlayer as you always have.

Download NicePlayer Mavericks Edition (0.98-rc)

Active Timer 2.0

March 12th, 2014

After years of quiet work, I would like to announce Active Timer 2.0 which contains numerous enhancements:

  • Grouped timers allow you to see only a subset of timers
  • Timer freezing stops the current time on a timer and any new activity in that frozen application or window appears as a new entry, useful for project completion or billing purposes
  • Menu mode allows you to select whether to run active timer hidden in the menu bar or with a dock icon.
  • Automatically launch Active Timer at startup
  • Color based labelling
  • Searching
  • “Sandboxed” for security

Now available in the app store. Let me know in the comments if there are feature you would like to see.

NicePlayer, Lion beta edition

September 18th, 2011

I’ve built a new version of NicePlayer that plays nicer with Lion. Please test it out and let me know whether you run into any issues. If no one runs into any problems then we will post this as a NicePlayer update. Download NicePlayer 0.97.9-rc pre-release.

NicePlayer 0.96

November 8th, 2007

For those of you who didn’t notice, we released NicePlayer 0.96 two weeks ago, most importantly bringing compatibility with Leopard. It also has progressive movie loading status in the scrubbing area, as well as some subtitle fixes (most of the features in this version were brought to you by Jay). There are also some other minor bug fixes… we’re always looking for suggestions, and now that NicPlayer is open source, we’re also open to accepting patches for new features.

Active Timer 1.3.3

November 8th, 2007

I’m currently busy working on the next version of Active Timer — including features such as:

  • Being able to block certain applications
  • Attribute last idle time to a task (after coming back from idle, you can assign the previous idle interval to a specific item)
  • And more!

New in this sub-update:

  • Fixed problem with negative times (the main reason I am releasing this interim update)
  • Start/Pause is now assigned to enter key, just hit enter and go.
  • An easier way to deselect all items (just click on the label, “Sum of times:” — before you had to command click to deselect a selected item)

F-Script Anywhere, Leopard Edition

October 17th, 2007

For all of you developers using Leopard out there, I bring you an updated version of F-Script Anywhere, designed specifically to work with new features in Leopard. Since the old (and not so secure) way of adding yourself to the procmod group no longer works in Leopard, F-Script Anywhere has adopted the new method of using code signing authentication. Code signing allows you to trust specific developers and applications so that only those apps can use task_for_pid(), the call critical to F-Script Anywhere and similar apps. This provides enhanced security. All of the certificate copying is built into F-Script Anywhere, you just need to trust the included public certificate (F-Script Anywhere will try to add it to your keychain, you just need to accept the certificate). You may also need to restart your computer (there appears to be a certificate cache on Leopard that doesn’t always update properly).

Without further ado, F-Script Anywhere 1.3.1, Leopard Edition. F-Script Anywhere is now distributed as part of F-Script, at http://www.fscript.org/download/download.htm. Note that source is available through Nicholas Riley’s trac/subversion server. If you wish to compile your own source, you will have to copy your public certificate into the appropriate place in the source tree. This needs to be a code signing certificate, either generated by a certificate authority or self created.

RSS Growler

April 18th, 2007

So at work we use a combination of subversion for source code control and Trac to… well, to provide an RSS feed I think. I actually don’t know why we use Trac specifically, since I don’t think we use any of its other features other than the commit notification stuff. In any case, one of the best features of Trac is its ability to create an RSS feed for any individual sub portion of your source tree. In case you are wondering why this is excellent — well, getting hundreds of commit e-mails for every commit to projects you don’t really care too much about, combined with the fact that I find commit e-mails to be kind of annoying due to them interrupting my general workflow, means that I was quite looking forward to when our group was going to switch to subversion and use Trac. Unfortunately after this happened, I was unable to use an RSS reader until the sys admin re-enabled http authentication (web authentication forms are evil!), as all of the server is password-protected. And even after this got fixed, I tried pretty much every RSS client out there (I was used to using Pulp Fiction, but it really just treats RSS feeds as e-mails, more or less). One of my requirements was Growl support, since that seemed like it would make my life much easier: to get a Growl notification for every commit. I really liked the idea of RSS Menu, but it was kind of inadequate in this regard — it simply sent a “new feed item received” typed Growl notification. This was mostly unhelpful. For a few days, I tried NewsFire (which is really annoying by the way, if you haven’t paid for it. If you want to try it out, it continually bounces its dock icon every few hours telling you to register — it would be nice if it didn’t do this until you had at least tried the app for a couple of days). NewsFire was pretty cool (and impressively shiny!), since it did pretty much what I wanted with Growl, but even still I liked the idea of the app being more minimalist like RSS Menu.

My first thought was to e-mail the RSS Menu author, in the hopes that he would be amenable to making the Growl changes I wanted. He was quite nice in telling me that he was rewritten portions of the app and that it might be awhile. Oh well. My second thought was, “well, how hard can it be to write an RSS Reader?” I had already done something simple in the past using libxml2 on Linux, in order to automatically torrent files from and RSS feed based on regex matching. I figured I could just use this source as a starting point, and everything would be great.

Well, one weekend later (and a couple of days of testing), I bring to you the new app RSS Growler. It’s powered by core data (quite fun to use, once you understand how it works), web kit, and Growl. It works impressively well, and is extremely shiny because it is designed specifically with trac RSS feeds in mind (although it will probably working fine with other RSS feeds as well).

It is pretty cool in that it manages multiple feeds and takes the top most recent feeds, showing them in the main drop down menu, with older feeds in submenus (it is a menubar app, like RSS Menu). It recognizes if your feed is a trac feed and parses it, finding web links in the commit log and displays them as sub menu items with regards to the main feed item. For each item in the top most recent feeds, it automatically gets the item via web kit and caches it to your hard drive as a safari webarchive. Then when you click on the link, it opens up the cached version of the page. It displays all of the information you need in the Growl notification (revision number along with author, and the commit log), and it has the option of show each separate feed as a separate item in Growl, so that you can customize the display per feed.

The one caveat is that you want to make sure you use a trac feed that has verbose=on in the query string, which you can do by customizing the display of the revision log before clicking the RSS button in safari to get the RSS link — this way you get the entire commit log and not just the first sentence or so.

Anyway, I think it’s really great, and so have some other people — so visit the RSS Growler page now!

NicePlayer Progress

February 3rd, 2007

With the new year brings a new release of NicePlayer. Now with updated resources for enhanced prettiness, as well as fixes for some of the bad crashes that have been happening. There are now more preferences for double click/right clicking action, as well as a preference to preserve the audio volume across new window openings. NicePlayer is now open source, so feel free download the source and contribute patches! Since NicePlayer is open source, we are now offering a downloadable package that includes installers for all of the greatest open source quicktime component codecs.

F-Script Anywhere 1.3

June 12th, 2006

Hot on the heels of F-Script Anywhere Universal comes F-Script Anywhere 1.3. Apart from being a universal binary, this release adds several new features:

  • Auto-injection: For those used to the SIMBL version of F-Script Anywhere, FSA will now let you auto-inject applications. If for some reason auto-injection is causing your app to crash on launch, apps in the auto-inject list can be removed via the FSA preferences.
  • Auto F-Script framework install: If you lack the F-Script framework, or your F-Script framework is out of date, FSA will prompt you and you will have the option to auto install or upgrade your framework.
  • Auto adding to procmod group: If necessary, you will be prompted to authenticate as an administrator to add your user to the procmod group. This is currently necessary on Intel-based macs.
  • Faster browser access: You now have the ability to open a browser for an object via a target directly from the FSA menu. This removes the need to go to the special capture window, or to create a new browser and then choosing “select view.” The FSA “browser for target…” option is also faster than the F-Script “select view” button since it allows direct selection of various classes in the object’s hierarchy (this functionality existed before but is now easier to access).
  • Deprecated dialogs now removed: The key-value window has been removed, as it is now a deprecated part of F-Script. Also the naming functionality in FSA has been removed in favor of the “name” button in F-Script browser windows.

F-Script Anywhere is now distributed along with the F-Script framework and application set, but if you don’t want the entire F-Script app set, you can get just the FSA binary (includes the latest framework bundled).