The STEMpunk Project: Reflections On The Computing Module

Today marks the completion of the first module in The STEMpunk Project. To review, here is a truncated version of my original goals for the opening salvo of this year-long attempt to become a techie:

  • Stage I: Read books about building PCs. Put a parts list together, check with my smarter friends, and then order them. Wait around while the parts arrive, and finish the module by building a computer out of them.
  • Stage II: Read “The Elements of Computing Systems” and build the simulated computer described therein.
  • Stage III: Read the CompTIA A+ book and take the certification test. Do the same with CompTIA Network+ and CompTIA Security+, take the relevant tests if time allows.
  • Stage IV: Profit and/or drop mic on stage, as appropriate.

There are a few reasons that I chose to lead with computing. Of the four modules it’s the one I’m the most intrinsically interested in, so I reasoned that completing it would build enough momentum to carry me through the rest of the project. It’s also the subject I’m most likely to continue studying after the project is finished, so any mistakes I make in the planning and execution stages are more likely to be remedied later through followup work.

And there have been plenty of mistakes. The most obvious is that my goals for the this module were wildly, laughably over-ambitious. With the benefit of hindsight it’s astonishing to me that I thought I would be able to complete stages II and III in six weeks. Worse, I had originally planned on doing programming tutorials for about an hour everyday, though I had the sense to realize that that would be overreach before I even started.

A major reason for the time crunch is that The STEMpunk Project got off to a slow start and stage I ended up taking longer than I originally thought it would. I’m not too bothered by this; after all, developing the ability to undertake projects of this magnitude has been my single biggest motivation from the outset, so there was bound to be some growing pains while I stretched the relevant cognitive muscles.

Another mistake is that I completely forgot to factor in the taxes I’d have to pay in April when budgeting for the project. Though I went ahead and researched the kind of system I want, building it would’ve stretched me too thin. I’m hopefully going to order the parts and assemble them later in the year.

All this having been said I’m mostly happy with my layout and choice of materials, with one exception: because I did not have the time required to do many of the implementation exercises in “The Elements of Computing Systems” it probably would have been wiser to focus instead on Stallings’ “Computer Organization and Architecture”. The latter book covers much of the same material as the former, but in more detail and with the benefit of study questions at the end of each chapter.

To other aspiring techies:

The three stages of this module cover a cross-section of computing knowledge that has both breadth and depth. Taken together they are an excellent foundation for further study, and would be even more so if I had actually managed to do all the things I said I would do. My advice to anyone wanting to tread the same path is to remember taxes and other large, fixed expenses when developing a budget, and give yourself closer to half a year if you want to get everything done at a comfortable pace.

If any of you do this and have useful insights, I hope you’ll share them with me.


Profundis: The Productivity Project

In 2013 Chris Bailey turned down two enticing job offers in order to spend an entire year trying to become the most productive human in the history of Earth. I don’t think he quite achieved that goal — he has Bezos, Musk, and the late Jobs to contend with, after all — but he did get a lot done, and did us all the courtesy of writing “The Productivity Project” (TPP) to share his successes and failures along the way.

Normally these Profundae consist of a high-level overview of the book along with any musings which I think might be of interest to readers. But Bailey’s treatise is slim, the subject matter is germane to The STEMpunk Project, and I’m clearly drawn to large-scale orgies of learning. So for these reasons I’ve chosen to just review the entire book, one section at a time.


Like myself the author is a long-time meditator. When he made the decision to begin his productivity project he was struck by how different it was from the cherished time he spent meditating, and he gradually began to forego his practice in favor of using that time to read or do research. His work subsequently became more frantic and less present, which had the effect of forcing him to realize how important a mindful, deliberate approach to work is.

Further, and more importantly, he realized that productivity isn’t about how much you get done so much as it is about how much you accomplish. Spending ten hours answering emails might make a person feel stupendously productive, and it may even be necessary once in a while, but it’s unlikely to produce as much value as spending half that much time developing an important new idea or product.

Working intentionally and creating value requires managing the three elements of productivity: time, attention, and energy. Having boundless amounts of any one of these things doesn’t do much good to a person who lacks the other two, and as such it’s important to focus on developing all three.

Only with this definition of productivity and this understanding of its constituent parts can we grok Bailey’s insights into the art of getting more done.

Part One: Laying The Groundwork

