Some twilight Americana

My alma mater-turned-employer Earlham College has a back-campus area with some trails and buildings, and it’s where I usually go to exercise. I took a long walk yesterday evening to savor the first day of cooler weather here, and I took a few photos there (iPhone 7 camera). These are some of my favorites.

Moon code

I’m one institution removed from the person who – with her team – developed the software that took us to the moon fifty years ago.

NASA photo

Margaret Hamilton is an Earlham alum (class of 1958) who wrote much of the code for the Apollo missions, coined the term “software engineering”, and a lot more. If you’re uninitiated, check out her Wikipedia page.

I’d note that she’s had an incredible career since the photo was taken, so I mean to use it only for its connection to the events we’re celebrating today, not as an encapsulation of an entire career or life.

If you’re interested, the Apollo 11 guidance code is here. You’ll see Hamilton in the “Attribution” section.

Happy Moon Landing Day, friends.

T minus 2 hours 24 minutes

The Iceland crew departs at 1500 today.

They’ve been sent away with a lot of field gear (which I don’t know much about), along with a laptop stuffed with a virtual machine (which I know quite a lot about) running a loose collection of services they depend on when gathering scientific data in the field but don’t have Internet – like when they’re out on a big damn glacier.

In theory, it’s a great use of virtualization. In practice, I’m confident about it, but we’ll soon have a lot more clarity. At the least, we’ll gather a lot of new data about the plus/minuses of the approach.

Ground control for the Iceland expedition

I’m not going to Iceland with the Earlham field science people this week –

For context, every year, the Earlham CS Department plays a major role in the Icelandic field studies program, in which a group of students go out and gather data on/near a glacier in Iceland for about three weeks. They do multidisciplinary research that equips students to work on big problems in areas spanning climate change, genome sequencing, and more. Over the years they’ve developed the data model, protocols, plans, schedules, and educational process to make it as effective – and inclusive of newcomers – as possible.

– but I will be around Earlham for the three weeks they’re gone, and a lot of what I do right now revolves around supporting their efforts.

My contributions fall into two major categories. One is helping set up and configure a computational environment that can support their needs when they’re on a glacier with minimal access to the global Internet. That includes a de-facto centralized source code lab, support for OpenDroneMap, and fully-functional databases, all managed in a virtual server.

My other area of focus is – to me – the more intellectually and creatively fulfilling of the two: I’ve become a contributor to the software stack they use to gather their datasets. There are several components, and I (along with dozens of other people) have worked on all of them:

  • Arduino platforms with sensors to collect the samples – samples of elevation, or air quality, or soil…
  • a PostgreSQL database on the server side to store the data according to the data model we’ve developed
  • an Android app to provide the interface between the platforms, database, and user
  • a web interface to display data points on a map for QA purposes

Working on these earned me the informal title, bestowed by a colleague, of “Full-Stack Field Science Developer”.

To me, this is one of the gems of Earlham College. I’m going to share more about it here as we continue working on it.

A brief salute to knowledge aggregation

I deleted my Reddit account after only a few months because it was an attention sink that returned little value to me over time, but (anecdotally) I still find the site extremely useful as a repository of the aggregated knowledge of groups of people with specific interests.

Example: Today I wanted to do a little simple video editing, and I tried three different commonly recommended free video editing software tools. For various reasons none worked, and I didn’t like the interfaces anyway.

A Google search took me to a page on /r/Filmmakers with two free filmmaker-oriented software options, and the one I tried (HitFilm Express) worked instantly. I may still try something else, but this instantly relieved some frustration and let me get to work on the project I actually cared about rather than continuing to try unfamiliar programs all day.

This fulfills one of the central promises of the Internet: facilitating the aggregation of knowledge from people or groups who really have that knowledge, so that people can learn and do more than we could before. I don’t need a Reddit account anymore (though I would happily create another one and just not subscribe to any subreddits if they, e.g., made pages members-only), but for all their problems I’m glad such sites exist.

A hopeful 2019 preview

On the new year’s edition of Pod Save America, Ana Marie Cox used the language of “intentions” rather than “resolutions” to describe changes we’d like to make in the new year, so as to avoid risk of failure and discouragement. That’s how I understand this list: the intentions underlying a series of changes I want to make in 2019.

