Welcome to the lab.

Systematic #49 with TJ Luoma

[Tweet : ADN : nvALT]

"Systematic logo"

I had the pleasure of chatting with TJ Luoma this week on Systematic. We’ve known each other for quite some time now, but this is the first time we’ve ever spoken. It was a lot of fun.

TJ and I discuss his Mac mini media center, automation with Hazel and Keyboard Maestro, and why so many clergy members are nerds. I play the part of the “streaming guy” while TJ dons the cape of the Super Nerd.

Thanks to TJ for his time and for sharing all of his nerdy excitement! Check out the episode at 5by5!

Sidecar 2.1 adds positioning

[Tweet : ADN : nvALT]

This is a quick update to Sidecar (2.1) that re-enables dragging so you can get it moved over to a second monitor. Unfortunately I can’t set a default point on a secondary monitor, so you’ll most likely have to reposition it on every launch. It’s a start, though. I’ll work to come up with a solution for that.

You might be able to go into the HTML file inside the package and change the starting pixel position to reflect the actual location on the screen where you want it to appear, making the second parameter the positive or negative width (depending on the location of your second monitor) of your primary screen.

Source code is still up on Github.

Sidecar v2.1

A jacket for Simplify 2.7+ and 27-inch (2560x1440) monitors. More sizes coming soon.

Updated Mon Jun 17 2013.

More info…

Systematic 48 with Aditi Terpstra

[Tweet : ADN : nvALT]

"Systematic logo"

I had the great pleasure of talking with my wife, Aditi Terpstra, on this week’s Systematic. We talked about animal behavior, dogs and other stuff that she knows like nobody else.

It’s a great honor to be married to this woman. Check the show notes to learn more about her and the great work she does.

This episode was recorded over hotel wifi using a mic that turned out to be a disappointment. I apologize for a few audio glitches, but Igor Stolarsky did a bang up job saving the quality as much as possible. Thanks to Igor for the extra effort and to Aditi for making the time!

Web Excursions for June 10th, 2013

[Tweet : ADN : nvALT]

Colout
Via Alex Krivov, a utility to color output streams on the command line based on regular expressions. Lots of options and color mapping available, and it can assign different colors to numeric values.
Achieving Inner Shadow
My friend Caylan is just picking up Cocoa and Objective-C right now, but he’s already tearing it up. He had a good head start as a programmer by trade, but it’s amazing what he’s done in a few nights of hacking. He’s beginning to share his exploits at semireg.com and this first post is a great one on achieving a dynamic inner shadow on text, complete with sample code and a working demo app.
Contextinator
I’m loving this Chrome extension. Take windows full of tabs and turn them into projects, complete with tasks and permanent bookmarks. Then open and close entire projects at will. Works really well with the way I browse.
Slicereader
I just read two long articles from my backlog with full comprehension using this simple app from Mutahhir Ali Hayat. It’s been a while since I’ve been able to do that.

Mutahhir is working on some very cool features for Slicereader right now, and I have high hopes that this becomes a commercial application.

Introducing PlexConnect

”…an AppleTV client which Thinks Different”

The goodness of Plex without jailbreaking your Apple TV. Via Dan Peterson.

nvALT 2.2b 106

[Tweet : ADN : nvALT]

The next (and hopefully last before official release) nvALT 2.2 beta is up. The first version you’ll get in your updater or direct download will be 2.2b106. Depending on your OS version, you’ll then be pointed to an appropriate version for 10.6 or 10.7+. We’re splitting off the 10.6 users so we can develop for Lion/Mountain Lion while still maintaining a working Snow Leopard version.

Once you’ve updated to version 2.2b 106, check for updates again to get your OS-specific version.

The release notes for this update are fun reading. Enjoy.

Love, Brett Terpstra and David Halter

PLEASE READ IF YOU STORE YOUR NOTES IN DROPBOX AND USE NVALT ON MULTIPLE MACS:

