Welcome to the lab.

The Tower 2 giveaway

[Tweet : ADN : nvALT]

I mentioned the 2.0 release of the Tower Git client for Mac last week, and I was exited to hear from them that they’d love to give away four copies on my blog. If you use Git, you’ll want to take a shot at these ($59 value).

As I’ve said before, I do 90% of my committing, branching, tagging, merging, and rebasing on the command line as second nature. But when things get hairy, you can’t beat a graphical, clickable log of all your commits with instant diffs and file navigation. Combined with Kaleidoscope, I’m really happy with the setup.

You can enter just by dropping your name and email below. Winners will be drawn on Tuesday, August 8 at 12pm CST. I’ll be mailing codes directly to the winners (well, the Giveaway Robot will). Open to everyone, come and git it!

One entry per person, valid email required to win. Giveaway ends on 08/05/14 at 12:00 PM. I will never sell or misuse your email address.

Web Excursions for July 28, 2014

[Tweet : ADN : nvALT]

jtmarmon/ColorMime
And suddenly I’ve been doing it wrong.

ColorMime is a simple plugin for Sketch which allows you to quickly duplicate any Colourlovers palette in your sketch project.

ramonpoca/ColorTools
I usually use ColorSchemer Studio to gather my palettes, but these command line tools are really handy for grabbing Adobe Swatch Exchange (ASE) files and converting them into palettes for Apple’s color picker (CLR).
ttscoff :: COLOURlovers
Since this excursion seems to be mostly about colors, I might as well link to my COLOURlovers page, right? It’s not terribly active these days (I don’t do a lot of design work anymore), but COLOURlovers is my favorite place to go for palette inspiration.

Also…

sdegutis/hydra
A really amazing-looking system for automating and hacking OS X that’s been pointed out to me a couple of times. I wish I had more time to explore it. Soon.

An unsolicited GeekTool showcase

[Tweet : ADN : nvALT]

Why does Snoop Dogg carry an umbrella? Fo’ Drizzle.

Given that I spent too much of my Sunday fooling around with my GeekTool setup and did very little of any use, I figured I’d at least show off the results.

Left to right, top to bottom. It’s the only way I know.

  1. Time Machine progress indicator
  2. Sidecar
  3. Top Mem and RAM processes
  4. 5-minute load average (from w)

That’s just too much stuff. Boy ain’t right.

  1. A CPU chart using the Arc font (two-layers, system and user)
  2. Weather Icon from my homemade set, info fed by Weather Underground
  3. The Dark Sky current conditions
  4. My last 3 doing entries
  5. Basic date output
  6. The Dark Sky summary forecast. Because I don’t like leaving the house if I can’t put the top down.

This is where I blew over 90 minutes…

Number 1 is my real fun for the day. I’d been using my command line bar chart to amuse myself with some analytics, but decided I could do better. GeekTool lets you put transparent images on the desktop, and Google Charts Image API can make transparent images, so it seemed natural. I spent most of my time figuring out all the nasty abbreviated and unintuitive parameters for the deprecated image API, but it worked.

Number 2 is a bandwidth test, download on the left (top number is last test, bottom is average over last 15), upload on the right. It was pinging to my own controlled speedtest server, but that stopped working. Now I just set a permanent target server on the speedtest network to get more accurate tracking.

Number 3 is my old Weather Underground full forecast. That’s transitioning to Dark Sky shortly, I just already had that one worked out…

As an aside, I made this post in the Clarify beta, which can export to Markdown. It’s really cool for documentation and image annotation.

Hope you had a more productive Sunday. I shouldn’t be so hard on myself. I worked out a cool new retina image solution, finished a draft of the children’s book I’m working on, caught up on customer support, fixed some Marked bugs… I guess it’s been a pretty good weekend.

Web Excursions for July 24, 2014

[Tweet : ADN : nvALT]

Hermit: a font for programmers, by a programmer
I really dig this monospace font for coding and terminal use. It looks great with my custom version of Twilight in Sublime Text. 

: Via Wes Bos. See his post for more options, though notably missing Meslo
Using Tables With Ulysses and Marked
A good introduction to Ulysses 3 and Marked 2 integration.
Together for iPad and iPhone 1.0
I’ve been a fan of Together for a long time, and it’s finally available on your iOS devices. Sync with Mac requires the MAS version of Together.
BestPig/cv
A command line tool for showing the progress of long-running coreutil functions like mv and cp.
ROKODING: Video Encoding for the Roku
Via MacDrifter, this site contains Handbrake tips for encoding video for Plex and Roku, which I’ve just recently started using. A very handy reference.

A Sublime Text selection primer

[Tweet : ADN : nvALT]

