Finding Files Quickly with Favorites in Trickster

So I had a bit of a hiccup in my filing system recently. I was with my boss on a video call when we decided to finalize a document. I couldn't find the document quickly. I had to resort to going into email because I remembered the last person I sent the document to. These types of interactions are a bit stressful to me as my desktop was shared, my face was on video, and it was slower than I wanted to be able to lay my virtual hands on the document.

My fix was to load a program that I didn't get moved over when I set up my new work machine about 8 months ago. That app is Trickster. Overall, the app keeps track of what you've been using on your Mac and makes access quick and easy. The main feature set I'm using for my recent issue is Trickster's Favorite feature. Brett Terpstra talked about this app again recently so I don't need to go into great detail. For the most part, my filing system is workable but having a well-crafted app vs. my direct effort to keep track of files makes good sense.

Trickster lives in the menubar so its very easy to access. The favorites section is a sidebar where I can keep links to these types of files that I use routinely on projects but that I may not have opened up very recently. This saves me from the dreaded multiple copies and is this the latest version of the file when on the spot and visible during meetings.

The app is only $9.95 and if it saves you during one meeting this year in addition to being a great utility day-in day-out, it's more than worth the price. Trickster has a free trial so there's no better time than the first of the New Year to try out a productivity app for you new productivity resolutions.

If you are like me, this will become a go-to app!

Can't Wait for the New AppleTV

With the demise of the Ouya nearly complete, the stage is set for Apple TV. I've been waiting for a while. OK, the Ouya didn't technically set the stage. It did demonstrate the concept to me personally. So I can't wait the last few days before I can order the new AppleTV. I'm more excited about this than the watch!

P.S. Finalize the content deal so I can ditch DirecTV and declutter my TV setup.

Bring it!

Update to Encrypting PDF with PDFPen

Slight update to the automatically encrypt PDF's with PDFPen. Updated to select the file and encrypt using PDFPen.

Here is the script which can also be found on github

set this_file to choose file
set label to "PDFName" --this is the Name: in Keychain change for whatever you use   
set Qlabel to quoted form of label     
set t to do shell script "security 2>&1 find-generic-password -gl " & Qlabel     
set text item delimiters to "\"" -- Get Password     
set tlst to every text item of t     
set pw to item 2 of tlst     
tell application "PDFpenPro 6"     
    open this_file    
    save document 1 encrypt using AES256 password pw     
end tell     

On Software Commoditization - Lessons from the Chemical Industry?

Commoditization of software and indeed the computer industry has been talked extensively (DuckDuckGo Search) for a while now (2003 Gigaom). There are numerous posts about it and strategies to combat incuding Allen Pike. Most recently, Brent Simmons (Love) weighed in and started another wave of assessment. In chemistry this commodity and speciality element isn't debated. It's fact. The other simple fact that I could substitute software into the article from Dr. Kai Pflug, CEO, Management Consulting is why I've shared.

  • Does a find and replace for chemistry to software make sense to you?
  • Do you think some of the posts you've read have counterparts in the chemistry industry? e.g. Diversification and focus on new products that David Smith coaches us on almost weekly
  • See any approaches not yet adopted in the software industry?

Podcasts by Programmers

I just listened to the latest episode of Shared Instance, a podcast by 3 iOS programmers from Cincinnati. This weeks episode had some good dicussion about swift and its suitability for beginners.

I listen regularly to the show and would recommend it for hobbyist programmers as its kind of like hanging out around the water cooler with folks who know their stuff.

Likewise, I am really liking Talk Python to Me. I like this one as the host, Michael Kennedy, has been talking to some of the developers of the most popular packages on python. That and the intro song is sweet.

The others that I think folks are more familiar with that I listen to are:

Learning to Code

I saw this article by David Sparks recently. As a fellow hobbyist who has been trying to improve my skills in programming for a couple of years, I've developed some strong opinions on how to start.

First an aside for my aspiring programmer hobbyist friends. One of the pieces of advice that I often see is that you simply need to have something you want to build and its all down hill from there. I found this advice to be demotivating (I recognize that the intent of the advice is not meant as demotivating but the impact was demotivating for me). I wanted to build things at a level well above what I could understand. Was I simply not cut out to understand Object Oriented Programming? Was Objective C beyond me? etc. That said, the advice is true. However, there are a few starting pieces that experienced programmers don't really have the right perspective to answer. There are some basics you need to put in place to make some progress.

The way I learn, may not work for you so I do suggest you do use a couple of different ways to learn to find out what works best for you. That said, I'd start with an organized course. My stance boils down to this. Go for good teachers.

