Snap windows to screen edges in OS X

I’ve been a fan of tiling window managers for a while now (especially XMonad which I’ve been using for years). But recently I started using Windows 7 again for the first time in years. Windows doesn’t have a tiling window manager per se, but if you drag a window to the left or right edge of the screen, it expands it to take up that half of the screen. Soon I realized that I mostly only need two windows open side-by-side (usually code and docs, or code and a terminal) and for that use case Windows’ snap-to-edges window management usually does the trick.

I’m still using a mix of OS X and Linux at home and I’ve been using the default OS X window manager so far. I have my Macbook Air connected to a larger external monitor which reduces the need to be careful with screen real estate. I didn’t really care about having a tiling window manager for OS X, but I was curious about having some kind of snap-to-edge functionality.

It turns out that OS X doesn’t come with anything of the sort out of the box, but there is a free utility that provides the needed functionality. BetterTouchTool is actually a very feature-packed program that provides a lot of control over mouse and trackpad input and window management. One feature that works out of the box is snap-to-edge support. Here’s a simple tutorial that shows you exactly what to do (it basically amounts to installing the tool and enabling it). And now you can snap windows to edges as much as your heart desires.

Remembering Aaron Swartz

Aaron Swartz was a programmer, entrepreneur and Internet activist who left his mark on both the Internet and the world at large. He was involved in the development of the RSS and Markdown formats as well as the Creative Commons. He was also the founder of Demand Progress which was involved in the effort to stop SOPA/PIPA.

Just over two years ago Aaron killed himself in the middle of a federal prosecution. If he had lived, Aaron would probably have become one of the leading technologists or political figures of our generation. Unfortunately, two years after his death, there is too much pain and suffering in the world today for the media (or the Internet in general) to remember his suicide. The only article about his death that caught my eye was a Boing Boing piece entitled “How to honor Aaron Swartz’s life”. The piece is written by one of Aaron’s friends and is best summarized as a short guide to honoring Aaron life by living your own better.

To summarize the summary:

  1. Stay curious
  2. Don’t accept things as they are, or assume they’re that way for a good reason
  3. Become good at something. And then use it to make a difference.
  4. Ask yourself what you could do to make the biggest difference in the world.
  5. Stay alive.

For me, one of the best lessons from the article was the ending paragraph:

Don’t be surprised if at some point in your life, maybe at many points, you find yourself submerged in a darkness that seems infinite and eternal. It might seem to you like it’s always been that way, it will be always be that way and there’s only one way out. You’re wrong. It will get better. But it will only get better if you find some way to survive.

Aaron might be gone, but much of his work is still with us, in terms of code, organizations, and words. His website is still online (hopefully it will stay that way indefinitely) and so is his writing. I remember reading much of his writing around the time of his death and found it both interesting and a joy to read. His series on thinking and living better — Raw Nerve — is a good place to start.

Sunday Selection 2014-11-09

Around the Internet

Molly Crabapple’s 14 rules for creative success in the Internet age

I don’t identify as a “creative” (I far prefer “engineer”), but I firmly believe that artistic and creative endeavors need to be balanced by economic utility. Molly Crabapple is quickly becoming one of my favorite people on the Internet and her no-bullshit take on selling art is one of the best things I read this week.

I had a couple drinks and woke up with 1000 nerds

“Alternative” social networks seem to be all the rage nowadays (I’m looking at you, Ello). Tilde.club is just about as alternative as they come, though the author insists it’s not a social network. If you long for the days when men were men and wrote their own device drivers, then this might brighten your day a little.

Old Masters at the Top of Their Game

Retirement is so 20th Century. I’m going to make the completely unsubstantiated claim that changing economic situations are making retirement a thing of the past, but that doesn’t have to a bad thing. For some people, “work/life balance” simply doesn’t apply.

Books

10% Happier: How I Tamed the Voice in My Head, Reduced Stress Without Losing My Edge, and Found Self-Help That Actually Works

