Goodbye Pelican, Hello WordPress!

First of all, sorry for all of those who came here through Google, and were redirected to the homepage. I tried my best to preserve URLs but I couldn’t figure out a great way to do that.

For recurring readers, you may have noticed the site has changed. That’s because this blog is now powered by WordPress!

I’m generally not a fan of heavy-handed systems, but the user experience eventually convinced me this was the right route. I’m now using WordPress, and even the paid edition.

Why I chose WordPress

WordPress as a platform provides a lot of tools to simplify the blog authoring experience. With Pelican, my blog writing experience was the following:

  1. Create a new file in restructured text, add some boilerplate
  2. adding images requires copying the image to the images/ directory, then adding the image link by hand into the file.
  3. re-rendering the post over and over again.
  4. calling the execute script, which handles publishing the files to Github.

The disadvantages of the platform were:

  1. The iteration was slow, including the ability to quickly add and manipulate images.
  2. The experience was on desktop only, and Git to boot, so I had to have enough time to clone (or pull or push) a git repository and fire up a text editor. Not great for just jotting down a quick note.

WordPress reduces this whole process, and support both mobile and desktop:

  1. Create a new post in the UI
  2. Add images by just selecting the file. I can do basic modifications like crop and rotate directly in wordpress.
  3. click “publish”

Overall, the reduced friction has let me write posts more frequently, as well as use it as a bed for notes in the meantime.

There are also other benefits:

  • several themes available so I can quickly style.
  • mobile app
  • SEO friendly

And probably features I’m sure to discover as well.

So, welcome to my new WordPress blog!

My Bullet Journal Setup

In march of 2019, I read The Bullet Journal Method: Track the Past, Order the Present, Design the Future by Ryder Carroll. In the book, Ryder discusses his process of using journaling to help focus one’s life. After reading the book, I took up the practice as well, taking a fair bit of liberty on the process. I’ll talk about my review of the book, as well as the process I arrived at.

Review of the Book

As is the case with many self-help books, this one could have been shorter. But having stories helps illustrate the major lessons, and helps embed the ideas in our minds.

The main philosophy of bullet journaling comes down to two techniques: jotting down notes to help one recall the important events, and periodically reviewing those notes to reflect and re-focus on what’s valuable.

Bullet Journaling does this by creating several reoccurring situations where one should review the notes and aggregate them. By re-writing the same notes over and over again as you aggregate them over to weekly or monthly summaries, the writer will eventually remove the ones that are unimportant, as it’s time consuming to copy over notes or to-dos.

The notes themselves are flexible and are allowed to contain a combination of to-dos, life events, and thoughts. One should annotate these different types with a different symbol.

I think skimming is enough to get enough context to reproduce or try the system out for yourself. You may want to read the whole book if you find that the system isn’t helping you in the way you want it.

My Bullet Journal Learnings and Setup

My Notes

When I started bullet journaling, I was faithfully following the system as prescribed. Eventually, I’ve landed on the following system:

  • 1 page at the beginning of the book for the big life goals
  • 1 page at the beginning of the book for to-do at some point in the future (that year)
  • 1-2 sheets for a giant to-do list to accomplish within the duration of the notebook
  • 1-2 sheets for a giant to-do list for the week
    • One category for work
    • One category for home / personal
  • 1-2 sheets per day
    • Instead of taking short notes, my notes are detailed, and usually span one or two sentences per event.
  • A few note categories including:
    • to-do (a dot that I cross out with an X when done, or a > when I need to push it out to the future)
    • event (a triangle)
  • Most notes generally have a number on the left-hand column that documents the amount of time I spent on the task (60m, 90m, 2h)

Here’s some more context on why I landed on this approach.

1 life goal page, 2 future pages, and 2 book pages

This is pretty identical with what the Bullet Journal method recommends.

1 life goal page with 3-4 goals of what to focus on broadly really does help keep me focused. It’s helpful to see that as the first page I flip to every time I open the journal. For 2019, this has helped me keep a much sharper focus on learning guitar and piano better, as well as improving my Japanese. Previously, I’d find myself wandering to whatever project was at the top of my mind at the time, which helps me feel productive short-term, but doesn’t align with what I really want to accomplish.

2 future pages works well just to document cool ideas or smaller projects in the future. For me, this includes conferences I’d like to speak at, activities like search and rescue, and interesting software projects. On the downside, I really don’t do anything here except for add to the list, which at some point will probably expand over 2 pages. But maybe that’s a good reason to cull it.