In chapter 1, “Where to Start”, the author reiterates how important it is to have actual reasons for wanting to become more productive, and he uses a series of questions such as “if you had two more hours every day, what would you do with them”, to try and get recalcitrant readers to probe their underlying motivations.

My answer to these questions is complicated, but I have given the matter a fair bit of thought. At some point in the past, I think when I was still living in Korea, I realized that advancing technology and the inadequacy of our political systems to handle it meant that the world could actually end.

No, I’m not a conspiracy theorist; it’s just that once a person begins to think seriously about recursively self-improving artificial intelligence or biologically-engineered weapons, it becomes difficult not to entertain the possibility of a global catastrophe in the coming decades. I need to learn everything I can, as fast as I can, to play my part in making the future a habitable place.

So that’s my motive for wanting to become more productive. Ch. 2, “Not All Tasks Are Created Equal”, relays the story of how meditating for thirty-five hours a week forced the author to think seriously about which tasks had the highest returns, where a ‘high-return task’ is any task that is either personally meaningful or has a large impact on work. If you use these criteria to choose what to focus on, you’re realistic in your expectations of what you can get done, and you actually accomplish everything you set out to do, then you’ve had a productive day.

How can you decide which tasks have the highest return? After making a list of everything you’re responsible for, figure out what you would do if you could choose only one thing to accomplish in a given day. Now pick just two more things. This list comprises your highest return tasks.

One of the things that struck me when I read Walter Isaacson’s biography of Steve Jobs was how ruthlessly consistent Jobs was in applying this technique. In brainstorming sessions he and his team would generate a list of potential new products to work on, and Jobs would finish by ranking them and crossing out everything but the top three.

Ch. 3, “Three Daily Tasks”, continues this discussion and emphasizes the fact that being incredibly organized and efficient doesn’t do you much good if you’re focusing on doing the wrong things. The author recommends sitting down at the start of the day and at the start of the week and making a list of things you would be happy having accomplished at the end of each.

There isn’t a rule which says that this list must only contain tasks related to work. You can also include things like “making the time to call my long-neglected mother” or “have a nice dinner with my girlfriend in which I give her my full attention”.

“Three” is a somewhat arbitrary number — my task list often has five or six absolutely essential items on it — but it does have the advantage of being in a kind of goldilocks zone. Three items is about enough to make major progress on a couple of fronts while being easy to remember and easy to summarize. I found this technique to be very effective, and because of the way I make to-do lists, also very easy to implement.

Ch.4 , “Preparing for Prime Time”, begins by noting that before you can effectively optimize your time and energy you need to get a handle on how you’re using these resources at present.

To that end, the author recommends keeping logs of both time and energy. There are myriad ways of doing this, but perhaps the most expedient is to print off something like a spread sheet, set an alarm every hour, and then make a note of how you’re spending your time and energy when the alarm goes off. If done for a few weeks you’ll get a pretty accurate picture of your energy fluctuations in a typical day and how you’re actually spending your time. This knowledge is essential for aiming your efforts at the places where they are most needed.

Though this practice is tedious and requires discipline, it can’t be beaten in terms of equipping you to make positive changes. And it can also be done for any number of other important variables, like food consumption, time spent sleeping, etc.

Part Two: Wasting Time

As we discover in ch. 5, “Cozying Up to Ugly Tasks”, even someone as productive as Chris Bailey still manages to procrastinate, and for good reason: everyone procrastinates. Though people vary in the amounts of time they waste, surveys consistently find that everyone lets some amount of time slip through their fingers everyday, sometimes quite a lot of it.

Luckily, the people who get paid to think about procrastination have identified a number of ‘procrastination triggers’ which characterize tasks that people are more likely to put off. They are:

  1. Being boring.
  2. Being frustrating.
  3. Being difficult.
  4. Lacking structure.
  5. Having little personal meaning.
  6. Lacking intrinsic rewards.

A good example of a task which has many of these triggers is filing taxes. Watching Netflix, on the other hand, has very few of them. Which one are you more likely to drag your feet on?

With this list of triggers you can devise strategies for facing obnoxious tasks head on whenever you feel yourself procrastinating. A big ambiguous project can be better tamed if you spend an hour planning out subgoals and milestones. Setting aside a few dollars to spend frivolously after every hour spent deliberately working on such a task injects intrinsic rewards into the process.

Additionally, procrastination can be battled by listing the costs of putting a task off, setting a timer to create a hard deadline for beginning a task, and assigning yourself a ‘productive’ alternate task, like sending important emails, to do whenever you find yourself procrastinating on something else. I don’t use this third tactic because I find it fractures my attention too gravely, but others might be able to make it work.