I’ve already praised the merits of this book at length. I tore through it in a day and it made me much more serious about my meditation practice.

Video

Nope, no video, just this neat GIF. It’s called Coffee O’Clock. You’re welcome.

Coffee O'Clock by RADIO
Coffee O’Clock by RADIO

The Ten Pillars of Cutthroat Zen

I’ve been meditating on and off for the better part of the year. I can currently about fifteen minutes at a stretch and on the days I do get around to it, I definitely feel calmer and more focused than usual. Last week I read a book with the intriguing title of “10% Happier: How I Tamed the Voice in My Head, Reduced Stress Without Losing My Edge, and Found Self-Help That Actually Works” by Dan Harris’. Them be fighting words and I was certainly skeptical when I started. That being said, I ended up finishing the whole book in a day — something I don’t think I’ve ever done for a serious book.

The book is a great read, starting with the author’s breakdown on live TV and following his path through borderline-fraudulent self-help and finally meditation and a sort of modern Buddhism. The whole book is thoroughly recommended, but it also comes up with of a tl;dr at the end — a summary of what the author learned through his experiences. Harris calls it “The Way of the Worrier”, but I think his discarded title of “The Ten Pillars of Cutthroat Zen” is a better title. While they’re best understood in the context of the rest of the book, they also stand on their own (with a little help from excerpts from the book):

1. Don’t be a Jerk

It is, of course, common for people to succeed while occasionally being nasty. I met a lot of characters like this during the course of my career, but they never really seemed very happy to me. It is sometimes assumed that success in a competitive business requires the opposite of compassion. In my experience, though, that only reduced my clarity and effectiveness, leading to rash decisions.

2. (And/But …) When Necessary, Hide the Zen

Even though I’d achieved a degree of freedom from the ego, I still had to operate in a tough professional context. Sometimes you need to compete aggressively, plead your own case, or even have a sharp word with someone. It’s not easy, but it’s possible to do this calmly and without making the whole thing overly personal.

3. Meditate

Meditation is the superpower that makes all the other precepts possible. The practice has countless benefits— from better health to increased focus to a deeper sense of calm— but the biggie is the ability to respond instead of react to your impulses and urges.

4. The Price of Security is Insecurity — Until It’s Not Useful

Mindfulness proved a great mental thresher for separating wheat from chaff, for figuring out when my worrying was worthwhile and when it was pointless. Vigilance, diligence, the setting of audacious goals— these are all the good parts of “insecurity.” Hunger and perfectionism are powerful energies to harness. Even the much-maligned “comparing mind” can be useful.

5. Equanimity is Not the Enemy of Creativity

Being happier did not, as many fear, make me a blissed-out zombie. I found that rather than rendering me boringly problem-free, mindfulness made me, as an eminent spiritual teacher once said, “a connoisseur of my neuroses.” One of the most interesting discoveries of this whole journey was that I didn’t need my demons to fuel my drive— and that taming them was a more satisfying exercise than indulging them.

6. Don’t Force It

It’s hard to open a jar when every muscle in your arm is tense. I came to see the benefits of purposeful pauses, and the embracing of ambiguity. It didn’t work every time, mind you, but it was better than my old technique of bulldozing my way to an answer.

7. Humility Prevents Humiliation

We’re all the stars of our own movies, but cutting back on the number of Do you know who I am? thoughts made my life infinitely smoother. When you don’t dig in your heels and let your ego get into entrenched positions from which you mount vigorous, often irrational defenses, you can navigate tricky situations in a much more agile way.

8. Go Easy with the Internal Cattle Prod

As part of my “price of security” mind-set, I had long assumed that the only route to success was harsh self-criticism. However, research shows that “firm but kind” is the smarter play. All successful people fail. If you can create an inner environment where your mistakes are forgiven and flaws are candidly confronted, your resilience expands exponentially.

9. Nonattachment to Results