Dropbox made a change in the last 6 months that can cause nvALT to trash your notes. Again, this only affects users who run nvALT simultaneously on multiple macs, synced thru Dropbox. If this means you, you can prevent this by quitting nvALT whenever you leave your mac. You should only have nvALT running on 1 mac at a time. We fully intend to fix this, but until then you should store your notes as separate files, back them up, and try not to run nvALT on more than 1 mac at the same time.

2.2b 108 RELEASE NOTES

New

  • Numbered list auto-continuation
  • nvALT is now based on NVb5 (link)
  • Doesn’t require “.txt” extension when exporting

Fixed

  • “Open In Marked” command available in localized versions
  • nvALT was launching and staying in the background, fixed
  • Cmd-Return now works with list completion
  • Multiple note tagging works better
  • Interim note-changes is now in ~/Library/Caches/ where it belongs. This fix improve some Dropbox sync issues
  • Lots of scrollbar fixes both for nvALT scrollers and the default (OS X) ones
  • Long formatted dates no longer truncated in horizontal layout
  • Fixed a lot of bugs with how the UI is drawn. The interface should be a little snappier, and less buggy
  • Fixes to the limit text to a maximum width feature
  • Fixed highlighted notes being unreadable depending on various color combinations
  • Fixed tooltips from links hanging around when nvALT is in the background
  • Lots of fixes for snow leopard all around. Sorry 10.6 support had fallen into disarray. Seems pretty good now, but neither developer uses 10.6 on a regular basis so keep the bug reports coming
  • Some fullscreen fixes
  • Find and Replace working better
  • Insert Link command is smarter
  • The holding-down-option-or-ctrl for word count or markdown preview tricks work better
  • The URL scheme should work better. For the record: nvALT’s URL scheme is “nvalt://”  not to be confused with “nv://”  everything else is more or less the same, but its important to have different schemes for different apps
  • Improved TaskPaper handling
  • Smarter auto-pairing of quotes, parens and brackets

nvALT 2.2 BETA v2.2b106

A fork of Notational Velocity with MultiMarkdown preview and advanced Markdown editing capabilities. Other good stuff.

Updated Sat Jun 08 2013.

More info…

nvremind + Day One and more

[Tweet : ADN : nvALT]

In case you missed it this weekend, I wrote a little script called “nvremind” (pronounced “nevermind”). It scans folders of text files for occurrences of @remind(YYYY-mm-dd) tags and triggers reminders for you in Reminders.app, by email, in Notification Center, or any combination of those.

I published a big nvremind update (official 1.0) today. It turned into a semi-serious project somewhere along the way. This, however, will likely be the last major feature update to it, as I’ve taken the idea and started working on a more general version of the concept as a commercial app. I think there’s a lot of potential for it. In the meantime, this update makes the script robust enough to fulfill the original mission quite well.

Day One

The biggest deal (to me) is Day One support. You can stick reminders into any entry now, and they’ll be picked up (even on older entries if the remind date is new). You just need to use the path to your entries folder as the last argument. Be sure to quote it if it has spaces. If you store your Journal in iCloud and want a shortcut to finding it, run this command in Terminal (copy/paste the whole line) to search for it and copy it to your clipboard:

curl -sS https://raw.github.com/gist/5733480 | ruby

In order to work around Day One’s automatic parsing of @handles, nvremind can now use any prefix. There just needs to be a non-whitespace character before the “remind()” string, so “$remind()”, “!remind()”, “*remind()” will all work.

In Day One, if a reminder is on its own line and has no override title, the first 30 characters of the first line of the entry will be used as the reminder title. This is necessary because Day One entries don’t have titles and the filenames are just UUID strings. Leading “#” and “>” marks are stripped from the output in case your first line is a Markdown headline. The only changes nvremind will make to your Day One entries (or any file) is changing “remind” to “reminded” within tags so they don’t trigger again. Note that you can disable all changes to your file with the -z argument.

Slogger

Day One support also means Slogger support. If you use Slogger, you can include a reminder in any social network post and have it remind you after Slogger runs. You can even call nvremind as part of your scheduled Slogger task to have reminders posted immediately after the run. As an example, you could include $remind(2013-06-08 "Check out nvremind") anywhere in a Pinboard bookmark description and get a reminder called “Check out nvremind” posted later on. (See the notes below for how the “title” override syntax works).

