About Productivity, Social Networks and everything else I'm interested in

Month: September, 2012

Twitter network analysis and visualisation II: NodeXL – Getting started with the @WiredUK friends network JISC CETIS MASHe

Twitter network analysis and visualisation II: NodeXL – Getting started with the @WiredUK friends network JISC CETIS MASHe.

Part two of the series. This Twitter visualization with NodeXL.

Twitter network analysis and visualisation I: SocialBro JISC CETIS MASHe

Twitter network analysis and visualisation I: SocialBro JISC CETIS MASHe.

Using SocialBro to visualize Twitter data.

External linking for nvALT notes 2: nvWikiLinker


Continuing yesterday’s foray into linking nvALT notes to any application, here’s the universal script that makes any text linkable to nvALT without extra urls.

It’s best run as a Service, and one is included in the download. If you add a hotkey to it in System Preferences, you’ll be able to select text you’ve written in any app, hit your hotkey and open a related note. If it’s the first time you’ve used it on that text, it will create the initial note for you.

It works using wiki-style linking, both with [[square bracket style]] and WikiLink style, where the beginning of each word is capitalized and there are no spaces. If a square bracket link exists in the text, it takes priority over any WikiWords found, and only one note can be linked with the selected text (the first title it finds is what it will link to).

When you run the Service/script, it looks for the wiki words in the text passed to it (as a script you want to pass the input to STDIN; the Service does this automatically with any selection). If one is found, it checks your notes folder for the closest matching note with a fairly low threshold. If nothing (almost) perfect is found (there’s a little leeway), it will create a new note based on the wiki word and add the entire selected text to it.

Once you’ve created the note for the text, you can run the service on any selection that contains that wiki word and the original note will be opened.


Say, in a mind map you had a topic node that was just [[Project X research]]. Selecting that text and running the Service would create a new note called “Project X research” and open it in nvALT. You’d add your notes for that node to nvALT and then go back to your mind map. Next time you select that text and run it, your notes pop back up.

You can also use a larger block of text:

These are the notes for Project X. My ProjectXResearch has shown that there is no basis for the claim that “[any particular nationality, socio-economic or social behavior group] do it better.”

If you select that text for the first time and run the Service, the “Project X Research” note will be created with the text in it. Next time you run it, it will open the original note and you can add/edit the contents. From that point on, you just have to select the word ProjectXResearch, and you can use that link again in any other application.


For both the script and the Service, there is only one line to edit. It’s right after the intro credits, and simply points to your notes folder where you keep plain text versions of your nvALT notes (not database storage). If you’re running the System Service, add a hotkey for it and save yourself some time.

It’s possible to use the script with other apps which can pass plain text to it. Alfred and LaunchBar should both be able to do it, but it might take some adjustment. Personally, I’m quite happy with running Services, so I haven’t fully explored the possibilities.

Also note that this system could easily be modified to work with any plain text notes system. If you’d rather open your files in a text editor or other notes application which reads files on disk, just adjust the osascript commands in the script. A little regex work can adjust the way it detects wiki links as well.


The code is up on Github, including the Service. Download the bunch and install the “.workflow” file in [HOME]/Library/Services. It will show up immediately in the Services menu accessible when you have text selected and right click on it (or pull down the application menu in the menu bar).


This is a work in progress, you may find that it chokes on some characters or doesn’t detect a note that should already exist. Please report these as an issue on the repo so I can try to figure out how to improve it. I think this could be a handy tool, and I’d like to polish it up. Also, because I don’t think I have enough to occupy my time1.

  1. If you’ve ever been curious as to whether or not I have psychological issues, I present Exhibit A, a.k.a. “what happened to 40 minutes of my time yesterday.” The script wasn’t even finished yet. I had to run a regex cleanup just to be able to edit it. I scare myself.

    I would, however, like to point out that I resisted creating a “humorous” header for this post. I didn’t even open Acorn up. Self control. 

Originally posted on BrettTerpstra.com at External linking for nvALT notes 2: nvWikiLinker

Related posts:

  1. External linking for nvALT notes: Part 1
  2. nvALT 1.0.8 progress
  3. Unwrap Paragraphs for the Markdown Service Tools

via Brett Terpstra http://brettterpstra.com/external-linking-for-nvalt-notes-2-nvwikilinker/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+BrettTerpstra+%28Brett+Terpstra%29

First images of particle jets at edge of a supermassive black hole


One of the relativistic jets of the galaxy M87.

Supermassive black holes appear to occupy the center of almost all galaxies. When they are actively swallowing matter, these black holes can power energetic jets that shine brighter than the entire rest of the galaxy, and can shoot matter free of it.  Despite the mass and energy involved, however, the origin of these jets has been extremely hard to image, both because they’re relatively compact, and because they’re situated in the crowded centers of distant galaxies.

Now, however, researchers are putting together an array of telescopes stretched across the globe with the specific goal of imaging the environment near these supermassive black holes. The team behind the Event Horizon Telescope has now used it to image the black hole at the center of the M87 galaxy, and returned the first details of the disk of matter that is being sucked into that galaxy’s central black hole.

