September 2013

09/30/2013 20:20:50

GoogleTechTalks & Meditation

If you are interested in meditation, check out GoogleTechTalks on YouTube. They have some really interesting talks on this topic.

09/26/2013 20:20:30

Are Elvish, Klingon, Dothraki and Na’vi real languages?

09/25/2013 20:20:39

Chrome Packaged Apps

Packaged Apps are basically webapps that are running almost as native apps. Google has API’s to access Bluetooth, TCP/IP and other hardware. This basically means that Chrome is now able to make site-specific browsers that are more powerful than those created with Fluid. We’ll see how this goes.

Here’s a nice overview of a couple nice Packaged Apps by Lifehacker.

09/21/2013 18:40:27

How to Burn 200 Calories

A few weeks ago I posted What 500 Calories Really Looks Like in Different Foods. Today I found this piece Weird Ways to Burn 200 Calories. 1 hour of sex, or 4 sitcoms are enough. Good to know.


09/20/2013 20:20:27

iCloud Bookmarks Sync for, Hold It, Chrome and Firefox *on Windows*

Apple has released a Chrome and Firefox Extension to sync iCloud Bookmarks from iPhone, iPad and Mac to Chrome and Firefox on Windows.

I sure hope they are working on an Extension for Mac as well.

09/13/2013 18:40:09

Mail Filer: Move Mails With Your Keyboard

Mail Filer

I was trying to write a script that works similar to MsgFiler, with the only difference that I wrote it (and much more simpler). This project took me a while to figure out since accounts and mailboxes in Mail are not that easy to handle in AppleScript.

I came up with two scripts. One that displays two dialogs. The first one asks for the account to move messages to, the second one asks for the mailbox.
The second script is the one I originally wanted. Show me only one dialog where I can type ahead to move messages.

Both sound unspectacular, and they are. I agree that the way how the all-in-one version display the list looks a bit unclean, but it works and that’s good enough for me.

Move Mail Message Single Account:

Mail Filer
Files messages in using type ahead. Display a dialog for account and one for all mailboxes of that account.

Created by Andreas Zeitler on 2013-09-13
Copyright Mac OS X Screencasts 2013. All rights reserved.

tell application "Mail"
    -- choose account
    set allAccounts to (name of every account) as list
    choose from list allAccounts with title "Choose Account…" with prompt "Please select one account" without multiple selections allowed
    set chosenAccount to result as string
   -- choose from all mailboxes from chosen account
   if chosenAcount is not "" then
       set allMailboxes to (name of every mailbox of account chosenAccount) as list
       choose from list allMailboxes with title "Choose Account…" with prompt "Please select a mailbox" without multiple selections allowed
     set chosenMailbox to result as string
       -- move selected messages to chosen mailbox of chosen account
      set s to selection
     if s is not "" then
            repeat with currentMessage in s
                move currentMessage to (first mailbox whose name is chosenMailbox) of account chosenAccount
            end repeat
     end if
    end if
end tell

Move Mail Message All Accounts:

Mail Filer
Files messages in using type ahead. Displays one dialog containing all mailboxes and accounts.

Created by Andreas Zeitler on 2013-09-13
Copyright Mac OS X Screencasts 2013. All rights reserved.

set myMailboxes to {}

tell application "Mail"
   -- assemble a list of all mailboxes of all accounts
    set allAccounts to (name of every account) as list
 repeat with thisAccount in allAccounts
     set theseMailboxes to (name of every mailbox of account thisAccount) as list
       repeat with thisMailbox in theseMailboxes
          set the end of myMailboxes to (thisMailbox as string) & "\t\t\t" & (thisAccount as string)
     end repeat
 end repeat
   -- present list
    choose from list myMailboxes with title "Choose Mailbox…" with prompt "Please select one account" without multiple selections allowed
    set chosenMailbox to result as string
   -- split mailbox and account from result
   set oldDelimits to AppleScript's text item delimiters
  set AppleScript's text item delimiters to "\t\t\t"
 set mailboxAndAccount to every text item of chosenMailbox
  set AppleScript's text item delimiters to oldDelimits
   -- these are the mailbox and account we need to move messages to
   set chosenMailbox to first item of mailboxAndAccount
   set chosenAccount to second item of mailboxAndAccount
   -- move selected messages to chosen mailbox of chosen account
  set s to selection
 if s is not "" then
        repeat with currentMessage in s
            move currentMessage to (first mailbox whose name is chosenMailbox) of account chosenAccount
        end repeat
 end if
end tell

09/12/2013 20:00:36

Good Posture

I mentioned that I want to delight my readership with some of the results of my studies on health. This is my first video contributing to this topic. It is about good and bad posture. A problem a lot of people working with computers are facing.

My main point from this video is: just telling yourself to “sit straight” doesn’t necessarily result in a good posture! If you have muscular imbalances strong muscle groups will contract more than weak ones. This essentially results in an over-exaggerated natural posture, which may or may not be a “good” posture.

The trick is to watch yourself from the outside and spot these imbalances. I would recommend to get a professional, a doctor, a physiotherapist, a masseur. These people will almost instantly see where you need to invest your energy in.

