It’s called life hacking.

Setting Custom Shortcuts in Mac OS X

If you find yourself reaching for the mouse to do the same task over and over, it’s probably worth spending a few minutes to see if you can figure out a better way to get the same task done using the keyboard.

I recently started using TextEdit for all of my basic writing tasks. TextEdit is a great little app that comes bundled with OS X. But, one of the things that driving me nuts was having to take my hands off the keyboard, grab the mouse, and hit that tiny little menu in the top bar to insert a bulleted list. I use lists a lot, so this was becoming kind of a pain.

Luckily, OS X has a great way to add shortcuts to menu items that don’t otherwise have them. Go into System Preferences, select Keyboard, and then select Shortcuts. From here, you can set hot keys for a bunch of system functions, but if you click on App Shortcuts, you can define custom shortcuts for apps you use often.

I set ^. (that’s control-period) to insert a bulleted list in TextEdit and ^-1 to insert a ordered list. You can set the shortcuts to anything that pleases you. The trick here is that in the left column, you have to set to the name of the shortcut to the exact text of the menu. In the case of the ordered list, the shortcut didn’t work until I added two spaces between each number and used and ellipsis (option-;) at the end.

Now, I’ve got an easy way to add lists in my TextEdit documents. If you take a look at the screen shot above though, you can see I have a few others defined as well.

First, I’ve got a way to add a bulleted list in Mail. (I told you I use lists a lot.) Notice that I had to use the name of the menu item in Mail, which is different than the menu item in TextEdit.

I also have a shortcut for tagging documents in Finder. Again, this required the ellipsis at the end in order to work.

I ran a session at the Turing School for Software and Design a few weeks ago on Ruby Processing (a port of the fantastic Processing programming language to Ruby). These are the notes for that session. If anything is unclear, don’t hesitate to open an issue on Github.

Rob Pike’s 5 Rules of Programming

  • Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is.
  • Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest.
  • Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don’t get fancy. (Even if n does get big, use Rule 2 first.)
  • Rule 4. Fancy algorithms are buggier than simple ones, and they’re much harder to implement. Use simple algorithms as well as simple data structures.
  • Rule 5. Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

Pike’s rules 1 and 2 restate Tony Hoare’s famous maxim "Premature optimization is the root of all evil." Ken Thompson rephrased Pike’s rules 3 and 4 as “When in doubt, use brute force.”. Rules 3 and 4 are instances of the design philosophy KISS. Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to “write stupid code that uses smart objects”.

(Source.)

How to Be Productive and Organized

I’ve always been interested in how to get stuff done. If you’re organized and working towards the things you think are important, you’re probably a happier person for it—and I prefer being happy over the alternatives. In addition, most of our jobs involves working with other people and no one likes to be the person who is constantly dropping the ball—and, trust me, no one likes that person either.

I’ve read pretty much every producitivity self-help book under sun, bought the corresponding expensive software, and tried to implement their “system.”

In my experience, they’re all worth it, but they’re also completely unnecessary. You can probably stay organized and on top of things with the notepad application on your phone and a sheet of copy paper in your back pocket.

  1. Do one thing at a time. Multitasking sucks; don’t do it.
  2. Write down everything. In productivity circles, this is called “ubiquitous capture”. Basically, your brain is for thinking, not for storing information. The second something pops into your head, write it down, record a voice memo, sketch a heiroglyph—whatever works for you.
  3. Have an inbox. Make sure you have a place for things that you need to deal with to go and hang out and until you get around to organizing them. Have as many inboxes as your need, but as few as you can get away with.
  4. Keep a list of big amorphous projects. Keep a list of all the projects going on in your life. Look at it every so often to make sure one of your projects isn’t getting moldy in the back of your refrigerator. Some examples: “write the Great American Novel”, “buy a house”, and “finish loose ends on the Henderson account.” These are not things you can just sit down and do, but they are also things you don’t want to fall off your radar. It’s probably fair to split this into long-term and short-term projects for the sake of your self-esteem.
  5. Keep a list of little doable tasks. This list is inspired by the point above. It’s the canonical to-do list we all know and love. It doesn’t matter how you organize this list. You can be as fancy as you’d like. Just make sure you’re not spending more time managing the things on your list than you are—you know—doing them.
  6. Keep an even shorter list of tasks you intend to do today. List out your three most important tasks for the day. Do them. Three is more than enough; don’t try to be a hero.
  7. Do the most odious, dreadful task first. Identify the thing you want to do the least and just get it out of the way. For me, this usually involves the telephone.
  8. Eliminate. Cut down of the amount of stuff you have to manage.
  9. Automate. Cut down of the amount of stuff you have to manage.
  10. Everything should have a place. But, try not to have too many places. I don’t think there is anything wrong with having an “everything box” that you search occasionally when you need something. Evernote is fine, but I just use the file system in Mac OS X.

This is spring. (Also: it’s the same guy working the truck as when I was a kid.)

Excel: The Last Microsoft Office Stronghold

I actually prefer Google Spreadsheets over Excel. That said, I’m predominately using Excel for Mac OS X, which is horrible. Google Spreadsheets doesn’t have as many esoteric features, but it does have Google Apps Script, which lets you do all sorts of crazy stuff with the other Google Services.