2 book pages documents tasks I should complete within the duration of the book. This section has generally gone unfinished, as my weekly to-do list is already too long for me to accomplish. But once in a while I will pull from this list and move it to my weekly list. Professionally, this has helped remind me what long-term projects I own and should deliver on. Examples for me in this section include driving a revamped interview process at work, or investigating the value of further investment in a tool my team owns.

Weekly to-do list

My weekly to-do list and my daily updates are the sections I refer to the most. The weekly list has been very helpful, especially professionally. As a manager, I’m often asked to own a bunch of fairly random projects and to-dos, where I needed some sort of project management just for my own day-to-day. Bullet journaling provides just enough organization to help me keep track of those action items, and keeps me focused on those before working on others.

My weekly ritual consists of copying those over, as well as aggregating to-dos left over from the individual days. A lot of my to-dos are small, and I typically clear them out the following Monday.

Having a to-do for the week personally has also been valuable. Again, the primary value there is to have a queue of projects so I can finish one before moving on, instead of just moving to a different project because it’s at the top of my head. It also helps to have a list of projects, as I typically only have 1-2 hours of free time a day. Often that free time will be spent on browsing the internet or watching TV unless I dive into an activity within 5-10 minutes of it starting (right after my kids go to bed).

Examples of what I put in this section include:

  • setup a meeting with so-and-so team on project X
  • personal: author a svn server setup using terraform
  • personal: fix a bug with X

Daily Notes

My daily notes are probably what differs the most from the standard bullet journal.

Using full paragraphs in the daily notes

One major difference: Every bullet is a 1-2 sentence paragraph, rather than a concise one liner.

I started with the one-liner, but found when reviewing a month or two later, I had very little idea what that note even pertained to. One major aspect that attracted me to bullet journaling was a written log where I can recall exactly where my time went to that day. This is generally useless to me if I can’t recall why that was important, what the impact of the event was, or my thoughts at the time on it.

Breaking that rule has made my bullet journaling much more time-consuming: it takes me 15-20 minutes of the day across the day to write down my full notes. But the benefit has been significant: I’m able to recall very specific milestones my kids achieved, remember important details in my discussions, and remember why a task was important, even six months down the line. Certainly worth taking time out of my day to enjoy these memories years from now.

Writing down the time a task took

One other difference (or slight alteration) is writing down the amount of time each event took. I do this by writing down the explicit amount on completion of the task.

No page numbers

One minor difference is I don’t write down page numbers. I’ve found little to no value in having them. There’s a technique in bullet journaling to extend sections by adding random pages in the book, and keeping track of these sections by writing down all the pages in a table of contents in the beginning, but I’ve found I’ve almost never had the need to extend a section. Instead, I’ll pre-allocate an extra page, and just suffer the random empty page if I over-allocate.

Journal and Writing Utensils

I’ve experimented with a few different types of notebooks and writing utensils. I’ve currently settled on:

Below I have some detailed thoughts.

Notebook Size

I wanted a notebook size that was fairly portable: I don’t always carry a bag with me, and it’s very inconvenient to always have one of your hands full with a notebook. If I don’t have the notebook with me at all times, I won’t be able to take notes or jot down thoughts at that precise moment.

After trying some larger and smaller sizes, I settled on the pocket format (3.5 by 5.5 inches), as many companies produce notebooks at that size. I originally wanted to standardize on A6 but it’s harder to find variants with a smaller page count. Anything smaller than the pocket size results in a day’s notes taking several pages.

Once I decided on the format, the next factor was page count. I’ve found with detailed notes a day can consume 2 pages. As the majority of pocket notebooks (such as field notes) are 48 pages (24 sheets), I would find myself going through a notebook every couple of weeks. This was a lot of work to rewrite the same front 5 pages over and over again. I was looking to rotate my books at most once a month, so I landed on the Moleskine Cahier, which has 64 pages.

Grid for Notebook Lines

For the line format, most journals offer plain, lined, grid, or dotted. I don’t have a strong preference between the three, but most notebook manufacturers have a much smaller grid than lines, which works well with my smaller handwriting.

This also motivated the decision for the cahier above: I would have preferred more pages (such as with the Moleskine volant) but they did not have a grid option, and the lines are quite large.

Pen: Something Waterproof and Fine

As my notebook side is quite small, I wanted a way to fit as much content on a page as possible. A part of that means choosing smaller lines, which means choosing a finer pen to ensure that what you write is legible.

I looked for the finest pens on Amazon, and tried a few out. I landed on the Pilot G-Tec-C as it provides very fine, clear lines. For a while I tried the Steadler fineliner (0.3mm width). It was working well, but I decided against using it further when I accidentally dropped my bullet journal in my bathtub, and all the pages written with the fineliner was completely illegible. The Pilot G-Tec-C pages were fine.

Here’s a few photos to help you understand the horror:

