The Weekly Review

Make It A Habit

Custom Log File Revisited

After my log file post last week, I had a few people approach me with questions or good suggestions. So I’ve made a few updates and thought I would share them once again.

Formatting

Reader Patrick Mosby sent me an email in which he asked this:

I just read your article “Track Yourself With a Custom Log File” and wondered how you get the formatting of the entries like you showed in your screenshot. Are you typing this everytime by hand or do you also have some kind of automation?

I tried to use TextExpander to expand “ttime” to the current time but it seems that it doesn’t work in Quicksilver’s text input field.

Good question. Patrick was referring to the time stamps in each entry. In the beginning I was entering them in by hand, but since I have TextExpander, I wanted to make use of it. He was right though—it doesn’t work by default in the Quicksilver text input field. But with a bit of playing around, I found that if you prepend your TextExpander snippet with a period, they work just fine. The period invokes the Quicksilver text input, but also is the character for invoking your snippet.

In this example, typing ‘.ttime’ works perfectly.

Automation

In my original setup, I had created an iCal event that had an alarm that would trigger an apple script to run. This apple script updates a few different text files with the current date.

Jamie Phelps asked me via Twitter if I would consider using using a launchd daemon instead of an iCal event. Why? Well, most importantly, this event clutters up iCal. Using a daemon would be a cleaner solution.

I’m always up for increasing the UNIX skills, so I took on this challenge. After several hours of research and tweaking, I’ve got a solution that works nicely. Hardcore command line geeks can start laughing here—for those in the know, this type of automation is elementary. But I’ll include some details for those folks like me—people who are comfortable working in different applications and the command line, but are not familiar with all the commands and utilities.

First off, the idea with a plist file is that it tells launchd what to run and when to run it. I found out that much before getting to some documentation. Here’s a list of resources I used:

After all that reading, I had a plist file that looked like this:

After creating this file, you have to load it from Terminal using launchctl:

Unfortunately, even though the plist file appeared to be working, the log files were not updating. After much playing around and testing, I gave up and posted my issue on the Apple support forums. After a couple more hours and several replies back and forth with some very helpful folks, I had all my questions answered.

You have to love the Mac community. This whole process would have been much faster if I had started on the forums rather than starting with Google. Here’s what I learned from these people.

plist Creation

When creating a plist file that will launch an app or script file, rather than build it from scratch in Property List Editor (an application included with OS X), it was strongly suggested to create them with an open source third party app named Lingon. The app gives you a couple of options (what do you want to run and when etc.) and adds in all the correct elements for you. This is much easier than the guessing I was doing, trying to figure out which parameters to include.

Here’s a shot of Lingon in action:

Here’s how the plist files looked after creating it from scratch in Lingon:

You can see there were a few more parameters included this time.

Console

Even after creating the plist file in Lingon, the whole process still wasn’t working—the text files were not updating. I was asked to use Console (another application in OS X) to look for any messages being generated by launchd. Sure enough, error messages were being generated:

Permission denied? I couldn’t guess why that would be the case, since all the files involved had the same permissions set. But again, the folks on the forum led me in the right direction. Turns out launchd will run an application with just the path, as long as the file ends in ‘.app’. Otherwise, if you have a script file with an extension of ‘.scpt’, you need to add the string value of osascript as shown in the last screenshot of the plist file (this is the command you would use to run a script file from the terminal). Added that parameter and presto—it works perfectly.

Making a short story long, I would have saved myself some time if I had known to use Console to troubleshoot this. But that’s how learning goes, yes?

So finally I had an automated solution to add a daily date stamp to my log files. Sounds like a lot of work, but I like to learning this type of thing. So I consider it time well spent.

One last thing to mention.

Display

Although I’ve seen a lot of people use utilities like GeekTool to display files on their desktop, I’ve never been much interested myself. But with this log file, I thought it would be handy to be able to see my activities without having the file open all the time (I never have it open because I’m adding entries via QS). In addition, I created a MIT file, drawing upon the idea of having a big rocks or most important tasks list for each day.

So I installed and configured GeekTool and now have a visual of these two lists always on the desktop.


So there you have it. A lot of learning and twiddling just to keep a simple text file. But for me, these are skills that, once learned, make things easier—and faster—down the road. And I hope that the idea of the text based log file will prove itself years from now.

