Archive

Archive for the ‘tools’ Category

My top Mac OS X tools and utilities

February 2nd, 2009 2 comments

Since I just reinstalled my MacBook and spent some time getting everything back in place, I thought I list some of my favourite apps and utilities. No ranking though, since I’m not a tonight show host:

mcfreebieonyxfrleoprd_1 Onyx

A very clever app, offering dozens of options to optimize your system, run maintainance tasks, configure hidden parameters of Finder, Dock and other apps, clean caches and remove outdated files, etc.

monolingual Monolingual

From the website: “Monolingual is a program for removing unnecessary language resources from Mac OS X, in order to reclaim several hundred megabytes of disk space.” For the records – on my more or less new system, I just saved 2.8 Gigs (!!).

transparent_quicksilver_icon_by_darahgna1 Quicksilver

Quicksilver once was hyped beyond believe in the Mac universe, as a revolutionary, optimized way of interacting with your operating system. Ignorant as I am, I only use it as launcher – just hit CTRL-ALT-APPLE (or whatever key combo you assigned it) and start typing the applications name, and hit enter to launch it.

120px-vlc_icon VLC

Yeah boooring, I know. One of the major annoyances for me is how Apple supports (or actually does not care much about free support for) additional codecs for Quicktime. VLC comes to the rescue, with all important codecs (and dozens more) compiled into the app, to play whatever audio or video format you encounter during those nightly easynews sessions…

120px-cyberduck_icon Cyberduck

Another Mac mystery – for reasons unclear to me, I can mount an FTP server into Finder, but only as read-only. I don’t know why I thought Fetch is the only option for a good FTP-client on the Mac – I just started using Cyberduck, and so far I’m pretty happy with it. Also supports WebDAV, Cloud Files and Amazons S3 (if you are hip enough to need that…)

little_snitch Little Snitch

Seems the defacto-standard for a personal firewall on OS X. Runs for a limited amount of time until it has to be restarted manually, unless you buy a license. Highly recommended!

adium-logo-20080128-115634 Adium

Good multi-network IM client, all in one – although I find myself using Meebo as online-replacement more and more often.

1password 1Password

A good password manager, with plugins for all major browsers, secure notes etc. Can autofill passwords and other form fields on web pages, sync with your iPhone/iPod touch or Palm (does anyone still use Palms??). A single license is $39.95, but I got it with a MacHeist package, so I did not compare it with any other free password managers that are undoubtedly out there.

istat-small iStat menu provides configurable statistics and status infos about all parts of your system – CPU and memory usage, network bandwidth, fan speeds, temperature, etc.

Integrating a survey tool in your web application

January 23rd, 2009 1 comment

Facing the question how to implement a basic survey functionality within a web application, I had several options:

  • Implementing a new system from scratch
  • Linking to an external hosted system
  • Integrating an existing 3rd party survey tool into the web application

The survey features were important, but would not justify a big amount of workload, so implementing a new system from scratch (that would give enough flexibilty to support different types of question types and complex ways of analyzing results) was out of the question.

The downside of this decision was that the survey administration will not be integrated into the rest of the administration interface, but we could live with that.

Linking to an external hosted system (like SurveyMonkey or SurveyGizmo) sounded nice, but I needed to be able to control access to the survey via tokens – so that a single user could answer a certain survey only once by using a token issued to him by me.

Most of the external hosted survey tools have no problem using tokens, but I needed to dynamically generate this token within my web application right before I send the user the invitation to answer the survey, so I needed to be able to insert new tokens at runtime from my application – and could not figure out how to do that using a hosted system.

By integrating an existing solution, I would be able to have direct access to the (local) database, inserting tokens on the fly.

What I ended up doing was using the open source LimeSurvey. It’s a standard PHP/mySQL application, and seems like the defacto standard solution for surveys on the web.

LimeSurvey can serve all sorts of question types, and – most importantly – use tokens to control access to restricted, non-anonymous surveys.

These tokens are stored in DB tables named tokens_<SURVEYID> whereas <SURVEYID> is (you guessed it) the numerical ID of the survey.

Now, if you construct the SQL update statement manually, it’s pretty easy to concat the survey ID into the statement string, but since I was already using Hibernate, I wanted to refrain from hardcoding SQL in my application.

After some research, I implemented a custom Hibernate Interceptor, which allowed me to insert the surveyID into the SQL-string on the fly without any other hassle.

I will write more about how we use and trigger the survey invitations in a later post.