Starting from a discussion of research which indicates that many people treat future versions of themselves in the same way that they treat total strangers, ch. 6, “Meet Yourself…From the Future”, proposes a few interesting exercises for getting to know the person whose body you’ll wake up in tomorrow. You could use a tool like AgingBooth to predict what you’ll look like decades hence, you could use to send a letter to yourself, or you could deliberately create a ‘memory’ of a future self that has managed to not procrastinate on some important task.

Concretizing the selves that will confront the challenges of next week, next month, or next year will allow you to make better plans and avoid unduly overburdening them.

Ch. 7, “Why The Internet Is Killing Your Productivity”, needs little introduction or elaboration. Simply put, the internet is vast, interesting, and immediately rewarding in ways that deliberate work almost never is, and is thus lethal to productivity. The best way of combatting its siren song are to disconnect completely. The author describes an experiment in which he began to severely truncate the amount of time he spent on his smartphone by shutting it off between the hours of 8 p.m. and 8 a.m. One of the first things I do in the morning is disconnect from the internet after I’ve done my wake up ritual and made some tea. It has been tremendously helpful in getting more done with my early hours.

To exercise even more nuanced control over your relationship with the internet, consider building a distraction levee.

Part Three: The End of Time Management

Once upon a time, notes ch. 8, “The Time Economy”, keeping track of time was far less important. People rose in the morning, worked throughout the day, and then finished when the sun went down. Individual cities kept internally-consistent time, but there wasn’t any incentive for multiple cities to sync up.

Until railroads began to spread and connect disparate parts of the country, that is. In 1883 railroads teamed up to divide time across the United States into four zones, a system which was made federal law in 1918. Combined with the industrial revolution, during which millions of people poured into factory jobs where most of their time was spent doing fairly repetitive tasks, this made keeping track of the minute hand crucial.

But most people don’t work in factories any longer, and today it’s harder to make the case that the amount of value one produces is tied directly to the amount of time they work. Instead of focusing on optimizing time — which is still important — it’s better to focus on the bottlenecks of attention and energy.

Two huge insights emerged out of the experiment detailed in ch. 9, “Working Less”. For four weeks the author alternated working a ninety-hour week with working a twenty-hour week and discovered that he got only slightly more done working longer hours, but felt twice as productive. Though it seems wildly counterintuitive, he speculates that erecting the artificial barrier of a twenty hour week forced him to pour greater amounts of attention and energy into each individual task, rendering the amount of work accomplished about the same.

This is a fine empirical demonstration of Parkinson’s Law: “work expands so as to fill the amount of time available for its completion”. I suspect that part of the reason Elon Musk gets so much more done than everyone else is that he can work one hundred and ten hour weeks but, because of freakish quantities of energy and attention, is actually able to move at a quick pace for the duration.

The author eventually settled into working roughly forty-six hours a week, and cites research to the effect that the optimal work week is between thirty-five and forty-five hours. I find that sixty hours a week is about right for me, though I admit I count working out, blogging, language learning, and The STEMpunk Project as work even though I’m not paid for any of it.

Ch. 10, “Energy Enlightenment” is a meditation on the effective use of biological prime time (BPTs), the periods of the day in which you have the most energy and focus. Night owls are likely to have theirs later in the day while us morning folks like to get down to business before the sun comes up; regardless, it’s worth knowing which hours tend to be your best and guarding them ferociously.

Spending an entire week ordering takeout, wearing sweatpants, and not shaving taught the author how important so-called ‘maintenance tasks’ like showering and cleaning the kitchen are to feeling healthy and happy. But as necessary as they are, they absorb an awful lot of time. Ch. 11,”Cleaning House”, addresses this dilemma by recommending that you take maintenance tasks and knock them out on a single ‘maintenance day’. The benefit to this approach is that, instead of fragmenting your attention by doing little maintenance tasks throughout the week, you free yourself up by devoting an entire day to them whenever possible. You can even squeeze a little more productivity out of maintenance days by either focusing on your chores completely, thereby exercising your attention, or listening to a podcast while you work.

I endorse this advice and use it routinely, but I will say as a counterpoint that I often find it energizing to load the dishwasher or run a vacuum over the carpet during my five-minute Pomodoro breaks.

Part Four: The Zen of Productivity