It’s difficult to imagine the environment near a supermassive black hole. These objects are typically over a million times the mass of our Sun, but all of that matter is crammed into a space that may only be a fraction of the Sun’s radius. Any matter falling into one piles up into an orbiting disk of material (called an accretion disk) that increases in density and energy as you get closer to black hole. Any matter that crosses a point, however, rapidly spirals inward to the black hole itself.  The inner area of the disk is so energetic that it actually sends matter away from the black hole in a wind of particles.

Read 8 remaining paragraphs | Comments

via Ars Technica http://arstechnica.com/science/2012/09/first-images-of-particle-jets-at-edge-of-a-supermassive-black-hole/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+arstechnica%2Findex+%28Ars+Technica+-+All+content%29

Understanding Fear of Process Improvement


A culture of continuous improvement is crucial to organizational performance and survival. Just ask Richard Aubut, CEO of South Shore Hospital, the leading regional provider of healthcare in southeastern Massachusetts. “We don’t know what changes will be coming with healthcare reform and other changes in our industry,” he told me recently. “But we do know we need to build the capability to deal with whatever does. That’s why we’ve added continuous improvement to our cultural pillars.”

Yet most reports, such as John Kotter’s classic Harvard Business Review article “Leading Change: Why Transformation Effort Fail,” show that few attempts at fundamental change are very successful, a few are utter failures, and most fall somewhere in between, with a distinct tilt to failure. Discussions about process improvement failures sprang up recently on two different LinkedIn groups I participate in, and most members cited a lack of leadership from the top as the primary reason. A few said it was because people didn’t follow the methodology (e.g., Six Sigma or Lean) the right way.

Ironically, few of these discussions pursued this issue much further to get at the root cause. Why aren’t leaders on board? Why doesn’t culture change? How do you change culture?

But one of the people in the conversation stood out to me, with a more thoughtful approach: John Ryan, a continuous improvement coordinator at Zeus, Inc., a South Carolina-based manufacturer of polymer tubing. When I contacted him directly, he told me there is a simple yet highly effective tool for getting at the root cause of process performance problems: asking the question “Why.”

Why do cultures resist change?

Because they are successful.

Why are they successful?

Because we hold onto practices that make us successful until they become habitual.

Why don’t we try new practices?

Because it takes energy to learn a new habit.

Why do we need habits?

Because to compete successfully, we must able to instantly respond to the environment; we cannot take the time to think every time before acting. The faster we can react, the more likely we are to survive when confronted with danger.

When do we create new habits?

When we confront a situation where existing habits don’t work, we conclude a new habit is needed, and we have enough time to create one.

Why does it take a long time to change habits?

Because if we change immediately every time we encounter a new environment, we will constantly spend energy on changing — energy that we need to survive. And whenever we encounter a new environment, our first reaction is fear. It has to be fear because before we take any action, we must ensure that we can survive. We use this fear to keep us safe.

If fear of change is the root cause of failures to create a culture of continuous improvement, as W. Edwards Deming (the father of the quality movement) famously said, “Drive out fear. No one can put in his best performance unless he feels secure” — what are the counter-measures? What are the most effective ways to embrace fear of change? I see three:

1. Show respect to the people whose work will change by getting them involved in defining the improvements.

People resist change that is imposed on them. But if they help define the changes, they will own them. As Peter Hunter, a former naval officer and management consultant, has said, “People hate being told what to do. It is human nature to avoid doing what we have been told. … Instead find out what people want and give it to them, or give them the reason why they can’t have it. Both answers are equally valuable because they both let the individuals know that their opinion has been listened to and is valued.”

2. Welcome failure in experiments of new ways of working as a way to learn; remove the downside risks and provide upside.
Experiments allow us to learn and improve. As described in my previous post, “Get Your Worker to Disrupt Their Jobs,” you should commit to your employees that they will stay employed if they suggest process change. You should also give them some of the upside from making those changes — profit sharing and promotions. And by training them, you can demonstrate your commitment to their development.

3. Hire self-starters who are committed to your mission.
Your employees will embrace change that furthers the mission of the organization if they view the value of that change to the customer as greater than the pain of change. For example, the 58,000 employees of the Mayo Clinic, a worldwide leader in medical services, are more likely to embrace changes to their work if it’s clear that it makes the patient’s experience better. It starts with recruitment. On the jobs section of the Mayo Clinic website, the first thing you see is “Working at Mayo Clinic is making a difference. It’s providing the highest quality patient care by placing the needs of patients first.”

Organizations with cultures that value continuous improvement are far better at changing their processes and staying competitive. Yet most organizations that make a run at continuous improvement fail to make it stick because of fear. As Zeus Inc.’s John Ryan points out, “You should embrace fear for the tremendous benefit it provides.”

Questions: What do you see as the root cause of failures to institute continuous improvement? How have you seen workers overcome their fear of work changes?

via HBR.org http://blogs.hbr.org/cs/2012/09/understanding_fear_of_process_improvement.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+harvardbusiness+%28HBR.org%29