Heck, I even got an email from Matthew Cornell, he of the big arse text file that started this whole thing. Ask him how valuable his log file is after all these years.

I think that’s worth the time up front.

Track Yourself With a Custom Log File

A while back, Patrick Rhone posted on Work.Life.Creativity about the idea of keeping a text file to track miscellaneous bits of information. I was intrigued by the idea, read the linked pages he had included and got thoroughly engrossed in a web induced bunny trail.

The idea is simple—keep a text file that includes any piece of information that may be useful to you in the future. Exactly what information that includes might be different from one person to the next. But most likely we’ve all had those moments when we realize we need something from the past—a phone number, a web address, a snippet of code, the date on which we emailed so-and-so, what was the change I made in that code … you get the idea.

This text file is not intended to replace more robust tools. It is not a code repository. Nor is it a CRM tool. Not even a replacement for a bookmark organizer. It’s simply a file that is easily updated, giving you a brief history of what you’ve done and includes information that you may want to have in the future.

Wouldn’t it be productivity bliss to have that information stored in an easily searchable solution? I wanted to find out, so I decided to set up my own ‘logging system’ and give it a trial.

Criteria and Intended Usage

First thing needed here is some definition. What do you want to save and how are you going to save it? Exactly what kinds of data/information are you going to stick in this file. Like any productivity tool, this will have three requirements to be successful: consistency, perseverance and ease of use.

First off, just like any application that supports tagging, you need to be consistent in your usage. If you end up putting in vastly different types of information everyday or format the text inconsistently, it becomes harder to find that one piece of info you need. Being consistent will enable you to know what expect in your file and make finding things much easier. And consistency also leads to the next requirement: perseverance.

In order to make this tool useful, it’s going to take some work. I’ve heard it said that it takes 21 days to form a habit. It will take some perseverance to make updating this log file a habit.

There will be days where hours pass and you’ve completed many tasks, but have not updated the file. To make this work, you will have to go back and add those updates and work on forcing yourself to develop the habit of updating as you go. And that leads to the third requirement: ease of use.

The easier and more simple a new tool is to use, the easier it is to add it to your existing workflow. Updating this file needs to be quick and intuitive and must not take you away from the flow, from the zone of creativity you may have entered into.

Like tools that allow quick entry of items (Things or Yojimbo for example), your setup should allow you the ability to update the file without navigating through multiple folders, opening the file and then switching back and forth between multiple applications to copy and paste various bits of text.

A simpler workflow will help this habit to form more quickly. And there are a lot of possible options to give you this simplicity.

Some Options

I can hear some people saying, “Why not just keep the file open on your desktop? Aren’t you making this more complicated than it needs to be?” Possibly. But one of the reasons I use a Mac is for the cool tools that are available. Just keeping the file open is a possible solution. But I wanted the chance to automate this a little.

When I first got into this idea there were three options that came to mind for OS X: Automator, Applescript and Quicksilver. Between those three tools, there should be a simple solution that makes this text file idea work.

And make it cool to use.

So I started with Automator … and quickly moved on. It simply doesn’t have enough options for working with different types of files (I had played with the idea of using OmniOutliner to save this file, but later decided to stick with plain text). The included work flows are limiting and at times maddening. When you expect an action to pass it’s data to the next action, and it doesn’t for no apparent reason … well, you can fiddle forever trying to guess how to sequence the actions together.

I moved on to Quicksilver. It is a proven tool for appending information to an existing text file. Very early on in my experimentation, I had tried using Quicksilver (QS) to update text items in Yojimbo. This proved to be a failure, and I was frustrated by the lack of documentation available for the application (adding new items to Yojimbo is possible with QS, but not updating existing ones).

But once I decided on a plain text file, QS was the choice for the quick entry of items into the file. Adding an update is as easy as follows:

Invoke QS | Type “.” to invoke text entry | Type your update | Tab to next pane | Type append to | Tab to next pane | Type in name of your log file.

Here is a screen shot of this action:

So after some experimenting, I decided on the combination of plain text and Quicksilver.

My Solution

All the bits of information I talked about at the beginning were to be included in my file. I think of this almost as a journal—tracking the highlights of what I’ve done each day.

As for formatting, here is an example of how the files looks:

There was one last piece of configuration I wanted to tack on. I felt like this was a good opportunity to learn some more Applescript. And, as seen above, I wanted to format the file in a way that each day was separated differently than each entry. This was a good item to automate.