Ch. 12, “The Zen of Productivity” quietly reaffirms how important it is to keep a lean to-do list, both because doing so supports greater mental clarity and because it leaves room in a schedule to deal with the inevitable contingencies that crop up. The next two chapters elaborate on methods for accomplishing this, beginning with ch. 13, “Shrinking The Unimportant”.

Through trial and error the author discovered that the two most effective strategies for spending less time on low-return maintenance tasks like answering emails or sitting through pointless meetings is to first become aware of how much time they’re taking up and then, whenever possible, to set hard boundaries on when you’ll tackle them.

Of course many people simply don’t have that much control over their schedules, but unless you’ve made a prior effort to shrink unimportant tasks there are probably some time hogs which could be slimmed down a little bit.

It’s also possible to use the strategies from ch. 14, “Removing the Unimportant” to completely outsource those low-return tasks which don’t require you to do them personally. Obvious examples are mowing the lawn and cleaning the house, but if you’re willing to pay, a good virtual assistant can also process certain kinds of emails, handle many of the administrative tasks that come with running a small business, do most scheduling, and a variety of other things.

Deciding when to take this step requires that you first do a dollars-and-cents calculation of what your time is worth to you. One simple way to do this is to consider what you’d be willing to pay to buy back an hour of your life. If you’re an impecunious college student an hour of your work is probably worth about $8, whereas if you’re a successful programmer it could be as much as $200. Once you’ve done the math you can decide what can be profitably outsourced.

The chapter finishes with a lengthy reminder that one of the single best ways of reclaiming more of your time is to use the word ‘no’. You should consider wielding this powerful monosyllable not just on obviously low-return tasks but also tasks which are fairly valuable but still don’t make it into the highest-return bracket.

Part Five: Quiet Your Mind

The human brain, begins ch. 15, “Emptying Your Mind”, is built for pattern matching and insight generation, not for keeping track of ever-expanding lists of to-do’s. With that in mind the author endorses a variant of David Allen’s famous ‘getting things done’ system. First, any idea or task which comes to mind is captured in a note taking app and added to a calendar or to-do list when the app is reviewed on Monday, Wednesday, and Friday.

In addition to a to-do list, the author uses a number of ancillary lists to keep track of important commitment sub-categories. The ‘waiting for’ list includes everything from packages ordered online to money that is owed. Each project gets its own list which contains not just notes about the project in general but, more importantly, the very next concrete action to be taken towards completing it. The ‘worry’ list is similar to the projects list but is reserved for things like deciding where to live next or whether or not to take a new job. By keeping notebooks everywhere — including places like in the bathroom and in the car — it’s possible to capture damn near every thought that comes into your head.

As with almost anything it’s possible to take productivity too far. This occurs when you’re spending more time planning your work than you are doing your work. Everyone’s work flow is going to be unique to them, but be vigilant against spending too much time on thinking about productivity at the expense of actually being productive.

Ch. 16, “Rising Up”, elaborates upon a very powerful technique for seeing the ‘portfolio of your life’ as if from a very high distance. It’s also surprisingly simple: take everything you care about and make a list of six or seven mega categories which captures all of it. The author recommends using ‘mind’, ‘body’, ’emotions’, ‘career’, ‘finances’, ‘relationships’, and ‘fun’ as groups (also called ‘hot spots’), which seems plenty comprehensive to me, but you can devise your own scheme.

If you’ve been keeping to-do lists, tracking commitments, and doing weekly reviews, then starting a list of hot spots should seem like a natural extension of techniques you’ve already implemented. If your daily grind is equivalent to making espressos and chai lattes, then hot spots are akin to sitting down at year’s end to see if your coffee shop is on track to meet its growth and revenue goals.

It may take some time to get all your commitments into the appropriate hot spots, but once you do you’ll have at your disposal a huge map of the terrain of your life, with goals pointing you towards new opportunities and unexplored territory. As with the other lists it’s important to do weekly or at least monthly reviews to make sure you’re capturing everything and making progress on multiple fronts. When you do, pay attention to which areas are ahead of schedule and which are lagging behind and use that to guide your priorities in the week(s) ahead.

Most of us have had the experience of a Eureka moment happening to us while in the shower or absent-mindedly brushing our teeth. Ch.17, “Making Room”, explains that this is because our minds, roughly, have two modes: the diagnostic, analytical ‘central executive’ mode and the playful, peripatetic ‘daydreaming’ mode. In our rush to get more done many of us underestimate the value of simply letting ourselves get lost in thought.