(Item 0, by the way, is to keep doing what’s working, such as succeeding at my job, enjoying great media and culture, and managing my money properly.)

  1. Improve my social life: I intend to make more friends, spend more time interacting with current friends, and get better at interacting with people I don’t know.
  2. Create more: I intend to do more writing, shell scripts and maybe larger software projects, and dumb photo art.
  3. I intend to continue to train my developer and sysadmin skills, by way of (2) when possible.
  4. Finally I intend to improve my fitness: I’m about 75% of the way to what I’d like. I exercise a few times per week and my diet’s fine. The last stretch to get where I like will take some more work, but it’s a good way to get away from screens.

Happy New Year!

My 2018 in review

I know it’s filler for news orgs, but I like year in review #content, so here’s mine. This is the public portion of a basic internal self-audit I did this year and plan to do again next year.

Work

I successfully executed two large projects as a self-employed IT guy back in my hometown. I set up much of the networking and inventory for a convenience store in collaboration with a gas station technician, the clerks, and the owners. I also set up a two-building enterprise-grade hotel WiFi network in collaboration with management. I left a few other things unfinished when I changed jobs, including one big project for a neighbor, so I had to write refund checks and send some sincere apologies. Still, I’m mostly satisfied with the work I did.

That said, I’m pleased I’m now doing something else. I like my job at Earlham. I work with a group of talented students administering high-performance computing clusters and other campus-scale server systems – a phenomenal way to boost my experience and grow as a member of a community. I’m competent enough now in my technology skills to explore my prospects in software development or system administration after Earlham.

I’m starting out, so I’m experiencing many of the challenges of starting out – but it’s a good start.

Life

I moved!

When I graduated college in December 2016, I wasn’t sure what I wanted to do, and moving back home was my safety net (I’m fortunate that I had it). After over a year, that had to change. When a job opened at Earlham, I applied and was selected. I moved a few weeks later. Lifestyle, more than any factors in being self-employed, drove me to Earlham.

There’s plenty of criticism of the idea that changing your environment improves happiness over time. I take that point, but for me it has been an important step.

That said, I still don’t get out much socially, and that’s the next major change I need to make in my life.

Play

Like a lot of us, consuming culture takes up a lot of my leisure time. For details see my previous post!

Creativity probably goes in this category as well, and for that see my series on making things and why I think it’s important. I intend to share more creative work in the future.

Overall

After a year of stagnation (on net) in 2017, the year 2018 was a transitional year for me. It contained some important moments and provided a lot of clarity, though it was fundamentally about setup, not action.

I like that I took in a lot more culture, which I interpret as one way of participating in our shared experience as a society. I’m also satisfied having learned to run a business, moved, changed jobs, and succeeded at each of those steps. I have a sense of substantial progress over December of last year.

Thanks to the work done in 2018, it’s possible I’ll have a very good year in 2019. Shortly I’ll publish a post looking forward, discussing how I intend to make the most of next year.

My 2018 in culture and media

This was part of my upcoming year-in-review post. It got too long so I spun it off. It’s possible to consume a lot of media in a year.

(Assume links are not safe for work – I haven’t vetted all of them recently.)

Reading

The big one was Robert Caro’s The Power Broker, his stunning doorstopper about Bob Moses, which I spent months reading on and off in 2017 and 2018 before finishing. I love long books and this is a good example of a book that absolutely had to be long in order to capture the story and its central character. In addition, I read and enjoyed two Vonnegut novels (God Bless You, Mr. Rosewater and Cat’s Cradle) and Maureen Johnson’s young adult mystery Truly Devious.

I also read for professional growth. I reread Cal Newport’s Deep Work, which I consider the definitive book about how to do creative or technical work. I also read Peak: Secrets from the New Science of Expertise by Anders Ericsson and Robert Pool, which covers similar themes.

I spent way more time reading articles than reading books, which is typical for me. Rather than share all of them, here are some favorite articles on politics, pop culture, and tech in the past year:

In the new year I’d like to shift my balance of reading in favor of books and away from articles, but that’s not my top priority so it may not happen.

Podcasts

If the book list was too short, this one is probably too long. I swap out podcasts relatively often based on mood and interest, but here are some highlights:

Movies and TV watched

I started a classic film kick around a year ago. I’ve started with big-name classics. I was joined midway through the year by the excellent Unspooled podcast, got my heart broken by the loss of Filmstruck (I’m likely to subscribe to the Criterion Channel soon!), and came to love film and the art of film. In order to not forget, I’ve built a spreadsheet of everything I’ve seen. I’m tempted to write some movie reviews and whatnot.