So I wrote an script to do that. Here is the content of the Applescript:

set logFile to open for access POSIX file “Users/Chris/Documents/Projects/Lists/Log.txt” with write permission
set date_stamp to ((the current date) as string)

write return & return & “—– ” & date_stamp & ” —–” to logFile starting at eof

close access logFile

It simply adds a string to my aptly named file, log.txt. And in order to have this script run automatically each day, I created an event in iCal. This event has an alarm that is set to run this script. Here are the details of the calendar event:

Each day, this task runs at 2:00 AM. If the macbook is asleep, this runs upon awakening. It appends the date to the log file, and when I’m ready to add some entries, the file is already formatted for my purposes.

With this setup, I can add to the file for days without having to open the file itself.


There are so many ways to implement this idea, but it’s the idea itself that’s important. The fellow who wrote the original article that Patrick linked to had been using his text file consistently for five years at the time of writing. When reading his post, it’s clear that this is an important tool in his arsenal.

It will be interesting to see if productivity gurus like the folks at Work.Life.Creativity will adopt this practice as well. In a time when productivity applications are in such abundance, can a simple text file compete?

Like anything GTD related, it depends on the individual.

Pennies: Budgeting on the Go

I recently purchased a new application for my iPod Touch—Pennies by Austin Sarner.

I’ve been waiting patiently for Cultured Code to update Things for the iPhone/Touch to include syncing with the desktop version. And although I’ve been enjoying working with pen and paper for day to day tasks, I’m excited to have a copy of my full master task list with me at all times on my Touch.

But I’ve also been keeping an eye out for other ways to make my Touch more useful. And I think Pennies may be a good option. It’s a small budgeting app for the Touch platform that focuses on the interface and ease of use.

As with anything Mr. Sarner produces, Pennies looks very sharp. Here are a few screens:

However, this does not appear to be a full fledged budgeting application. There are some restricting limitations. For example, in the small amount of time I’ve played with the app, I could not find a way to add new categories of expenses.

What makes more sense to me is to use this app as a tool to capture all the little expenses that I incur when out and about. These ‘little’ expenses surely add up, and I think summarizing with this application will be revealing. It should be a handy tool to add to my current budgeting setup.

Best iPhone\Touch App So Far

Scrabble—well designed and great fun. Get it.

iPod Touch - Impressions

Just in time for the arrival of iPhone 2.0 on Friday, it feels right to talk a bit about my first week and half with my iPod Touch. I know I’m late to the party, what with the iPhone being around for almost a year, but we Canadians haven’t had as much exposure to this device as our cousins to the south. So with my fellow countrymen in mind, here’s what I’ve found. This is not a full on review—just a collection of experiences that really stuck out. Great moments in design if you will.

Form Factor

First off, this is a beautiful device. Like all the other Apple hardware I own, the materials and construction are top notch. Best of all, the size is acceptable. The screen is a decent size, but the overall dimensions of the unit are small enough that it’s not a burden to take everywhere you go. I’m the kind of person who can’t stand bulky items in my pockets—I’ll tend to keep my keys and wallets in my backpack instead. But the iPhone\Touch casing is compact enough that I found I always had it with me.

Display

Another well designed and good looking aspect of the Touch is the display. It’s crisp. Like over-cooked bacon crisp. The sharpness of the UI is better than my 23″ ACD—and any other LCD I’ve ever used for that matter—due of course to the increased PPI (pixel density). It’s a pleasure to look at the screen at any time, in any of the apps—except for maybe the notes, due to the poor choice of font. But I digress.

There were times in the past week where I would catch myself just staring at the screen, lost to what I had been doing previously. I would press the home button just so I could see all the buttons for the various apps. Just because it looks good.

In the past decade that I’ve paid attention to Apple, their hardware has always struck me as good looking—and the iPhone\Touch takes it up another level.

Browsing

Since the launch of the iPhone, a lot of talk has centered around Mobile Safari. And for good reason. I’ve never been a big user of cell phones or PDA’s, so my experience here is limited. I’ve used and supported a few; the older Palm models, Compaq iPaqs and BlackBerrys mostly. But surfing the web was not a primary function—at least not intentionally. A lot of that was due to the fact that it was a pain to surf with those devices, even the BlackBerrys.