Pages written with the Steadler fineliner
Wet notebook with the G-Tec-C Pen

Summary and Final Thoughts

Overall this has been a life-changing book and practice for me: I’m a lot more focused on what I actually want to do, and It’s helping me recall some truly precious moments in my life.

The vanilla bullet journaling did not work well for me due to it’s terseness, so there’s definitely a need to customize to suit your needs and desires. And it’s good that Carroll calls that out in his book.

And as a finishing note, here’s a photo of 9 months of my bullet journals, bundled up, and summarizing my 2019 year.

My New Dev Laptop: The HP Spectre X360

The Macbook Pro has been a staple of my time as a software developer: it was my desktop replacement and I used it at work and at home. I’ve used Macbook Pros constantly since 2008.

Last year I went on the hunt for a replacement, and landed on the HP Spectre x360. Here’s my setup, and why I chose that over alternatives.

Conclusion: My Setup

Here’s the setup I run now:

Here’s a picture:

dav

The Why

The Portability of 13 Inches and 1 Pound

I’ve owned many 15″ laptops, and a 17″ back in 2008. With the 17″ it was just a question of how soon my back would be hunched forever, but even with the 15″ the portability became a minor, but significant issue. I would often find myself in situations where space is limited, such as the bus or on a plane, and get into bizarre positions just to have enough space to type and see the screen. For my next laptop, I knew I wanted something truly portable, that would ensure a comfortable experience even in space-constrained situations.

The 13″ size and weight has been great: I can easily hold my laptop with one hand, and it’s my made backpack noticeably lighter. Despite the 4k display, it’s really hard to take full advantage of that with a 13″ screen, but I can get 3 columns of text windows side by side and read them without strain.

Driving 4k Displays

Despite being a super thin, lightweight laptop, the HP Spectre can handle high resolution displays. I’ve been able to drive 3 4k displays (using the dock) at 60 frames per second. It cannot run 3D games with any reasonable performance, but it can render 2 Atom text editors and a web browser window without issue.

USB-C Charging

Being one of the first real charging technologies that’s portable across laptop vendors, USB-C charging was a must. It has enabled me to bring a single charger for both my laptop and my phone, and even allowed for battery packs that can completely charge my HP Spectre on the road.

Linux

OSX has been decent, but as someone who has a highly specialized UI setup in Linux, the experience didn’t compare. I want to never leave the keyboard, using tiling window managers to easily navigate editors and windows, and remove rarely used UI elements. It’s really difficult to get that setup in OSX. OSX is tightly coupled with it’s default window manager, and the best you can do is something that manipulates said windows for you like Amethyst (given the limitations, Amethyst does an amazing job. I don’t believe anyone could do much better than the experience Amethyst provided).

The most frustrating issues stem from not being able to fix problems yourself. Closed source and limited pluggability mean twiddling thumbs and asking desperately for updates. For example, High Sierra had a bug where closing a Macbook pro connected to a thunderbolt dock, then removing the thunderbolt port, caused the screen to not come back. With Linux, I could find a fix and apply it.

Price

Apple is a premium brand, and it shows in their price. High-spec Macbooks run in the 2000+ price range. Meanwhile, a refurbished HP Spectre with a 4k display, 16GB ram, and I7 Quad Core can be had for $1000 USD.

The Cons

I think it’s fair to note some of the places where I’ve had issues, or a less than ideal experience.

CPU in high-load situations

When I’m attempting to run Atom in an IDE-like environment (e.g. running the Rust language server), there’s a noticeable delay compared to my desktop. It’s rarely an issue, but it does make me lean toward working on my desktop at home.

This probably will not differ from other laptops this generation, as the I7-8550u is a very popular model, and has been used in almost every high-end laptop that focuses on size.

Bonus: Thunderbolt Dock Talk

Thunderbolt promises to be a spec that allows for a lot more interoperability between docks and laptops, since it’s effectively a glorified PCIE port. However, the reality is a lot of the functionality of the dock is powered by the laptop itself: if your graphics card cannot run the resolution, your dock will not always help you.

Some docks use a technology known as DisplayLink, which is effectively embedding the graphics card in the dock and communicating through USB. I personally have not tried this, but reviews have noted that the latency of the DisplayLink setup is noticeable.

The dock I linked above exposes two ports for attaching displays: one DisplayPort and one USB-C. I can hook up one display to each, each at a 4k resolution.

Thunderbolt docks also require approving and authenticating the dock, due to the Thunderbolt protocol allowing direct access to hardware. Any operating system you run will need to support authenticating and approving such devices. Linux distros can use the thunderbolt userspace tooling. Arch and Ubuntu provide packages to download and use them.