Hazel Review

Entry posted on 2008-04-27 10:31 am

I’ve been taking Hazel for a spin, and I’m rather impressed. The analogy they have running is that it’s a “personal housekeeper”, and does file management/cleaning in the background while you work.

For a good while I thought Hazel was not going to be very useful for me, as my Downloads folder is organized using Speed Download 5’s rules, and I also had AppZapper for cleaning up application files.

However, firing up Speed Download for downloading a small document sometimes feels a bit overkill, and that’s where Hazel works for me. I can even set custom rules for various file types, like when I download SQL backups:

SQL rules settings

I can send the SQL to a specific folder (here, my database backups folder), and rename it to include the timestamp when I downloaded. Absolutely cool :D

Additionally, firing up an extra application (AppZapper) to delete applications is an additional step, when I can just hit Command+Delete and have Hazel tell me if she wants to delete other application-related files.

The $21.95 Hazel is definitely worth it, especially if you don’t have any of the other applications that manage your folders for you. It’s a great addition to the MacUpdate Parallels bundle, and complements the bundle well.

This is the first review of a series of reviews I plan to do on the applications included in the currently-running MacUpdate Parallels bundle. For the full list, please see my original MacUpdate Parallels bundle post.

Typinator Review

Entry posted on 2008-04-19 10:50 am

I bought the MacUpdate Parallels bundle two days ago, which included Typinator. There’s a reason why the first review I’m making is of Typinator: it’s the app that most visibly works in the background, and is easily inserted in my workflow.

Typinator expands/replaces abbreviated text as you type, in any application, and I have to say it’s a really nifty tool. Like what its demo shows, you can create any sort of abbreviation in it and once you hit the space bar, Typinator will replace that abbreviation with “the real thing”.

Pros

One very interesting use of Typinator is for auto correction, which is the reason Typinator is very visible to me. They have an abbreviation set for common typographical errors done for English, French, Dutch, and another set from TidBITS, apparently, which contains gems like “appreachate” translating to “appreciate” and “apperatus” to “apparatus”.

English autocorrection dictionary/abbreviation set

It’s a good tool for programmers, too. A good example is when you’re writing out quick code for debugging, like below:

Abbreviation definition for debug_printr

If you notice, in the expansion field, the value has “{^}” in it, like so:

echo '<pre>'; print_r( {^} ); echo '</pre>';

That tells Typinator where the cursor should be placed. So once I type debug printr $var anywhere, it gets expanded while I’m typing $var and $var ends up at the right place. This will definitely save a good bit of time for those tedious repetitive tasks.

It had just tried to expand that text I put up top. A quick Cmd+Z usually fixes it, but naturally not if there is no such function in the application I’m working on.

Additionally, I liked that when you’re typing out your abbreviations, Typinator tells you if there’s a possible clash with other rules already present in any of your sets, like below:

Rules clash for abbreviations

Cons

It might get better when I’m more used to it, but the half-a-second pause where your abbreviation gets highlighted and then expanded can be rather distracting. Also, I initially planned to load my Terminal aliases to Typinator, but after using a few, I think I will stick with editing .bash_profile for the small stuff.

Typinator also does not have a menu bar even when its window is visible and active, which was disconcerting. Everything is under the Action icon, if you’re looking for it.

I’ve yet to notice if Typinator’s bundled auto correction sets get in the way of typing in another language, but so far it’s behaving pretty well. This shouldn’t be a very big problem, since you can easily go in and change the sets any way you wish. Don’t worry about removing an abbreviation from the bundled sets; if you want to start over, you can just delete that set and add it again.

Conclusion

Typinator, originally at $29.99 for the single license, is a useful application. I wouldn’t say it’s worth the whole bundle, but in conjunction with other applications, it complements them well and is useful in that “running in the background and doesn’t mess with your work” kind of way.

Would I buy it for $29.99? Maybe not, but I suspect this one of those applications which, once you’ve used it for a year or two, you might buy for that price in the future. Way to go for creating need ;)

This is the first review of a series of reviews I plan to do on the applications included in the currently-running MacUpdate Parallels bundle. For the full list, please see my original MacUpdate Parallels bundle post.

MacUpdate Parallels bundle

Entry posted on 2008-04-18 11:38 am