Start with an organized course. Rather than searching out courses on the web, start with Coursera. If you are starting right at the beginning, I recommdend Programming for Everyone (Python). If you have some experience (know for loops, if / then, etc. then I recommend tackling the series from Rice University beginning with An Introduction to Interactive Programming in Python (Part 1).

Yes I recommended a language. Yes it is Python. No it is not Swift. When the Apple recommended Swift content is adopted, I would absolutely recommend it. At the moment, you have some experienced University professors teaching a basic level for free in a simple language that is widely used including this guy. The courses are broken up into doable sized chunks of as short as 4 weeks. These courses also have peer assisted or auto-graded assignments and quizzes. Its simply amazing this stuff is available from talented teachers.

With honorable mention, I've learned a lot from Simon Allardice on That includes getting started Swift. Also, there are good tutorials but they're hit or miss. If you find some you like, go to town on them.

Also, helpful but for later in my opinion is iTunes U and the Stanford courses including Programming Methodology. It is a bit old but I think conceptually very helpful. I made it through Programming Methodology but not yet through the next two courses. These are also taught by world class teachers. However, the subject matter is much denser and its not quite as easy to fit a college level course into a hobbyists life.

Organized courses are the best. Start there first.

Books are hit and mostly miss for me. I like the Big Nerd Ranch books for typing along and making things work in OS X and iOS. The issue with books for iOS or OS X is that the language moves quickly enough from year to year that the older books have enough differences that the novice me often can't make them work. Go with the videos first and then when sufficiently comfortable, go to books from BNR on the topic of interest. I am about 80% through the newest Cocoa Programming in Swift so I do recommend that. However, its already destined to be more challenging to work through as Swift 2 is adopted. Even though the BNR folks are working through how to update for Swift 2

Have fun. Follow your own path. Learn PHP or Perl if you want. That said, I do strongly suggest you look for the best teachers you can find.

Fixing Autofiling Script for Outlook

So somewhere along the way, my auto-filing script for outlook began failing. When selecting a single message and executing the script in outlook, it failed. So I fixed the error and cleaned up the script a bit.

The issue was that when I was selecting only one item, it didn't understand the message "count" so it crashed. So after about 30 minutes of trying stuff, I decided to cast as a list. It's now working for me.

-- Adapted from a copyrighted script by Mark Hunte 2013 
-- [](

-- Changed script to parse out the first part of the email address as the folder name, eliminated time stamp folder
-- Changed to run as triggered script vs email rule
-- explanation of what and why at

-- set up the attachment folder path
tell application "Finder"
    set folderName to "Attachments"
    set homePath to (path to home folder as text) as text
    set attachmentsFolder to (homePath & folderName) as text
      -- display dialog attachmentsFolder
end tell

tell application "Microsoft Outlook"
    set theMessages to selection as list

    repeat with eachMessage in theMessages
            -- set the sub folder for the attachments to the first part of senders email before a period
        -- All future attachments from this sender will the be put here.

        set theSender to sender of eachMessage
        set theAddress to address of theSender

        -- display dialog theAddress
       set AppleScript's text item delimiters to "."
       set senderName to text item 1 in theAddress
       set subFolder to senderName

        -- display dialog senderName

        -- use the unix /bin/test command to test if the folder exists. if not then create it and any intermediate directories as required
        if (do shell script "/bin/test -e " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder) & " ; echo $?") is "1" then
            -- 1 is false
            do shell script "/bin/mkdir -p " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder)
        end if

            -- Save the attachment
            -- repeat with theAttachment in eachMessage's attachment
            set theAttachment to every attachment of eachMessage
            repeat with theFile in theAttachment
                set originalName to name of theFile
                set savePath to attachmentsFolder & ":" & subFolder & ":" & originalName
                    save the theFile in file (savePath)
                end try
            end repeat
        end try
    end repeat
end tell

Research Kit - Nicely Done Tim!

Research Kit has to be the bit that struck me the most during the recent Apple Event. It is a powerful statement, to me, that Apple still views changing the world as an important part of their mission as a company. To be clear, Apple gets value from the announcement and subsequent developments. It reinforces the differentiation of their business model from Google and Facebook as Apple won't directly benefit from the data. They made an open source platform that can truly transform some difficult research work by bringing "big data", impartiality of response (in that the phone will respond predictably when used in the same manner), ease of data collection, flexibility, scale, and weight of the industry.

To fall back on a crude analysis that can be refined by folks who can better figure the assumptions (Ben Thomson comes to mind). With pretty much any assumption, such as 5 apps with 1 developer each at $150K ($120K as (Apple Developer Salary (search for it) with 30K in other benefits including Health Care seems reasonable), plus the salary of the folks who brokered the deals with the 17 organizations on the Reasearch Kit site, and the VP or Medical Director Team setting the vision for this, and other support staff, it's a substantial investment that Apple made in the area. I can easily put this at over a million dollar resource investment. Given the attention and importance of getting this right, it's easy to further imagine it is double this amount, or more.

So Apple has Billions in the bank and this hypothesized investment is a drop in the bucket you say? It is a substantial amount, a very visible and challenging commitment made by a company that has historically taken this kind of view. It is not without risk of failure and takes some courage. As such, nicely Done Tim. I'll judge Apple through this lens more than on the importance of the Apple Watch, which I am going to get and is sure to be popular.