Nonattachment to results + self compassion = a supple relentlessness that is hard to match. Push hard, play to win, but don’t assume the fetal position if things don’t go your way.

10. What Matters Most?

At first, this struck me as somewhat generic, but as I sat with the idea for a while, it eventually emerged as the bottom-line, gut-check precept. When worrying about the future, I learned to ask myself: What do I really want? While I still loved the idea of success, I realized there was only so much suffering I was willing to endure.

If you feel like your life is flying off the handles, or you want some more calm and control, this book might just point you in the right direction. If you’ve been hearing about meditation and want to try it out but are afraid you might want to run away and join a monastery, this book will put those fears to rest. In summary, “10% Happier” is probably the best ~$11 you’ll spend this week.

PS. I came across this book thanks to the excellent Farnam Street Blog, which has been steadily feeding me a stream of useful knowledge and references since I discovered it a few months ago. If you need more convincing, check out their post on the book.

Sunday Selection 2014-08-17

Around the Internet

Speaking Polish is no different from speaking “Male”

I had the pleasure of meeting MIT graduate student Jean Yang when she came to visit Cornell a few weeks ago. This post is an account of her internship experience at Facebook and is an interesting look at the different cultures that make up the technology industry (and the clashes between them).

Anthony Bourdain’s Theory on the Foodie Revolution

I’m not a big watcher of documentaries, but I’ve always enjoyed Anthony Bourdain’s shows. I’ve always found him an interesting personality with surprisingly deep (if quirky) observations of the world around him. If you enjoy his shows, you’ll enjoy his views on American food culture and it’s changing face.

Making remote teams work

One of the best things about being a “knowledge worker” is the ability to work from anywhere, assuming there’s a strong Internet connection (which actually narrows things down quite a lot). Mandy Brown’s rules of thumb for making remote teams work is based on her experience at Editorially and covers both things to do (and not do) and tools to use.

Video

https://www.youtube.com/watch?v=7Pq-S557XQU

Humans Need Not Apply

If you’re a regular reader of this blog, chances are you’ve already seen this video. It’s about how technology is making obsolete large classes of skills that we often think require human intelligence and involvement. This includes things like customer service, education and medicine. As automation steadily increases and economic progress remains one of the key forces in modern society, chances are likely that large numbers of otherwise skilled, hard-working people might soon be out of work through no fault of their own. Though we may not see massive unemployment tomorrow (or even within this decade), there is definitely reason to be worried and seriously consider what your skills and corresponding job prospects are in the coming decades.

The Brain-Hand Barrier

I’ve never been a particularly fast typist. Despite reading Steve Yegge’s very entertaining Programming’s Dirtiest Secret once every few months or so, I’ve been stuck in the 40 to 50 words-per-minute range for a few years now. Most of the time, this is not a big problem, for multiple reasons. In the last few months, I’ve been mostly writing code, not words (as witnessed by the rather low rate of posts on this blog). When you’re using a fairly succinct and powerful language (like OCaml) and working on research code, the major bottleneck to getting things done is often your thinking speed, not your typing speed. And for the rest of the times there are well-chosen Emacs keybindings deeply ingrained into your muscle memory.

I’d like to start writing more honest-to-goodness words—I’m pulling this blog out of the mothballs, I’m keeping a daily log of my research work and possibly a personal journal. And that’s on top of the usual emails and IMs and other sundry typing activities. As I’ve been ramping up my word count, I’ve been noticing something curious that’s purely anecdotal and quite possibly, completely wrong. But this is my blog and something is often better than nothing so I’m going to put it here for all eternity.

I claim (completely without proof) that when writing words (at least non-technical words) the bottleneck can often be your fingers. If you’re a slow typist (or an adequate typist, like me) you find yourself frantically trying to get ideas and thoughts down before they all slip away like water between your fingers. As a result, increasing typing speed can actually be better in at least two ways: first, typing faster lets you get raw thoughts down much faster leaving you time to come back and edit later. I know that a lot of people subscribe to the philosophy of writing slowly, even going so far as to using pen and paper to slow themselves down. Personally, I’m in the Hemingway camp — write drunk; edit sober. Since I have absolutely no intention of becoming an alcoholic, I’ll go with “write fast; edit slow”. It’s boring I know, but I like my liver and my brain cells.