Kelvin told me that the MacUpdate Parallels bundle went live yesterday, and I caved and bought it last night. The current bundle, which will continue to run for 12 days (at the time of this writing), contains the following gems:

The latter three are currently still unlocked at the moment, with them getting unlocked once the 5,000, 10,000, and 15,000 bundles have been sold, respectively.

Personally, I’m interested in the following applications:

  • Hazel - looks like this is the ultimate app to have if you’re obsessive compulsive ;) the tagline is “personal Max OS X housekeeper”, and while application deletion is already handled by AppZapper (which I bought in the MacHeist bundle before), this still looks like a good application to invest in.
  • MenuCalendarClock - I’ll admit I’ve never used iCal and Address Book all that much, but with this application it looks like I’ll be using them a lot more now. I love being able to see to-do lists and events right when I login, something that I once had on my Windows PC.
  • StoryMill - for anyone who knows me, you’d know why this is interesting ;) novel writing software! Looks pretty nifty, allowing you to organize characters, scenes, etc.
  • Typinator - for shorter keystrokes all over! I’ll have to see how this works with me typing half the time in a different language. Actually, it just fixed one typo I had while writing this entry, from “hvae” to “have”. ;) Nifty!
  • DVDRemaster Pro - DVD backups anyone? This is an important utility and it looks to be pretty robust.
  • Parallels Desktop - of course. I need IE for testing. Booting up in another OS wastes a lot of time. This will be cool once it’s unlocked!

I plan to review each application in my interested-in list as I play a bit with it over the next few days, so check back if you’re interested. :) I’ll try to do the other applications, so let me know which you’re interested in, but no promises!

Go check the promo bundle out yourself! ;)

Edited to add: I’ve started reviewing! Click to see the reviews, if you haven’t decided on getting the bundle yet:

Inconsolata, a monospace font

Entry posted on 2008-03-09 11:37 am

I came across an interesting monospace font, Inconsolata, when it was featured at Smashing Magazine (along with other interesting fonts). I’ve started using it — it speaks to both my geek programmer and aesthetic sensibilities.

Sample of Inconsolata font