Part of the reason for this is that we fill the cracks in our life with news, twitter, t.v., or podcasts at the expense of having room to roam. While I’m all for using driving time productively by listening to an audiobook, it’s important to carve out space so that your unconscious mind can connect dots and generate insights.

There are a number of ways to do this, including taking walks in nature, going for a long drive, playing a musical instrument, and simply sitting in a room with a notebook and a pen. I regularly use all these techniques and have for most of my life, to great effect.

Part Six: The Attention Muscle

Ch. 18, “Becoming More Deliberate” opens with a quote from one of the most titanic badasses of the Twentieth century, Bruce Lee: “The successful warrior is the average man, with laser-like focus”. Citing research to the effect that most of us only manage to be present and focused a little over fifty percent of the time, the chapter goes on to note that productivity is less about frenetically doing more than it is about doing the right things with laser-like focus.

Taking the scattered light of your mind and making a laser from it requires understanding the machinery of attention, which neuroscientists have broken down into three constituent parts: the ‘central executive’, which sits in the prefrontal cortex thinking and planning, ‘focus’, which is narrowing attention down to a single task, and ‘awareness’, which is a general sense of what is happening internally and externally.

According to a popular saying, ‘the first step to recovery is admitting you have a problem’, and ch. 19, “attention hijackers” is a rather dismaying look at just how bad our collective distraction problem is. Statistics gathered by RescueTime point to knowledge workers checking their email and using instant messaging fifty times and seventy-seven times a day, respectively, causing over half a trillion dollars in lost productivity each year. While each micro-interruption may seem harmless, it takes nearly half an hour to fully return to focus afterwards.

So clearly there is an issue, but is there a solution? One is to start disconnecting from distractions. Turn off the email and Facebook notifications on your phone and schedule a set time in which to clear out your various inboxes. Another is to use the “twenty second” rule, where potential temptations are placed at least twenty seconds away from you. It’s harder to compulsively snack when you must get out of your chair, walk into the kitchen, and open a bag of chips, and it’s likewise hard to mindlessly waste time on a smart phone that’s located in another room.

An even more powerful technique is discussed in ch. 20, “The Art of Doing One Thing”. Multitasking feels good because it provides a steady stream of limbic stimulation which over time reinforce it as an automatic, habitual behavior. It eventually becomes difficult to even notice that you’re multitasking at all, which is a shame because most human brains literally cannot do multiple things at once[1], but instead must constantly switch between them. Moreover, multitasking can make you more prone to anxiety and depression, makes you less effective at each task you’re trying to do, and negatively impacts memory. From a productivity standpoint multitasking is an absolute wash.

Luckily focus is a learnable skill, and like many other learnable skills it’s best to start small. Try setting a timer during which you’ll give your total attention to a task, then gradually increase this amount of time. Like progressively adding weight to a bar in the gym, you’ll notice that you’re attentional muscles will get stronger the longer you do this.

Nearly anything can be used as an object of focus. The breath serves this purpose during meditation, but it’s also possible to be mindful while eating, listening to a person’s story, or reading a book.

Ch. 21, “The Meditation Chapter” discusses the relevance of mindfulness to productivity. Like losing weight, getting more done is the cumulative result of thousands of small, daily sacrifices. It’s all too easy to make a grand resolution and then, in the moment, succumb to one of the innumerable sources of distraction the modern world provides. Meditation — which consists of nothing more than sitting somewhere quiet and keeping your attention on your breath, drawing it back whenever your mind inevitably wanders — builds the deceptively simple ability to notice what you’re doing.

Habits are powerful precisely because they’re automatic and require little thought, but this power cuts both ways. Cultivating mindfulness while working allows you to reflect on the value of what you’re doing while more reliably saying no to things that don’t contribute directly to what you’re trying to accomplish.

As with practicing single-tasking, meditation can be undertaken for eighteen hours a day or for much smaller amounts of time. Simply being mindful for the duration of climbing a flight of stairs can have noticeable benefits in your life.

Part Seven: Taking Productivity To The Next Level

The four chapters of part seven stress four different areas of health and wellness which have a serious impact on productivity. Ch. 22, “refueling”, offers two simple rules for eating to have higher energy levels: 1) eat less processed foods, and 2) notice when you’ve become full and then stop eating. Though many of us reach for coffee when we’re tired, ch. 23, “drinking for energy”, encourages us not to forget how important water can be in boosting energy levels. Caffeine, on the other hand, should be used strategically, not habitually.

