Jay McGavren's Journal


Leveraging Ruby Libraries webcast

Video of “Leveraging Ruby Libraries”, my webcast for O’Reilly, has been posted. It’s a whirlwind tour of some of the cool things you can do with Ruby’s core classes, standard library, and third-party gems.

  • Intro
    • What is Ruby?
    • Installing Ruby
    • Syntax basics
  • Examples of Core Classes
    • Array
    • Hash
    • File
  • Examples from Standard Library
    • CSV
    • ERB
    • YAML
  • Examples of Ruby Gems
    • lolcat
    • Rails
    • Sinatra

Just sign up here (make sure to un-check the two boxes so they don’t spam you) and you’ll be e-mailed a link to the presentation immediately.


A Head First author's guide to InDesign

The InDesign tutorial that I received when starting on my Head First book was helpful, but there were some super-useful InDesign features it didn’t include. I shared this list of my favorites with my fellow authors, and figured I would copy it here…

  • Libraries: I set up an .indl file with about 6 objects, each with many embedded and anchored components. Whenever I needed a page element, I dragged and dropped it into place, and deleted the subcomponents I didn’t need. Libraries were probably the single biggest time-saver I discovered. Adobe help: Use Object Libraries
  • Anchors: Great for any object that you need to keep its position relative to another object, such as an annotation arrow that you need to point to a particular line of code, or a text box showing output that you need to stay next to a code sample. Adobe help: Anchored Objects I usually use “Custom” positioning, with X relative to the anchor marker, and Y relative to the line the marker’s on.
  • Auto-sizing: Almost all your text frames should have auto-sizing turned on, either horizontally, vertically, or both. I set up a library with appropriate text frames I could drag-and-drop, but I believe you can also set up properties for the default text frame. Adobe help: Frame Auto-sizing
  • Quick Apply: Select an object, press Ctrl-Enter, and begin typing the name of any menu item, text style name, or whatever else you can think of. It’s like Alfred for InDesign! Better than trying to remember all those complex keyboard shorcuts, and it even lets you use stuff for which no shortcut has been assigned. Adobe help: Quick Apply
  • Group objects: Another, simpler way to ensure objects keep their positions relative to each other. Adobe help: Grouping Objects

And remember, search engines are your friend! If there’s something you want to do but you don’t know the name of the feature, just type “indesign” into a search engine, followed by a brief description of what you’re looking for. You’re almost certain to stumble upon a forum post with the answer.


I'm writing Head First Ruby!

One reason this blog hasn't seen an update in forever is that I've been writing a book! O'Reilly will be releasing Head First Ruby in mid-November.

Head First Ruby Cover

You can get access to the Early Release right now on O'Reilly's shop.

Or, you can pre-order from Amazon.

Enjoy, and please send feedback!


The danger of habits...

In the late 20th century, I received a thorough mocking for only putting one space after my periods. “Everyone puts two spaces after a sentence, don’t you know that?” I switched, and have been using two spaces for over a decade.

I have a very heavily-ingrained habit to undo:

Why You Should Never, Ever Use Two Spaces After a Period

I’m working on a book right now, and the publisher is going to expect single spaces after each and every sentence. Even if I take corrective action now, some are still going to slip in, and it’s going to be very time-consuming and error-prone to track them down.

Do your kids a favor, and ensure they’re being taught the single-space style.


Malware and your brain...

Consumer-level brain-computer interfaces (they exist!) are rather limited at this point, and therefore so is this hack. Still, this is troubling.

Object recognition brainwaves can reveal sensitive info about you

I, for one, am really eager to control my computer with my mind. But I had never thought about the possibility of malware that could read my thoughts…