Text selection shortcuts make editing code (and even prose) much faster. Learning the selection shortcuts in any editor you choose to work in is paramount to saving time and effort. I currently do most of my coding in Sublime Text 3, so I’ve been practicing some of my lesser-used shortcuts. Here’s a basic cheat sheet.

Forewarning: I customize so many aspects of my editor that I may have forgotten that some of these aren’t defaults. If you run into conflicts or problems, let me know and I’ll either update this post or show how I modified my config to get the shortcuts working.

Text Selection

  • ⌘D: Expand to word

    Note that you can define word separators in preferences, so underscores and dots can be included in a “word” selection.

  • ⌘L: Expand to line

    This is different from doing a ⌘←, ⌘⇧→ in Cocoa text fields. It selects what OS X refers to as the current “paragraph,” meaning the first character to the next line break, instead of just the current screen line.

  • ⌘⇧A: Expand to tag

    Handy in XML formats such as HTML and PLIST files. It selects the text inside the current tag pair, and pressing again selects the tags (open and closing) surrounding it.

  • ⌘⇧J: Expand to indentation

    If your code is properly indented, this command is really handy for grabbing everything inside, say, an if block.

  • ⌘⇧␣ (Space): Expand to scope

    Expand to scope is a great way to create selections, and it can progressively increase the selection with repeated presses. Select the text inside a quoted string, then the next time you press it, it will add the quotes themselves. Press again to select to the nearest surrounding brackets, and again to include the brackets themselves, and so on.

    Combine this with other selection commands and you can do things like select the current scope, and then select everything at the same indentation within the current block with just a couple of keystrokes.

  • ^⇧M: Select to brackets

    This is another extremely handy selection technique. It’s just like “Expand to scope,” but skips directly outward to the nearest square or curly brackets. On the first press it will select inside the nearest brackets, pressing again will select the brackets. Subsequent presses will select the next pair outward, including the brackets themselves.

  • BONUS: ⌘U will undo movements and selections, and ⌘⇧U will redo them.

    Known as “soft undo,” use this if you accidentally lose a selection and want to get it back.

Multiple selections

  • -click/drag: add cursor/selection
  • ^⇧↑/^⇧↓: add previous/next lines as multiple cursors, then use ⌘←/→ to select sections/lines.
  • ⌘⇧L: break a block selection into lines

    If you want to edit multiple lines at once, you can select the block of text and hit this shortcut to turn each line into a selection in a multi-selection. Then move the cursor and hold shift as needed to create selections within each line. When you type, you’ll affect all cursor locations and selections.

  • ^⌘G to select all instances of the word currently under the cursor
  • Search (⌘F or ⌘I), then use ^⌘G to turn results into multiple selections

    If you want to act on multiple selections based on a search, use this to turn every instance of the result into a selection. It’s faster than dealing with Search and Replace. You can also grab a package from Package Control that will allow you to quickly do the same with regular expression searches.

My keybindings

I override a few keybindings, but just want to mention a couple that I think are handy.

  • ⌘⌥↑: Expand selection to scope.

    I added this because it matches similar commands in some of my other editors.

  • ⌘⇧M: Expand selection to brackets

    I added this just for continuity with the other selection shortcuts.

Add-ons

Open Package Control and search for “select.” There are a lot of packages available for extending selection options. Some standouts for me:

  • SuperSelect makes it easy to add search matches to the current selection one at time, selectively.
  • Select Quoted
  • Expand selection to function (JavaScript) lets you assign a key combination to select a full JavaScript function(){} definition in various forms.

I’ll probably get around to making a Cheaters sheet and Dash docset for these soon, but right now it’s just a note in nvALT for me.

A big update to Shawn Blanc’s ‘Delight is in the Details’

[Tweet : ADN : nvALT]

Shawn Blanc’s multimedia book, ‘Delight is in the Details,’ has received a major update today. Shawn describes the book as:

Delight is in the Details is packed with practical advice, tips, encouragement, inspiration, and insight to teach you how how best to reach for excellence and resist the prevailing tide of “good enough” work that leads to forgettable products and a dissatisfaction in your work life.

The update includes new chapters, more videos, extra resources and much more. It’s also 25% off right now ($29). Go check it out. Nice promo video, too!

The Polymo winners

[Tweet : ADN : nvALT]

The winners of the Polymo giveaway are:

  • Harshil Shah
  • Adrian Katz
  • Loris Kronov
  • Juan González
  • Skye Matthews
  • Marco
  • Roland Belényesi
  • Chris Marquardt
  • Rick Bola
  • Nuri Karamollaoglu

Congratulations to all of you! If you don’t hear from the Giveaway Robot shortly, let me know.

For everyone who didn’t win, be sure to check out the Polymo camera app with built-in tagging on the App Store!