Mobile Safari appears to have changed that. Now, not all sites are really great to view on the device. It’s certainly not the same as surfing on my computer. But there were enough times where it was easier to look something up on the Touch rather than go the office to grab the laptop. And when out and about and there’s wifi available—gold.

As far as viewing sites goes, I think the Mobile Safari designers did a great job making the app improve the experience as much as possible when browsing pages that are not optimized for the device. Take this site for example—the double tap (I keep wanting to say double click) method for zooming in and out is great for sites like The Weekly Review that are broken into two or three columns.

Add to this the fact that many designers are in fact optimizing for the iPhone and you’ve got an overall pleasant web experience. Not perfect—you will be annoyed at times—but pleasant enough for such a small screen.

Sound Quality

Of course, sound is important too. This is after all, an iPod. And again, my experience here is limited. This is only my second iPod, the former being a first generation Nano. I find the quality of sound is an improvement over the Nano—the bass is definitely fuller and the overall range more complete. I’m no audiophile, so I’m not exactly sure why there would be an improvement. Perhaps it the size, bigger battery or maybe the newer ear buds. Whatever the reason, it was a pleasant surprise.

Wifi

There’s not a lot to mention here other than the ease of use. Connect to a particular SSID once, and never have to bother again. Once I had a few main networks set up, I was never bothered with having to choose a network at any time. The device was simply connected whenever I turned it on.

Apps

The original apps included are a good start. As mentioned above, Mobile Safari is well designed. The Calendar and Mail apps are also well designed. Stocks, Weather, Clock and Calculator are really more widgets than apps. The exciting aspect for me here will be with the software update coming Friday. The push aspect to all devices with MobileMe will tie these apps together with the already polished desktop experience that is OS X.

Another thing worth mentioning is the excellent implementation of accessing your media. Using Music, video and photos is fun—I showed off more pictures of the kids this week at work than I have for the past five years. And that brings us to the next section.

Interface

After 9 days, there is no doubt to me that what Apple really nailed here is the interface. With OS X where it is today, this should be no surprise. But the way in which the developers incorporated the touch technology into the Touch OS is stunning. This hit me so many times—flicking through photos, browsing through artists or contacts, reading emails—when you start to pay attention to the small details, it’s boggling. My personal favorite is setting the date and time for a new calendar entry—I don’t know how else to describe it than fun. iCal isn’t this good.

Like OS X, the interface is so good because of one factor—ease of use. And that’s where the iPhone line beats out the competition. Sure, typing on a small device is hard—a person can argue whether Apple’s design in this regard is better than others. But for the rest of the functionality, no one other PDA or smart phone comes close.


I’m definitely impressed with the Touch. Probably more than I had expected, which might explain why I hadn’t made this purchase earlier. If you are not yet the owner of an iPhone or iPod Touch, eagerly anticipating Friday morning, you won’t be disappointed. In fact, you might want to get in line now.

Bug Hunting with the Best

I love reading stories of designers and developers that give you, the reader, insight into how they think and work. In a humorous piece yesterday, Wil Shipley shares his experiences with solving a large bug with his flagship application, Delicious Library 2. Aside from his out of nowhere Interlude, here’s my favorite line from the post:

knew this. Knew! I’ve also been around long enough to know that whenever I know the operating system must be bugged, since my code is correct, I should take a damn close look at my code. The old adage (not mine) is that 99% of the time operating system bugs are actually bugs in your program, and the other 1% of the time they are still bugs in your program, so look harder, dammit.

Great stuff.

Why Isn’t Everything Free

There are so many illogical arguments in this article by Anita Hamilton on Time that it’s hard to know where to start. Many others are already chiming in with their thoughts, so I’ll stop with this:

If Apple ever does decide to let all iPhone apps be free, it would be a radical departure from its typical way of doing business.

Well, yeah.They should definitely change the way they are doing business—things are going so poorly for them right now [insert sarcasm here].

OS X Security Survey Results

Thanks to everyone who completed the survey last week. Here are the results:

Q. Do you currently have antivirus software installed on your Mac(s)?—Just under 10% of respondents said yes.

Q. Have you looked at or updated the firewall settings on your Mac?—84% of respondents said yes.

Q. How regularly do you install new software on your Mac?