Here are some movies I watched for the first time this year and especially liked – spanning genres, tones, etc. Not all fall into that “classic film” category, but as I don’t see many movies in theaters most are from before 2018. The list is roughly in the order I watched them, not a ranking:

  • Citizen Kane
  • Love, Simon
  • Treasure of the Sierra Madre
  • Titanic
  • O.J.: Made in America
  • Bride of Frankenstein
  • Little Shop of Horrors
  • Quiz Show
  • The Iron Giant
  • Duck Soup
  • Bohemian Rhapsody

(Note: “here’s a list of movies I like” is a good opportunity to not tell me why I should hate them instead. 🙂 )

For film YouTube I like:

Each of those links goes to one of my favorite of their videos.

For television, my highlights were Breaking Bad (another great opportunity: don’t tell me I should have seen this much sooner!), The Flash, and Queer Eye.

Gaming

I played through all of the Kingdom Hearts series this year, my first sustained gaming experience since the Banjo series I loved as a kid. And KH is great! Looking forward with everyone else to the release of Kingdom Hearts 3 in a few weeks. For a completely different experience but one that makes use of a greater range of the capabilities of the PS4, check out Horizon Zero Dawn.

Coda: More stuff

This doesn’t really belong anywhere but it’s all stuff I liked.

POST-SCRIPT: While compiling this post I noticed a need to diversify my sources next year. Fortunately, a nice thing about the Internet is I know I can find a lot of great content by creators of color, women, etc.

Generate an idea list

It’s been a while since I had a side project going, so I’ve been itching do to something creative. But I’ve been in the developer’s equivalent of writer’s block for a while, hung up on a lack of ideas or at least a lack of good ideas.

I think I’ve now replenished the idea supply, thanks to this exercise.

I spent a few hours tonight generating 101 ideas for software projects. Half or more of them will never become anything. A few are absolute garbage. A bunch of them might be good afternoon projects, possibly worth sharing, but aren’t especially inspired.

A few seem actually good, and they’re what the exercise is all about.

If you’re in a creative rut, especially if (like me) you’re fairly young or early in your career, I highly recommend this.

Here’s how I did it:

  • Pick a number, let’s say N. I picked N=101 because it’s (in this context) a big number that would be a stretch. I also like that it’s JUST over 100, so your 100th isn’t a complete fluke.
  • Open a notes app, spreadsheet, word processor, text file with line counters, dead-tree notepad, etc.
  • Start writing your list of N items.
  • Fill the list in one sitting exactly, if at all possible. (You can always revisit this!)
  • Put it down afterward. I just finished mine and don’t intend to look it over until at least tomorrow. I want to see it with fresh eyes to choose the best prospects.

I suggest these criteria for whether to add an idea to the list:

  • Be specific…: An item should be a short but complete description of a project. One sentence or phrase is enough if it tells you everything you need to know.
  • … but vague enough: Stay away from describing programming languages, environments, web servers, etc. – those questions can come if you decide a project is worth actually implementing.
  • Make the project scope appropriate for team size: I was thinking up individual side projects, so I wanted ideas I could implement on my own using mostly the Internet for external information. A group/team/company project would be different.
  • Otherwise reserve judgment: If you must, add a parenthetical statement afterward on the problem (e.g., a few of my ideas raised concerns about copyright, but I added them anyway because as a technical matter they would be doable). You can also bold an idea you feel especially good about in the moment. If possible don’t get any more judgy than that.
  • It can be based on something you’ve seen, but modify it and be mindful of law and ethics: Inspiration is inevitable, especially at the idea stage. Be sure to make it your own, though, or it’s not much of an “idea”. Worry about copyright, terms of use, etc., if you ever consider publishing or distributing what you make. For now, add the idea if you think it would work for you given your context and purpose.

Fundamentally, this is about quantity not quality.

This is my first time doing such an exercise in the context of software, so by all means change the rules to whatever works for you. These worked for me, though, so I suspect they may work for others.

A final cautionary note: I worked alone, and I suspect I would have created a totally different list working in a group (i.e. brainstorming). Your mileage may vary there.

Categories of helpfulness

A math professor once mentioned to a group of students and faculty, among whom was me, that you can be any of the following:

  • Helpful!
  • Unhelpful.
  • Anti-helpful.

You may not fall into the first category all the time.

But try above all else to stay out of the third.