Exercise is one of the single most beneficial things anyone can do, and ch. 24, “the exercise pill” discusses the author’s experiments with exercise as well as suggestions for starting and sticking to a routine of your own. And while many of us shirk on sleep in an effort to get more done, this comes at a steep cost. Ch. 25, “Sleeping Your Way to Productivity” discusses the ramifications of getting less sleep and suggests creating a nighttime ritual, getting less exposure to blue-spectrum light, utilizing short naps, avoiding caffeine eight to fourteen hours before bed, and keeping your room cool and dark as ways of optimizing the amount of restful sleep you get.

Part Eight: The Final Step

There is nothing wrong with trying to accomplish more; after all, the world is filled with important problems that need to be solved. But if we allow ourselves to become so caught up in this pursuit that we start being too critical of ourselves, then we aren’t going to be much use to anybody. Ch. 26, “The Final Step”, reminds us to periodically disconnect from our to-do lists, journal about positive experiences, and to actively meditate on the things in life for which we should be grateful. The chapter finishes with a discussion of a freak incident in which the author badly broke his foot while on vacation in Ireland. But because he had spent so much time aggressively investing in his productivity, he was able to keep his motivation high and finish The Productivity Project six weeks early.

His is an excellent example for all of us to follow.


[1] I say ‘most human brains’ instead of ‘all human brains’ because there is actually some evidence that a very small fraction of ‘supertaskers’ actually perform better when multitasking.

Build a Distraction Levee

There is a vignette near the beginning of Cal Newport’s “Deep Work” which relates the story of a data entry specialist who, fed up with the unrewarding nature of his work, decides instead to learn how to program.

His efforts begin earnestly enough, but he soon finds that he is spending nearly all of his time checking his email, browsing social media, and otherwise throwing vast chunks of his life into the gaping maw of the most spectacularly effective time-wasting device to have ever been built: the internet.

Our intrepid programmer eventually discovers a straightforward solution to this problem: simply shut the computer off and learn from textbooks, taking notes on paper and flashcards with a good ‘ol fashioned pen. As time goes on and his attentional muscle begin to get stronger, he is able to spend five or six hours throughout the day programming, leading eventually to his being hired at a startup.

Turning your computer off or severing its connection to the internet are blunt, effective means of stemming the tide of stimuli competing for the limited resources of time and attention. I call this family of techniques “Distraction Levees” because they work in the same manner as standard levees which hold back reservoir water and lakes.

Disconnecting is a sound strategy, and I recommend you follow it any time you can. But it doesn’t work well when the required resources are inherently internet-based. For example, how should you proceed if:

  1. you’re taking an online programming course which doesn’t offer the option of downloading the videos or text?
  2. you’d like to post the occasional question on StackOverflow, which doesn’t carry as much danger of pulling you in as Twitter or Reddit?
  3. you’re trying to blog about, say, The MIT Project and you want to watch the relevant Youtube videos?

Luckily tools exist which allow the construction of more nuanced, selective distraction levees. These offer the benefits of preserving your attention while also allowing you to accomplish whatever it is that you need to accomplish.

Two pieces of software that are often discussed in the productivity space are Leechblock for Firefox and StayFocusd for Google Chrome. As far as I can tell the two are nearly identical, but since I’m on Chrome I’m going to use StayFocusd as my example.

StayFocusd can be configured to bar access to all websites, bar access to all websites except for a select few ‘allowed websites’, or to allow access to all websites except a select few ‘blocked websites’. It’s possible to set certain days and certain hours during which StayFocusd is active, in case you’d like to leave time open for restriction-free browsing. It can block just certain kinds of content, like videos, while otherwise allowing access. It can even has a setting which requires the completion of a difficult challenge before any settings can be changed, thus leveraging a trivial inconvenience to boost productivity.

This flexibility is powerful. If you struggle to get down to business early in the morning, and your mantras don’t seem to be helping much, let me recommend that you try the following exercise:

  1. Sit down first thing in the morning and decide what it is that you’d like to accomplish.
  2. Make a list of the websites to which you’ll need access.
  3. Using StayFocusd, add all those websites to the Allowed Sites list.
  4. Use the “Nuclear Option” to block access to all websites except those on your Allowed Sites list.
  5. Under “For how long?” select a number of hours. Choose a reasonably large block of time and increase as you get better at focusing.
  6. Under “Starting when?” select “at a specific time” and choose a starting point.