I’ve noticed that straight quotes (single or double) lean slightly to the right, as if it doesn’t know if it’s a straight quote or a curly quote, exactly. This is “pretty”. Unfortunately, the backtick (`) leans the same way to the left, around the same angle. This can possibly be a problem (or maybe that’s too harsh: the word is annoyance) especially for types such as myself who habitually use backticks and straight quotes in the same line (see the SQL queries above).

The same goes for zero (0) and uppercase O — the former isn’t slashed, and the difference in width between the two is rather slight especially at small font sizes. I don’t want to need to use a bigger, less space-efficient font size just to use the font. The number one (1) and lowercase l seem different enough to me, so that’s good.

The font is pretty, but is pretty enough?

We’ll see. If I end up getting annoyed because I’d be hunting for code errors and can’t easily distinguish it (due to things looking somewhat the same… especially at 3AM in the morning and some 486732478623472 lines of code later), I suppose it will be time to look for another font.

For the moment — it’s shiny!

Apache, PHP, and MySQL in Leopard

Entry posted on 2008-03-02 9:21 pm

I was quite delighted to find out recently (via AJ) that Apache and PHP was available by default on my Mac. Before I got my Mac, I thought that was the case, and then I couldn’t find it and supposed there was none and got living-e’s MAMP instead.

I quickly got annoyed, because just logging off and shutting down my computer after a bit of dev tweaking meant typing in my account password. Sometimes I ended up forgetting I had it running, and Logout would stop because MAMP needed something from me. It was quickly set up, but after a few weeks of getting it (and ending up too lazy to go through the whole startup-type-password-work-shut-down-type-password cycle…go figure) I was ready to brave whatever UNIX source compiling wizardly people go through to get their machines ready for web development.

After all, I’ve never resorted to using WampServer or XAMPP (etc) when I was still on Windows. I’d always preferred installing and configuring each one by one. This shouldn’t be hard, right?

And nope, it wasn’t! I’d initially envisioned needing to compile the source and all that scary stuff, but apparently (like I said) Apache and PHP was already built in, and MySQL had a Mac OS X binary. Yay! I spent an afternoon tweaking to my heart’s content, after finding gems like these:

Here’s what I did.

  1. Set up Apache’s configuration file.

    Open up Terminal, and type sudo vim /private/etc/apache2/httpd.conf. You’ll need to enter your password, since you’re running as root. Line 114 (or thereabouts) will be where Apache loads the PHP5 module. Remove the hash/pound sign (#) (type i to enter insert mode, and escape to get out of insert mode when you’re done) at the start of the line.

    LoadModule php5_module in httpd.conf

    Optional: You can keep going and customize your httpd.conf file to your liking. For me, I did the following:

    1. Change DocumentRoot to my Sites folder (two lines to change).
    2. Add index.php in DirectoryIndex to automatically load index.php files ahead of index.html when requesting a directory.

    Save the file (type :wq when in command mode).

  2. Setup PHP’s PHP.ini

    Leopard doesn’t have a PHP.ini by default, but the default one is still there, named PHP.ini.default. Make a copy of this by moving to the /private/etc folder and copying that file:

    $ CD /private/etc
    $ sudo cp PHP.ini.default PHP.ini

    You might need to enter your password again. After that, you can edit PHP.ini (again, sudo vim PHP.ini…this is read-only, so remember to override vim’s warning when you’re saving and use :wq!) to change error reporting and other things you like to have PHP do when you’re developing.

    php.ini error reporting

    Note: The mysql and mysqli extensions are not enabled by default. You probably want to change that. (See lines 625 and 626.)

  3. Run Apache!

    Now it’s time to test your web server and PHP together. Fire up System Preferences, and under the Internet & Network section, click on Sharing. Check the check box next to Web Sharing. Once it’s on, you can go to the URL there, or try the ever-trusty http://localhost, to test if your settings are as they are.

    Of course, if you feel like you want to do it the geeky way, you can always run sudo apachectl start.

    Web Sharing preference pane

  4. Now let’s get MySQL up and running.

    MySQL isn’t included, so we’ll have to install that. Download a binary package and install MySQL, the StartupItem, and the preference pane. I haven’t actually gotten the preference pane to actually stop and start the MySQL daemon, but I figure it will work eventually, and it’s always nice to see it in System Preferences.

    Once they’re installed, hit sudo /usr/local/mysql/support-files/mysql.server start to start the daemon. You can try doing this via the preference pane (and let me know if it works). The preference pane also lets you toggle if you want the daemon to start automatically when you log in (which is the whole point of this exercise…but again, for some reason it doesn’t like me ;( sob).

    MySQL preference pane

  5. MySQL socket problems in PHP

    As of the time of this writing, just installing MySQL and enabling the appropriate extensions in PHP.ini isn’t enough. PHP won’t be able to find the MySQL socket and won’t be able to talk to your database server. This post has a good explanation why, but to summarize the fix for this:

    1. Create a my.cnf file in /etc:
      $ CD /etc
      $ sudo vim my.cnf
    2. Type the following in the file:
      [client]
      socket = /var/mysql/mysql.sock
      
      [mysqld]
      socket = /var/mysql/mysql.sock
    3. Save the file and exit to the shell (:wq in command mode).
    4. Type the following commands for the sock file’s directory:
      $ sudo mkdir /var/mysql
      $ sudo chown _mysql /var/mysql

    PHP should be able to connect to MySQL now. A word of caution:

    One drawback to this is that if you have installed the MySQL GUI tools, they will look for the mysql.sock file at the old location. You can enter the new socket in the connection dialog under More Options, there is a box labeled “connect using socket.” Just enter /var/mysql/mysql.sock.

    Another solution is to change the PHP.ini file to expect the socket in a different location. I’m going with the my.cnf option because I expect the MySQL will have a Leopard version out in a few days that changes the default location.

    - from Professional PHP

That’s all there was! You should be up and running in no time. I ended up taking a bit longer because of the following (which might help you):

  • My files all had wrong permissions. They were all just readable and writable by myself (the owner) and hence my web server couldn’t read them. A quick recursive CHMOD 755 * helped, although of course I’m wondering if there’s an easier way to get this all done. (Let me know?)
  • I installed CocoaMySQL for my database management needs. It looks pretty spiffy. I’ll give it a whirl and if it isn’t enough, I might try out Navicat, although I’d rather not need to pay for a management tool.

Edited to add: I found out that the MySQL preference pane really wasn’t working, and that MySQL is aware of this issue. I found a patch for it via Natron Designs; and yes, now, it works!

More entries