The Podcaster Macro


Now that I am some sort of “podcaster” I’m realizing how annoying it is to record through Skype on a Mac. Skype is offended by every other application. It’s like a jealous wife insisting on being the the only application in my life. To accommodate Skype’s temper tantrum’s I’ve created several macros to prepare for a recording session. I’ve already written about my Keyboard Maestro macro to toggle the audio input and output devices.

Before I record, I disable the following applications and services1:

Some of these are easy, because they are standard applications. But Hazel and Backblaze are system preferences so they need some strategic AppleScripting.

Hazel was particularly difficult because it has nested object groups and buttons. Here’s a couple of tricks to use for getting at objects. First, read Dr. Drang’s post on the Accessibility Inspector. Next, I reuse some scripts to inspect objects in a window. For example, to figure out the pane id for a preference panel, I use this script:

tell application "System Events"
    tell application "System Preferences"
        get the id of every pane
    end tell
end tell

Which provides a result set containing every id:

That’s simple enough. I wanted to write a script to disable Hazel since it handles a lot of automated scripts that might consume bandwidth, CPU and irritate Skype. I thought it would be easy enough to switch to the “Info” panel of the Hazel window. To inspect all of the anchors I run this script:

tell application "System Events"
    tell application "System Preferences"
        get every anchor of pane id "com.noodlesoft.Hazel"
    end tell
end tell

Unfortunately, the only anchor missing is the one I want.

It took some investigation but I discovered that the “Info” button is in a radio button group. The next problem I had was clicking the “Stop Hazel” button. This too was awkwardly nested.2 It’s a button inside a group, inside a group in the main window.

Once I figured this out, I had a complete AppleScript for turning Hazel off:

tell application "System Preferences"
    set current pane to pane id "com.noodlesoft.Hazel"
end tell
tell application "System Events"
    tell process "System Preferences"
        set frontmost to true
        click radio button "Info" of radio group of window "Hazel"
        delay 1
        click button "Stop Hazel" of group 0 of group 0 of window "Hazel"
    end tell
end tell

The above discussion should serve as a basis for understanding my complete macro for disabling applications and services.

Here’s a script to turn off Backblaze:

tell application "System Preferences"
end tell
tell application "System Events"
    tell process "System Preferences"
        click menu item "Backblaze Backup" of the menu "View" of menu bar 1
        delay 2
        click button "Pause Backup" of the first group of the window "Backblaze Backup"
    end tell
end tell

I’ve also included a macro action to disable the Mountain Lion notifications with a little Keyboard Maestro magic. There is a new action that can use an image to identify a location on screen to click. Using a simple mouse location fails to register the “option” key during the click. Even this action is very finicky.

The entire macro does the following:

  1. Quit all open applications
  2. Quit Dropbox
  3. Quit TextExpander
  4. Activate Piezo
  5. Activate nvALT
  6. Switch my audio sources to my Rode Podcaster
  7. Disable my Keyboard Maestro scheduled macros
  8. Disable Hazel
  9. Pause Backblaze
  10. Pause Growl
  11. Disable Mountain Lion notifications

This is easy enough to reverse, so I am only showing one macro of a pair. When I get ready to record, I trigger one macro. When I’m done, I trigger the other.

Here’s the macro to setup for a podcast3

Here’s the macro for when I’m done:

  1. These services either create unnecessary network traffic or produce unnecessary noise. 

  2. This is in no way a problem with Hazel. GUI scripting is hacky and most app developers don’t consider ham-handed stuff like this and if they did, it should be pretty low on the list of priorities. 

  3. I’m pretty sure this macro could be considered a hate crime. 

via Macdrifter http://www.macdrifter.com/2012/09/the-podcaster-macro.html

Article: Non-BS Social Media Metrics

Non-BS Social Media Metrics


@Infosourcer: RT @peterbijkerk: The Social Network Analysis Daily is out! http://t.co/BL6aLBc0 ▸ good social media recap

via http://twitter.com/Infosourcer

@WannabeBonobo: RT @peterbijkerk: Social Networks is out! http://t.co/VI6mGFnJ ▸ Top stories today via @WannabeBonobo

via http://twitter.com/WannabeBonobo

Get ready for AnyPrint


We have decided to rename the AirPrint Activator application to avoid using the Apple trademark ‘AirPrint™’.  With the 3.1.1 release, we will simply renamed the application AnyPrint™.

What will happen to “AirPrint Activator”? Do I need a new license?

Don’t worry, AnyPrint™ is the same application with a new name and a new icon. Your current license of “AirPrint Activator” will work just as well in AnyPrint™.

How do I update? Do I need to uninstall the previous “AirPrint Activator”?

You will simply download AnyPrintInstaller and click “Update”. It will take care of cleaning up all the previous files. You won’t even need to enter your license again.

When will it be available?

Within the next few days. We are completing the application testing and getting the site ready.

via Netputing http://netputing.com/2012/09/23/get-ready-for-anyprint/