Figuring out appropriate starting points and time spans requires a little basic math. Say you wake up at 7:00 a.m. and start writing an hour later. Since you’re just starting your efforts at being more focused and productive you don’t want to restrict access to the internet for more than two hours. That means you’ll need to tell StayFocusd to activate at 7 a.m. and remain active for three hours, not two, to prevent yourself from pointless browsing before work and falling victim to the Zeigarnik Effect.

Planning and setting up the blocks the night before would probably be better, but I haven’t found a way to get StayFocusd to do this correctly. If I do, I’ll update this post.

Repeated use of this kind of distraction levee will eventually make productive work your default setting in the morning, and you’ll be amazed at how much more you get done.




Profundis: A Beautiful Planet

This past Saturday I went on a pleasant little outing to the Denver Museum of Nature and Science with my girlfriend and my younger brother. We decided to see the short, one-hour documentary “A Beautiful Planet” in 3D on IMAX, and it was fantastic.

Narrated by Jennifer Lawrence, the film follows a group of astronauts on their half-year long stay at the International Space Station. We see how they adapt to life in zero gravity, the rigorous exercise routines they must undertake each day to prevent muscle atrophy and loss of bone density, and get a first-person view as they climb along the outside of the station in iconic white spacesuits. Sprinkled throughout are breathtaking shots of thunderstorms, coastlines, cloud cover, sun rises, snowcaps, and deserts.

Three moments stood out to me as particularly awe-inspiring. In reverse order they were: the view of the Earth at night, an Italian astronaut drinking an espresso made in a special machine, and the first view of the window the crew uses to videotape and photograph home.

As one of the crew members remarks, it can be difficult to even tell that humans live on Earth during the day. But our cities shine like luminous chunks of gold at night. The spark of human intelligence has kindled bonfires of civilization so white hot that a few us have ridden its flames into space. And as if that weren’t achievement enough, we took our espresso makers with us.

This is the swaggering optimism of a being not content to take its place as just one unusually hairless primate. Instead it has had the audacity to pierce the sky with arrows of steel and leave its footprints on the moon. This same spirit is what led me to fill the walls of my house with stylized ‘space tourism‘ posters from NASA’s Jet Propulsion Lab, and what brings me back to the work of Ayn Rand despite my reservations about her underlying philosophy.

We need more of this attitude. And we need it soon.


The STEMpunk Project: Second Month’s Progress

Throughout the STEMpunk Project I’m going to try to take a picture each month of the books I’ve read and projects I’ve completed, as sort of a visual metaphor for my progress.

Here’s what I got done in April (minus the little model engine, which I forgot to include this time):


I’ll admit that the table is still pretty sparse, and I had hoped to have a Desktop PC to include in the photo by this point. But I did manage to make the following additions to the “object” stack on the left:

  1. Nisan and Schocken’s “The Elements of Computing Systems”
  2. Ron White’s “How Computers Work”
  3. William Stallings’ “Computer Organization and Architecture”

My focus in Stage II of the Computing module was mostly on “The Elements of Computing Systems”, so I only read sections of the works by White and Stallings which were most relevant to that book. These three volumes, when read together, are a very thorough introduction to computing and its foundations. While I never took the relevant classes in college, I imagine that if you threw in a discrete mathematics textbook and a few programming tutorials you’d have roughly the equivalent of a minor in computer science.

I also added Thomas Sterner’s “The practicing Mind” to the “meta” stack on the right. Sterner’s book read like a version of “The Art of Learning” that had been stripped of most of the biographical content. They complement one another nicely with their similar content, presentation, and style.

The rest of May is going to finishing the CompTIA A+ book and prepping for the Electronics module. I’m also toying with the idea of continuing to study my CompTIA material lightly in the background after the Computing module is done. Stay tuned!

Profundis: Two Serpents Rise

Caleb Altemoc is an associate risk manager at Red King Consolidated, a Craft firm overseen by a powerful, undead skeletal sorcerer. When a demonic infestation in Bright Mirror reservoir threatens the water supply of Dresediel Lex Caleb is sent in to investigate. There he encounters a mysterious woman named Mal, and his pursuit of her brings him face-to-face with power-mad witches, murdered deities, twisting plans laid thick through the years, and his own tortured past as the son of Temoc, known fugitive and the last Eagle Knight of the old Gods. Beneath it all things vast enough to tear the world asunder begin to stir.