Second, for a certain type of personality (including me), knowing that you’re fast enough to get something down without a major interruption in whatever else you’re doing makes you more likely to actually put it down, rather than having it banging around inside your head. For more on why getting things out of your head is helpful, I point you to the last book I read Overwhelmed: Work, Love and Play When No One Has the Time and a tl;dr review/article of the same name.

Both of the above are benefits from fast typing, apart from the professional benefits you might get (for which I point you back to Steve’s post).

So to conclude: type fast, type lots, edit slow, publish some. There’s probably a rant about RSI and how the Hobbit movies could have been made better and shorter with a good editor that can be extrapolated from that last sentence, but that will have to wait for another day.

Problems versus Exercises

A few days ago an interesting set of articles on mathematics education did the rounds on Hacker News. The first of those articles is “Problems versus Exercises” which talks about how a mathematical exercise (repetition to develop a skill) is different from a problem (something that is difficult to solve and often requires some creative skill). That articles is followed up by “Repetition and Practice“, “Resources about Learning Mathematics” and “Courage in the Face of Stupidity“. The last, especially, is a worthwhile read for people involved in any kind of intellectual, creative activity.

Personally, I had never quite realized the difference between exercises and problems, and I suspect neither have most people (even among the more mathematically inclined). Most of my mathematics education has been focused on exercises (however, I can distinctly remember examples of “problems” in physics). While I’ve never been afraid of math (and generally achieved respectable grades in mathematical subjects), I’ve never been particularly fond of it either. In fact, I’ve often said that I have a “grudging respect” for mathematics. I do wonder how much of that is due to my education, and how much is due to my having strong interests in the arts and humanities (then again, how much of that is due to my education, I wonder). All of this is a long winded way of saying that though I’ve never really articulated the difference between exercises and problems, I have been known for a while that the typical classroom exposition of mathematics is only provides a part of the picture.

Over the last few years I’ve been exposed to increasing amounts of mathematics. My main interest is in programming languages, which can be deeply mathematical (though it’s a breed of mathematics far different what most people would recognize as “math”). I recently started learning machine learning, which is yet another deeply interesting branch of applied mathematics. A lot of this exposure has been problem-centric, rather than exercise-centric (though there have been exercises along the way). While I certainly wouldn’t classify myself as a mathematician (I’m more comfortable building things than proving theorems), I’ve been developing an increasing respect for mathematical thought and tools.

A side-effect of this exposure is that my interests have been changing. I’ve been losing interest in things like web development, productivity tools and the like and becoming more interested in problems and ideas with an interesting formal foundation combined with practical applicability. In some ways, I’ve been losing interest in exercises (repeating questions to which I already know the answer) and gaining interest in problems (deep questions and fields of knowledge in which I have little to experience, and where the answers aren’t immediately obvious). I suppose this might just be a natural part of the passing of a few years since graduation.

For a long time now, I’ve been of the opinion that teaching mathematics is hard, and reading the above-mentioned articles has further cemented that notion. I think that mathematics is, by and large, an acquired taste. The dichotomy between exercises and problems (and to some extent, that between smartness and hard work) makes the acquisition of that taste particularly tricky and difficult. To acquire it, you need to be exposed to problem-oriented mathematics fairly early and regularly, but not so early that you don’t stand a chance of making progress. I think this is a balance that is very difficult to maintain, especially in large classrooms with students of varied skill levels.

I wish that I had understood the exercise/problem difference much earlier. Luckily for me, it’s not too late and I have plenty of opportunities to explore both sides. If your daily work involves mathematics (whether in terms of work, research or teaching) I’d love to hear further ideas on this difference (and how we can spread the word).