Multiple paths

You can also use multiple paths separated by commas (no spaces) and search in several folders at once. For example, here’s how my command in LaunchControl looks when running on both nvALT and Day One and creating Reminder.app reminders:

/usr/bin/ruby /usr/local/bin/nvremind.rb -m "~/Dropbox/nvALT2.2,~/Library/Mobile Documents/2U8NG8S4G2~com~dayoneapp~dayone/Documents/Journal_dayone/entries"

More stuff

Here’s the whole changelog:

  • Works with any prefix, not just “@”. This is to allow use in apps like Day One that have different uses for @tags. Any character will work (!remind, $remind), there just has to be something immediately before “remind”
  • Works with Day One, just pass it the path to the entries folder within your Journal
  • If the tag is inside of quotes or brackets, those will be stripped from the reminder title
  • If you include a double-quoted string at the end of the remind tag value, it will override the default reminder title. @remind(2013-06-06 09:00 "This is the override") would create a reminder called This is the override, ignoring any other text on the line or the name of the file.

    Additional text on the line or the entire note (in the case of a @remind tag on its own line) will still be included in the note, if the notification method supports that.

  • You can specify a list for Reminders.app using --reminder-list "List name". If you leave this blank, it will default to “Reminders” or fall back to the first list available.
  • Won’t schedule the reminder if the same line contains @done or @canceled (also recognizes @cancelled)
  • Removes leading -, * or + so you can use it within Markdown lists and still get nicely-formatted reminder messages
  • Don’t include line number in file link (that just breaks it for 90% of the population)
  • Use a remind date 1 minute in the future to allow iOS notifications when using Reminders.app

That should cover it. Grab the update below, and see the project page for more info. Feel free to leave issues/requests on GitHub, but I can’t promise I’ll be quick in responding. Never hurts to try.

nvremind v1.0.3

A background utility to scan text files for reminder tags with timestamps and generate a variety of notifications for them.

Updated Sat Jun 08 2013.

More info…

SkypeCall extension for PopClip

[Tweet : ADN : nvALT]

I recently added a PopClip extension for dialing Skype to my collection. It scans selected text for a 7 or 10-digit phone number, offering a Skype button in the PopClip popup if it finds one. When activated, it dials the first match in the selected text.

It seems to be working quite well, so I’ve added it to the main collection, download below. The source is available on GitHub, but the script at the heart of it is simple, so I’ll post it here for reference:

The regex comes from a StackOverflow post. Once it finds a number, it just uses the Skype API to make the phone call. Easy, but handy.

Brett’s PopClip Extensions v1.1

A few PopClip extensions for Markdown writing and other useful tools

Updated Fri Jun 07 2013.

More info…

Sidecar 2.0

[Tweet : ADN : nvALT]

Simplify 2.7 is out and Sidecar has updated to make use of the new API. The biggest improvement you’ll notice is that background clicks are now captured perfectly, so clicking anywhere on Sidecar will start and stop your music properly on the first click. Double-clicking advances the track, and Command-clicking seeks to a position in the song based on where you click in the vertical progress meter.

Sidecar is now fixed to the left side of your screen automatically. It has a little trouble if you attach and detach different size monitors. Given its form factor, I don’t think many people are sliding around much, but I may add a right-aligned variation. I will also still be adding the ability to scale to multiple screen sizes. Soon!

If you need the older version of Sidecar for backwards compatibility, you can find it on the project page.

Sidecar v2.1

A jacket for Simplify 2.7+ and 27-inch (2560x1440) monitors. More sizes coming soon.

Updated Mon Jun 17 2013.

More info…

Get Marked for 0% off!

[Tweet : ADN : nvALT]

Have you been waiting to pay the full-yet-surprisingly-cheap price of $3.99 US for Marked? Now’s your chance: from now until it’s not, Marked is 0% off1!

If you bought Marked while it was 50% off, thank you! If you missed the sale, you can still get the full satisfaction of supporting an independent developer by checking out Marked on the App Store.

  1. Available only to residents of Earth. Additional exclusions may apply, see store for details.