I’m not a believer that just buying an ergonomic keyboard or an ergonomic stool helps to reduce pain. It is the core of the problem that also needs some form of investment. If that investment comes in the form of massaging, sport, meditation, etc. is up to you.

Link mentioned in the video: Neutral spine

09/06/2013 17:04:07

Develop a Life Plan to Find Your Life's Priorities

As you may know, I have been reshaping my life recently, which is why I post so much stuff about priorities, health, and how to cultivate habits. The stuff that I am currently working on is, at least I try to keep it, high-level stuff. I didn’t touch Final Cut in months, because that’s not what I’m supposed to do right now. It is easy not to leave the comfort zone of the things that you know a lot about, it is not so easy to deliberately leave that zone and work on stuff that is hard(er) to do. Facing all the things that I know nothing about. Some argue that you should find someone to do things that you can’t do, for you. That’s not how I decided to roll.

So, what am I doing? I work on making zCasting its own company. Until now it has always been me plus a couple of freelancers. That’s not what I have in mind for the future. zCasting needs to be its own entity, a real company. What that entails is that I need to create a vision for the company. What does the company stand for? What values does the company have? What are the goals? Why would people want to work there? What difference do we make?
The problem is that to become clear of all these things, I first need to become clear of the same questions for myself. What is important to me? What do I value? What do I want to do with my life?

I basically look at my old life plans that I created back when I first started reading and applying time management. Nothing unusual, I do this every year. What has changed is that what I had imagined I need to do to do in order accomplish my life’s goals, almost 6 years ago, are so inherently different that I need to develop completely new ones. People told me that a person changes every 5-10 years or so. (childhood, teenage years, adulthood, etc.) Maybe I’ve reached that point.

Developing a New Life Plan

Now, after this long and uninteresting introduction. How does one go about creating a new life plan?
Well, I always liked the idea of creating your own funeral oration. I got that idea from one of the leading German time management gurus.1 The way it works is simple:

The funeral oration stems from the idea that a person fills various “roles” in their life. I am a business owner, a nerd, a cyclist, etc. With these roles in mind, think of a person that represents this role and speaks about you. Obviously at your own oration, you would want to hear mostly positive things like:

Now go through your roles and what each person has to say about this role. The good thing is that all of this is imaginary. You can go wild and far.
Mick Jagger says “I remember that one concert when I met him vividly. We had a lot of fun.” If meeting Mick Jagger is something that you desire, then it might as well be mentioned by him at your imaginary funeral, right?

Roles and GTD don’t go well, however. In GTD we have this concept of “contexts,” which is what roles are … almost. “Contexts” are a broader term for tools, places, and so forth. Finding your roles could be a posting on its own so I won’t go into detail with this and recommend you do your own research.

Write down their speeches for about 10 minutes. If you need more time, then continue. It doesn’t matter whether you write the speech in sentence form or in list format.

Now go through the speeches and look for commonalities and things that jump at you. Things where you’re like “Oh, really, I didn’t know that I would want someone to say this about me.”

Extract all these things. Maybe write them on a separate document or create a mind map2. Once you’ve got all of this in front of you, you can derive your life’s goals from them. If you want to meet Mick Jagger, then it is one of your life’s goals. If it is so important to you, it is one of your Priorities. Do you see how this comes full circle?

Finding your life goals doesn’t yield your values, though. But at least you are a good chunk closer to extrapolating your core values from your goals. Typically values are things, for me at least, where I risk to receive opposing wind when I express an opinion publicly. Values are things that I can’t just look blindly at. Finding and developing these are a topic for another post.

For the time being, I hope you will have easier time to find your goals now, so that you can lift off the runway, reach 10,000 feet, only to get back to runway level.

  1. Back in 2005 my English was not really good. I couldn’t read a full English book. 

  2. You know me… 

09/05/2013 19:00:15

Let's Automate the Web with Keyboard Maestro!

I saw the new Moves update last week and decided to give it another go. With the new API there are already a couple of apps that integrate with it. The one that looked intriguing to me was Moves Export. Moves Export pulls Moves data, and posts activities such as cycling, running, and walking to RunKeeper automatically. Since I get to work by bike, I normally don’t have RunKeeper on, but if there’s a thing that can post this activity without my interaction? That sounds kind of cool! When I checked out RunKeeper I saw that it integrates with MyFitnessPal, which I mentioned here. So I decided to give MyFitnessPal also another shot. That’s how my rabbit holes usually go…

Three days after checking out Moves Export I had the itch to put all my weight progress on MyFitnessPal. As every good nerd, I keep a CSV in Dropbox which I append to using Drafts.

Entering months1 of data into MyFitnessPal is inconvenient. At least that’s what you might think right now.

Let’s automate all the things with Keyboard Maestro!

The macro that I quickly cobbled together basically asks for the form values, and uses variables to set Safari fields. Safari Control is a new feature in Keyboard Maestro 6 and doubly worth checking out!

The remaining actions are basically just using the Set Safari Field to Variable action to set the variable values. I found that the little Try2 button comes in handy figuring out how Safari forms work with Keyboard Maestro. Also the Inspect Element function from Safari.

  1. Requires a MyFitnessPal profile to view. 

  2. Make sure to disable Submit Safari Form when creating your own form macro.