Doctopus is one example of what you can do with Google Apps Script. According to it’s creator, Andrew Stillman, “It’s a way of automating document creation, revision and management, so as a teacher you can spend more time on instruction and less time on the cumbersome administrative tasks that make classrooms so inefficient.”

The Google Drive office apps are free and that’s definitely a big reason they’ve been widely adopted, but I don’t think that’s the only reason they’ve become some popular. Most people in offices and schools don’t pay for Microsoft Office.

Google Drive has incredible sharing functionality. Sure, Office has sharing, but it’s painful. I tried using Office’s sharing features in conjunction with SharePoint and it was unintuitive. In addition, Office’s version of sharing involves checking a document in and out. This means that if your colleague opens a document and then goes to lunch, you’re hosed. It’s a lot like using FileMaker in the late ’90s.

Google’s apps on the other hand offer collaboration. That’s their killer feature and I suspect that on a long enough timeline, it might be enough to chip away at Excel’s walls.

M.G. Seigler:

There was a good, brief discussion on Twitter tonight about Microsoft Office. Specifically, the fact that it’s 2014, so why the hell is anyone still using it?

To be clear, I know that a lot of people have to use it in their work environment. But that’s more because their office buys it for them and forces them to. It’s a strong method of lock-in that is seemingly still going strong after all these years.

The reality is that there are now more than enough solid-to-better alternatives for much of what Office offers. And some, like Google Docs and now even the Apple iWork suite, are free.1 And so it seems to me that increasingly, Office persists more out of habit (“I don’t know how to do this without Office”) and misguided fear (“what if I need Office for some reason?”) than necessity.

Read More

Justin Reich:

In an educational context, we might say that whatever makers hope will happen by buying 3-D printers, Arduinos, and Makey-Makeys will not happen just from buying these things. Whatever outcomes we hope for in our students—creativity, innovation, ownership of learning, design thinking, tinkering, the freedom to explore—will not happen because we bought these things. Technology isn’t magic; teachers are magic. Buying new technology is easy. Creating the cultural, policy and political contexts where innovative teaching can thrive is really hard.

(Emphasis mine.)

Short version:

  • Github-flavored Markdown has special syntax for checkboxes.
  • When you check a box on your list, Github automatically updates the gist.
  • Because it’s git-based, you have the full revision history at your finger tips.

This is my new task manager.

Chris Bosh:

I get it. There seems to be something silly about asking everyone — from the homeless to really young kids — to learn to code. There are deeper things that need to be fixed in the “system” too.

But I don’t think that means we should dismiss the value of learning to code.

Catherine Michna:

Our results were not 100 percent determined by how hard or long we worked—there were also the conditions in which we worked. We had classes with 35-plus students. Some teachers didn’t have their own classrooms. We often didn’t have books. Our students faced every challenge imaginable. We needed smaller class sizes, money for books and materials, money to renovate the crumbling school building. We needed more professional development, more time to collaborate, more support staff. We needed our students to have safe communities, nice homes, and food on their tables. Our students’ parents needed jobs that paid a living wage. We needed the police to stop profiling and imprisoning the young men in our community. We needed the War on Drugs to come to an end. We needed all these problems addressed. Corporate reform of public schools, as Diane Ravitch has tirelessly pointed out, seeks to address exactly none of these problems.

I agree with the above, but I’m not so sure I agree with a point later on in her essay.

Instead of writing letters of recommendation for TFA, I encourage my students to apply to graduate programs in education.

I don’t know if racking up tens of thousands of dollars in student loan debt before stepping foot in the classroom is the right approach either.

Harold Levy, former chancellor of the New York City Department of Education:

Schools buy stuff badly. This spells trouble for education technology. Schools will buy the wrong things, at bad prices and for the wrong students. The result: schools will implement edtech more slowly, results will improve minimally if at all, the wrong technology will prosper and money will be diverted from more effective goods and services. If we want to avoid this future, we need to fix the procurement process now before it’s too late.

Similar to Google’s new Web Designer tool, Apple has had something similar for close to a year now. Curiously, though, it’s called iAd Producer and you need a free developer account to even view the page on it.

iAd Producer makes it easy for you to design and assemble high-impact, interactive content for iAd. It automatically manages the HTML5, CSS3, and JavaScript behind your iAd to make creating beautiful, motion-rich iAd content as easy as point and click.

For advanced developers, iAd Producer also offers sophisticated JavaScript editing and debugging. And once you’ve created your ad, iAd Producer helps you optimize the performance of your iAd, and with a few clicks helps you to submit it for certification to launch on the iAd Network.

Create engaging, interactive HTML5-based designs and motion graphics that can run on any device.

This looks pretty awesome. I’d love to write some web design curriculum around this tool.

The potential for cool sensors like iBeacons and the M7 motion processor make the prospect of developing for iOS exciting, but the unlikelihood of making money except using In-App Purchases and the fact that using In-App Purchases paints a big red target on your back, strongly dissuades me from wanting to invest the development time.