The twin snakes Aquel and Achal have been asleep for generations. And they appear to be waking…

“Two Serpents Rise” is the second installment of Max Gladstone’s “The Craft Sequence”. It follows in the same enchanting mold as “Two Parts Dead”, wherein the forces of technology and economics are analogized as magical processes.

Desalinization is accomplished not with pumps and membranes but by running salt water through the body of the God Qet Sealord. Contracts are magically binding things and running water is paid for with bits of soulstuff.

Besides making for compelling fiction in the “urban fantasy” genre this transmogrification forces us to confront how little of our own world we really understand. The kind of high-finance trickery that set the global economy reeling in 2008 might as well be magic for all I understand it. But quotidian examples illustrate the point just as well: I doubt many people could give more than a cursory explanation of how an internal combustion engine, an air conditioner, and a desktop computer work.

The fact that we are privileged enough to be this ignorant is by and large a good thing as it facilitates one of the greatest drivers of material progress in the history of Earth: the division of labor. But it can also be a little unsettling. How much of our collective lives depend upon the operation of machinery completely unseen to us? How stable is the infrastructure upon which our world rests? If it breaks, how many of us could fix it, or even be able to comprehend a solution if one were given to us?

“Two Serpents Rise” is a more mature book than its predecessor, both in its literary expressiveness and in the depth to which it explores themes of alienation, the tension between tradition and progress, and what it means to live in a world filled with things far more powerful than any one individual. I highly recommend it, and have already ordered the rest of his books.

The STEMpunk Project: How Computers Work, I

Because I didn’t have time to do all the coding implementations while reading “The Elements of Computing Systems” by Nisan and Schocken, I wanted to test my understanding of the material by typing up an explanation of how a simple high-level program makes it to binary in the computer built in the book[1]. Posting it here will allow anyone with actual expertise to critique it if they so choose.

I have also produced a fictionalized version of this essay called “The Emperor’s Garden“, in which a young Chinese girl is chosen for the task of running a spell from one end of a garden to another, passing through various abstraction layers which correspond to those found in actual computers.

So let’s say we have an extremely simple program written in .js:

for (var i = 0; i < 10; i++){
    return (i * 2);

We’re going to gloss over the function of the OS and instead skip straight to the translation process, which can be divided up into the compilation, virtual machine implementation, and assembler layers.

First, during syntax analysis the example code will be converted into a series of terminals, or language primitives like ‘for’ and ‘(‘. Whenever a non-terminal like a variable is encountered the process works recursively until a terminal is reached. The result is a token stream of atomized input characters which can be read by a recursive descent parser to yield a parse tree.

In the code generation stage, which together with syntax analysis makes up the compilation[2] layer, the parse tree is converted into a series of commands for a virtual machine implementation. These consist mostly of elementary operations to be performed by a stack data structure. The code might, for example, push instructions from a certain location in memory onto the top of the stack, have the stack perform a calculation on them, and then pop the results off the stack so they can be shuttled back into memory.

From there a program called the VM translator changes the VM code into Assembly. Assembly languages come in symbolic and binary flavors, with the symbolic versions allowing for the use of terms like ADD instead of the binary equivalent. This is useful to human programmers who happen to be programming in or reading Assembly.

At this layer we’re only one step above machine language, i.e. binary. A program called an Assembler takes the Assembly code and changes it into machine language, which consists of instructions for manipulating memory and registers, as well as for performing calculations on binary data. In our example program we would need a memory location for the variable, and register locations to store the intermediate and changing value of i as the CPU iterates through the for loop calculations.

With that we have gone all the way from javascript to 1’s and 0’s!

It’s worth pausing and reflecting on how amazing it is that human beings have invented all this and gotten it to work together almost seamlessly. More than anything else, The STEMpunk Project has begun to give me a deeper appreciation for the magnificent inner workings of the technology powering modern civilization.


[1] It’s important for me to specify that this essay only covers the computer built in “The Elements of Computing Systems”, which by design is extremely simple. There are many topics, like the difference between compiled and interpreted languages, which I haven’t discussed.

[2] From what I’ve read “Compilation” can have two meanings. Either it can mean the entire process of translating a high-level program into binary, or it can refer to the combination of syntax analysis and code generation at the very beginning of this translation process. Here, I’ve chosen to use the latter interpretation.