I feel like I’ve been editing and formatting this Excel budget spreadsheet since the beginning of time.
When I woke up today, the TestFlight version of the app I’ve been working on all week didn’t work at all for some reason. Hastily, I rejected the Developer Build in iTunes Connect, so it wouldn’t go out to customers. Rebooting my iPhone reboot fixed all the problems, though.
I submitted a new SwiftoDo build to the App Store for a “Bug Fixes and Performance Improvements” update. Now I can move on to more important things.
The performance enhancements I coded for SwiftoDo this week required me to replace some clean, clever code with some far less clever, but far more performant, code. All the unit tests pass, and scrolling is smoother, so I guess it’s an OK trade-off.
📚 Ready Player One
I just finished Ready Player One by Ernest Cline. It was light and enjoyable the whole way through. I’m not sure just how much I liked it, as reading it was a little like watching somebody else play video games, which is not really my thing, but I did like it. I’m glad the author addressed the isolation of all the main characters in real life, at least a little. It could have had more depth in that area, but that might have diminished its charm.
The dining room is looking better now, too. I can’t believe we didn’t put anything up on that wall for 7 years.
Plaintext Productivity: Still productive after all these years
I am still using the Plaintext Productivity system that I wrote about in 2013. It is a productivity system, based primarily on plaintext files, for Microsoft Windows users. Since I published a few people have asked me to write an update to Plaintext Productivity. The fact is, the system has held up so well for me that I really don’t have any updates to report.
One reason my system remains pretty much the same as it was in 2013 is that the operating system it is based on, Windows, despite some cosmetic changes, remains pretty much the same as it was in 2013. Sure, it got a better UI when Windows 10 supplanted Windows 7 and 8, but Windows still works just as well and just as poorly. Another pillar of the system, Sublime Text, also had a design change recently, to display more crisply on high-DPI screens, but it, too, works pretty much the same as it did in 2013.
A little bit of history
I developed my Plaintext Productivity system slowly over the years, as a result of the limitations I faced on my relatively locked down work computers, and my frustration with third party productivity apps going out of business and disappearing over the years. Gradually, I stripped down my productivity system to a great text editor and a todo.txt-format task list (with a good client), with some clever ideas about using a journal for planning, and for managing files.Because I was stuck on Windows, an operating system I did not particular like, I had to make do with built-in functionality, portable apps that I could sneak onto my system, and a universal file format: plaintext. Even this was challenging. Windows, for all it’s ubiquity, has a dearth of good third party (non-Microsoft) software for it. There is a lot of crapware in the Windows Store, several world class apps from Adobe that everyone knows about, and not that much in between. Macintosh, iOS, and to a far lesser extent, Android, have attracted the attention on small, boutique publishers and indie developers who have contributed great plaintext-based apps. Like me.
Notes and drafts
I still firmly believe in writing lots of notes and drafts to help document thoughts as well as meetings. I draft emails, write planning documents, write out procedures for work I have to repeat, and so on. I also keep a work journal every day (well, I’m not perfect about writing it every single day, but I try). At the start of each workday, I write a short journal post to plan my top activities for the day. At the end of each workday, I wrote an even shorter journal entry to help remind me where I left things, which sets me up for the next day. I set up calendar entries to remind me to do these journal entries. These activities help keep me, a person who works remotely and alone, organized, engaged with my work, and on task throughout the day.My text editor
Sublime Text is still my favorite Windows text editor. It is even better than when I first bought it, over five years ago, and it was worth every penny. I love that it is lean, fast, flexible, and handles both my short notes and huge data files with aplomb. Its plugin system makes it a serviceable Markdown editor. I have syntax highlighting for Markdown, HTML, todo.txt, TaskPaper, and the various programming languages I use at work: ACL scripts (which I created myself), SQL, C#, VBScript, and Python (and there are far more available).Best of all, in my opinion, are its numerous, well-defined keyboard shortcuts for shifting lines around, selecting words, selecting whole lines, deleting whole lines, and so on. Its support for multiple text selection and multiple cursors makes certain quick edits, like making a bunch of lines a bullet list in Markdown, a snap; it’s actually kind of mind blowing when you get used to it. Lastly, I=its find and replace functionality is incredibly powerful as well, considering it supports regular expressions.
I have found no compelling reason to switch it out for a newer, shiner app—which is the whole point of having a simple productivity system in the first place.
I should say, though, that I do use Editorial or Ulysses on my iPad as a sidekick text editor quite frequently. I started to do so for a non-software related reason: my work machine’s mechanical keyboard is so loud that it bothers people on conference calls, while my iPad’s keyboard—the Apple Magic Keyboard—is so quiet that my phone does not pick it up. Those iOS apps are fantastic, but they are not vital to my Plaintext Productivity system.
My task list
I still use todo.txt for my work task list. Since I wrote Plaintext Productivity, I contributed a ton of patches to my favorite Windows todo.txt app: todotxt.net. I contributed multiple task selection and editing, and a lot of other things. I went on to write Mac and iOS todo.txt apps, SwiftoDo Desktop and SwiftoDo for iOS. I tend to use SwiftoDo for iOS most of the time, and revert to todotxt.net only when I don’t want to context-switch away from my PC to my iPad or iPhone. My todo.txt file is synced via Dropbox between all these apps, so it doesn’t really matter which app I use at any given moment.Todo.txt is the best system for me because my work, and my GTD-inspired way of looking at my work, tends to present itself as a large number of tasks that get picked up, dropped, and re-prioritized frequently. I have started to dabble with TaskPaper for some of my planning needs, either in my daily work journaling, or when I have a self-directed project to plan, such as drafting a proposal or creating a software-based audit tool. TaskPaper is interesting, but I do too much sorting and filtering of tasks throughout the day for it to supplant todo.txt as my main task list system.
I don’t keep track of every task in my life in todo.txt, however. I prefer to keep my personal tasks separate from my work ones, mainly because I find having them commingled with work tasks distracts me from my work. Therefore, I keep my personal tasks in Reminders, which has had solid Siri support and cross-Apple-device syncing since 2011, and has only gotten better since then. I have changed a lot about how I managed non-work tasks since 2013, but those fall outside my Plaintext Productivity system.
Filing and searching
I still use the same filing system, too, and have been consistently happy with it. While I believe that you should rely on search rather than elaborate folder structures for finding what you need to, Windows Search still is not great. Despite its weaknesses, and the frustrations those weaknesses sometimes cause, I still get by with it.Hardware and other things
I also wrote about hardware and other things in Plaintext Productivity. Since 2013, I have had the fortune to upgrade my keyboard to a 87-key mechanical keyboard with Cherry MX Blue switches. I really like the clicky-clacky keyboard switches and the keyboard’s smaller size, which I credit with helping eliminate repetitive stress injuries in my wrists. I also made things easier on my eyes by upgrading my display from two 1080p monitors to one, much bigger, 4K display. Crisper text has reduced eyestrain and has made me much happier, though Windows has had, and still has, awful and inconsistent high-DPI support. I don’t miss having two screens at all, actually. I can tile two to four windows on screen, and use the virtual desktop feature that premiered in Windows 10, to get most of the benefits that multiple monitors afforded me in the past.The future of plaintext productivity
I have never used the same productivity system for so long. It has been solid and reliable for me for years now, and required no real tweaks worth mentioning when upgrading from Windows XP to Windows 7 to Windows 10. I see no obvious need to replace or upgrade my system in the near future, either. Maybe someday, when everything is in virtual reality or something—but maybe not even then.If you are interested in streamlining your Windows workflows, and discovering a productivity system that really lasts, I encourage you to check out my Plaintext Productivity guide.
For Micro Monday, I want to recommend @gio. I love his photos of New Jersey locales. I’m from Jersey,too.
I am righting the ship, compared to this morning. I scrapped my C# solution and started fresh. I won’t be happy with it until I’ve coded the entire thing. Maybe not even then.
I am getting that sinking feeling again that I have overthought everything. I get this a lot while coding, especially because my work-related coding should be time efficient above other considerations. That requirement often forces me to revert to simpler, less reusable code.
Instant Pot Salsa Chicken Recipe
I’m posting this for the benefit of Traci on Micro.blog.
This is a simple, lazy recipe for the Instant Pot. It isn’t entirely original, but it is extremely useful, and produces a result that everyone in my family will eat, which is no small feat.
I don’t measure anything. If I don’t have salsa, I dump in tomato sauce or even just water; the result is more bland, but still edible, and it can be shredded and mixed with barbecue sauce if desired. I make this in the morning or at lunchtime and let it stay on Warm for hours and hours until dinnertime. I find the taste of chicken thighs improves after a couple hours on the Instant Pot’s Warm setting.
Ingredients
- 6 chicken thighs
- 1 cup mild or medium salsa (eyeballed)
- 1/4 cup water (eyeballed)
- 2 large pinches kosher salt
- 2 tbsp olive oil
Directions
- Oil bottom of Instant Pot.
- Coat bottom of Instant Pot with 1 pinch of kosher salt.
- Add chicken thighs in one layer
- Season top of chicken thighs with 1 pinch of kosher salt.
- Cover with salsa. Add water if salsa is not very liquid.
- Lid the Instant Pot and cook under high pressure for 20 minutes.
- Allow pressure to release naturally. The Instant Pot will automatically switch to its Warm setting. Keep the chicken thighs on the Warm setting as long as you would like. The chicken tastes better after several hours on Warm.
Tonight I made my first commit to SwiftoDo since mid-December. I fell behind on development last month due to the holidays, travel, and spending a week or so of my normal coding time doing a C# project for work. Hopefully I am now getting back on track.
My wife and I took our 5 year old daughter to “Disney on Ice” this afternoon. She loved it. It was worth the trek out into the cold.
📺 My prediction for “The Good Place” series finale (which hopefully will be several years from now): The whole thing is Michael’s “Bad Place”. He’s the one being tortured. Holy forking shirt balls!
Here are my top three divergent punctuation preferences, compared to everybody I have ever worked with:
-
Always use the Oxford comma, for clarity and consistency.
-
Punctuation belongs outside quotation marks (British style).
It happened slowly, but preferred music playback device size and wire count have gone up for me over time. 2010: iPod Shuffle. 2017: iPad Air 2 & Oppo HA2-SE.
📺 My wife and I are really enjoying “The Great British Bake Off”, “The Marvelous Mrs. Mazel”, and “The Good Place” lately. It is still really hard to watch anything with a baby in the house, though.
Dear Apple Music: Just because I listened to Sixpence Non The Richer’s cover of “There She Goes” (originally by the La’s, and arguably about heroin, for goodness sake), doesn’t mean I want to listen to Christian music in all my personalized mixes. 🙄
So far the snowfall hasn’t been so bad—only a few inches so far. It is windy, though, and very cold. My daughter, home on a snow day, is watching “Frozen”, which is apt. I am turning my attention to hot tea and (less hot) database programming.
Picking a great writing font
One thing to do when you’re supposed to be writing is to fuss about your writing environment.
Not wasting time
Choosing the perfect writing font is a classic way to procrastinate—but it is not a waste of time. Fonts are important. A good font is not only highly legible, it also conveys a subliminal emotional effect on the reader. Naturally, it follows that it will also have similar effects on the writer. A good font will make you feel better while you are writing—maybe because you can read it more easily, or because you find elements of it, its curves or serifs, aesthetically pleasing. Whatever the reason, picking a font that is pleasing can have a profound effect on your writing.
What makes a good writing font?
For me, as a writer and programmer who began typing text on a computer in the 1980s, I gravitate toward monospaced fonts. Every character in a monospaced font has the same width. This is useful in programming or for data files, because, in those uses, you often want to align columns of text. It is not useful at all in typesetting books, of course; text laid out in monospace fonts looks primitive and wide-open. Primitive and wide-open, however, are perfect attributes for text that I am writing, breaking apart, moving around, and recombining. Writing in monospaced fonts is, on a subconscious level, freeing. It helps me feel like nothing in my text is set in stone.
Considerations
Whether the font is monospaced or proportional is only part of what is important. Other things matter, too: the shapes of the characters; whether they have serifs or not; whether some look identical to others (l vs. 1, or O vs. 0, for example); and so on.
Beyond that, some fonts render better on screen than others. For example, Verdana and Georgia were commissioned by Microsoft specifically to be look good, clear, and legible on screens, rather than on paper. This was revolutionary at the time, as was their free-to-use licensing. Consequently, these two fonts were adopted almost everywhere on the web for a while. Georgia is still one of the eight font options in Apple’s iBooks ebook reader.
Your particular display and operating system have a lot to do with what font looks good. In general, displays are much higher resolution and much higher quality now than when Verdana and Consolas were invented. As you might expect, this means that all all scalable fonts look better on modern, high-resolution displays. Still, some fonts will look much sharper than others on some displays. For example, on my Dell 27” 4K display for my work machine, a Windows 10 laptop, Consolas looks the best for the terminal and any coding I am doing, and Sax Mono looks better for writing actual documents. These fonts don’t offer similar advantages to me on my Mac or on iOS, however. They look fine, but they really pop for me on my work machine.
My favorite writing fonts over the years
There are tons of monospaced fonts available. Here are a handful that I have used over the years, with the platform I used them on in parentheses. I recommend trying them in your text editor, especially the newer ones listed at the bottom.
- Monaco (Mac)
- Menlo (Mac)
- Consolas (Windows)
- Source Code Pro (Windows)
- Droid Sans Mono (Windows, Android)
- Sax Mono (Windows)
- IBM’s Plex (Mac, iOS, Windows)
- iA Writer Duospace (Mac, iOS)
These are listed in the order in which I have adopted them. I tend to use only a few at a time, depending on which one looks best on my hardware and software at the moment. Below, I highlight two of my favorite, very much related, fonts for writing these days: Plex and iA Writer Duospace.
IBM’s Plex
IBM released Plex, an open source font that will be used in all of IBM’s published materials going forward, in late 2017. It isn’t the only open source font that’s free for anyone to download and use, but it is a really good one. Plex Mono, its monospaced variant, looks fantastic on my iPhone, iPad, and Mac. Its edges are crisp, and the stroke has a consistent width; it looks like the lines fit just right in the pixel grid that makes up the screen.
iA Writer Duospace
The iOS development company iA took IBM’s Plex Mono and tweaked it a little bit to make it even better, in their opinion, for writing. They kept the font monospaced except for M’s and W’s. It’s a pretty simple change, but a lot of thought went into it. iA Writer’s article about this process is absolutely fascinating—I highly recommend reading the whole thing.
The resultant font, iA Writer Duospace, looks great on my MacBook Pro. I prefer Plex Mono on my iPad and iPhone, though. There is something about the wider W and M that looks different in the two platforms. It could just be that my iOS screens are a lot smaller, and width is at a greater premium. It could also just be that I prefer my letters to line up vertically, especially when my text is constrained to a narrow column.
Perfect, for now
For now, I am very happy writing in Plex and iA Writer Duo on my Apple devices. I still happily use SaxMono and Consolas on the PC for writing notes and coding, though Plex Mono is starting to creep into use for my todo.txt file and in other places. Every year or two I look for something better, but I probably won’t change from these four main fonts until I get new hardware, which could change how everything is rendered, but that is probably a long way off.
I hope I set up mirroring to GitHub correctly. It is a geeky feature, for sure, but I’m not 100% sure if I set it up correctly.
We are bracing for a blizzard tonight, which is expected to snow us in all day tomorrow. School is canceled already. (Work isn’t.) I feel like it is a metaphor for what’s going on in my life right now. (Photo is historical.)