Frequency Percentage of Users
Every Freaking Day 8%
Often – a couple of times a week 42%
Sometimes – A couple of times a month 42%
Rarely – A couple of times a year 8%

Q. When installing software, do you ever worry about the source?—Only 58% of respondents said yes.

Q. Are there other security steps you take as a Mac user?—This was an open-ended question that received a few interesting responses. 17% of respondents mentioned third party applications like iAlertU, LittleSnitch or PeerGaurdian. Many respondents simply indicated that they take some time to look into things, but the general consensus is they trust Apple to keep things safe through Software Updates.

Q. Have you ever enabled any of the various types of sharing in your System Preferences?—75% of respondents had, and the types of sharing varied.

Thanks again to everyone who took the time to fill this out.

My Cave at The Weekly Review

I’ve always enjoyed seeing the setup of other bloggers—what their desk looks like, the software they use, how they write\design\create etc.—so I thought it was time to do the same here. Here’s my cave:

Hardware

My setup is simple—I have a white 1.83 GHz Macbook with 1.5 GB of RAM. It’s my second Mac (the first being a used G4 tower) and it’s the best computer I have ever owned. I love the feel of the keys on the Macbook, making it a pleasure to work on.

As you can see in the image above, when I’m at my desk I use the newer Macbook-style keyboard and a wireless Might Mouse. And the desktop is marvelously displayed over the 23″ Cinema Display my wife gave me for Father’s Day. My Internet is served up by a 500 GB Time Capsule.

There is always a good notebook and pen around as well.

Atmosphere

I enjoy working in softer light—no fluorescent overheads allowed. Our office is a nice shade of yellow, and my desk lamp perfectly lights the space. The window looks out over the deck into the backyard.

Publishing

This site is powered by WordPress and is currently using a heavily modified version of Derek Punsulan’s Grid Focus theme. There are not a lot of plugins used on this site, but here are the few that makes things run smoothly:

Routine

With a full time job and a house full of younger children, most work on The Weekly Review gets done early or late in the day. Most often, I get up between 4:30 and 5:00 AM. After some quiet prayer and meditation, I put on some coffee or yerba mate and get to work. I’m a morning person, so working at this hour is not a big deal. I like thinking and typing in the quiet before the chaos and endless requests of the day begin.

Music and beverage are essential cogs in this machine.

Software

I have a love for fine software—it’s what makes being a Mac user so great. A lot of what’s written here is in regards to this software. Here’s a rundown of what I use:

Productivity

  • Mail or Fluid instance of GMail
  • iCal synced with GCal
  • Fluid instance of Highrise from 37signals
  • Things
  • Yojimbo

Web work\Blogging

  • Coda
  • Transmit
  • MarsEdit
  • Acorn
  • Dictionary.app
  • WriteRoom
  • Firefox
  • Skitch
  • Mint

Entertainment

  • iTunes w\ CoverSutra
  • Safari
  • NetNewsWire

Web Applications

  • del.icio.us
  • Dropbox
  • Flickr
  • Instapaper
  • Last.FM
  • LinkedIn
  • Nike+
  • Twitter

Working on this site has been enjoyable so far—I hope it always remains so. A good part of that enjoyment comes from the tools and the environment. The rest comes from the actual end result and from the people I’ve come to know as a byproduct of this work.

Thanks to you all for keeping this fun.

OS X Security – Causes for Concern?

Normally blog posts about security threats for Mac users evoke one response from this particular Mac user—it’s much ado about nothing. But a recent article by Rich Mogull at Tidbits got me thinking a little more about security in OS X.

Why? With Apple gaining market share and starting to lead in certain areas (portables in the University crowd etc.), it only makes sense that miscreants will start paying more attention to this demographic. And the folks at Tidbits display their technical chops every day—they know their stuff. So while Rich states this is a low-risk threat, he also advocates that now is a good opportunity for Mac users to increase their awareness regarding security with OS X.

I plan to do just that. But I was also curious what other Mac users think on this subject. What percentage of us actually use antivirus software? How many of us have looked at or altered our firewall settings? Things of this nature. So I created a survey and would love it if TWR readers would take the time to answer six easy questions. Click on the link below to take the survey:

OS X Security Survey


If any of you are Windows users, I don’t want to leave you out—we know you have concerns. Here is a link to catch up on the latest high profile viruses in your neighborhood.

| Next