If it hurts, do it more often

I’ve been thinking that I should refresh my Surface Book, especially in light of the findings of Consumer Reports and Microsoft’s objections and my own freeze/dark screen problems, but I’ve been putting it off because it’s painful.

Reinstalling multiple applications, restoring my configurations, and retrieving my data all seem like big chores. Once I realized that, however, I reflected on one of the batch-size principles: if it hurts, do it more often.

So I started to look into automating the process and ran across an old, eye-opening series of blog posts about “Scripting the setup of a developer PC.”


Continue reading “If it hurts, do it more often”

If it hurts, do it more often

Writing legacy code and a few git commands

I’m having a blast learning Ruby and Rails right now.

I’m building a site as a learning exercise, but I decided to learn by building the Maintenance App that I previously wrote about.

I don’t believe that Ruby or Rails will be the way I want the app to run in the end, but it’s still a great learning exercise. Essentially, I’m writing “legacy code” now that will probably be replaced with a one-page JavaScript app. That will be another great learning experience, including how I maintain a set of automated tests through the transition and always have working software.

Here are also a few git commands that I’ve been using. I doubt that I’ll forget these anytime soon, but this might still be a handy reference for me in the future:

Reorient by getting the latest info from GitHub and looking at the branches and status I’m working with locally

git fetch
git branch
git status

Start a new feature branch and commit to it

git checkout -b feature_branch_name
git status
git commit -a -m "Describe changes made in committed changes"

Rebase before pushing to GitHub (to create or update a Pull Request)

git pull origin
git rebase origin/master
. . .
git add .
git rebase --continue
. . .
git push origin --force

Abort a rebase if I messed up

git rebase --abort

Wipe my local changes and go back to the feature branch on GitHub

git reset --hard origin/feature_branch_name

Closing out a feature branch after it has been merged in GitHub

git checkout master
git pull
git branch
git branch -d feature_branch_name
Writing legacy code and a few git commands

Artoo, Drag, Dead Code, and the Zeroth Constraint

Just a few web pages that I’ll probably come back to again later:

  • I’m trying my hand at scraping data out of a horribly formatted web page and reformatting it for attractive printing. So far I’m messing around with HTML parsing, using Python libraries and possibly artoo.js.
  • When I have a chance, I’m going to try optimizing JPEG files with Guetzli.
  • Some good reminders that executives don’t always have an easy time seeing things from the Agile or Lean point of view.
  • A cool idea if you need to make a point about bad code removed from a product: the big book of dead code.
  • While using the Theory of Constraints to coach an organization, “The Zeroth constraint is that the organisation do not see the coach as a close trusted advisor.”
  • Roman Pichler’s article on MVP vs. MMP came up at work and I’m thinking about more concrete ways to lay out what a Minimum Viable Product, Minimal Marketable Product, and some sort of Full Marketable Product look like.
  • AirTable looks intriguing, both for customized workflows but also, perhaps, personal kanban.
  • I have run into people with small (or even large) amounts of power within an organization who don’t seem to understand how hard it is for people with less power to speak up to them: the problem with saying, “my door is always open.”
  • I remember the PBJ instructions challenge from my childhood. Thinking about the ways instructions gloss over all of the steps involved can help you really grasp a user’s experience.
  • Someone I used to work with recommended that I check out Drag for managing my email. It does seem up my alley, at least if I wanted to address all of my personal email.
  • AgileCraft certainly says good things, and since I may get to try out their software at work, I hope their software matches what they say.
Artoo, Drag, Dead Code, and the Zeroth Constraint

Maintenance Reminder Android App

I want an Android app that will remind me to perform various maintenance activities. I have a few use cases:

  • Yearly (renew my vehicle registration)
  • 90 days after last action (replace house air filter)
  • Last weekday before the 16th (usually the 15th) each month (to submit my timesheet)
  • Same as the above, but for the end of the month.
  • Monday, every other week (tasks related to my two-week sprint schedule at work).
  • Every weekday, appears until I check it off (update a daily metric chart)
  • Three times each week (work out)

Some that I’m looking at:

  • Loop – Habit Tracker // doesn’t handle yearly reminders. Looks like it might be really nice for habit-building.
  • Habitica // doesn’t handle monthly actions. Again, looks like it might be really nice for habit-building.
  • BZ Reminder // Looks better, but can’t handle my every-other-week reminder, nor the monthly end-of-month.
  • Life Reminders // This is pretty impressive. The monthly+weekday-only criteria doesn’t seem possible, but monthly plus a day warning is. This is a contender.
  • Reminder // Does have quite as many options as Life Reminders, but it might be close enough that other features could make the difference.
  • Just Reminder // At first this appears to have the most schedule options, but it still can’t do the last weekday of the month. I don’t like the interface as much, but this is in the running.

I’ve been thinking about creating my own app for this, but getting the reminders is more urgent and more important than building the app.

Maintenance Reminder Android App

Surface Book power problems

Secret procedure:

  1. Depress power button for 30 seconds, no matter what (force full shutdown).
  2. Depress volume-up and power button for 15 seconds, no matter what (secret sauce!).
  3. Exit/restart/power-on/reboot – whatever it takes to let Windows 10 right itself.

My fancy new Microsoft Surface Book (a splurge because my new employer is subsidizing it) has caused a handful of minor disappointments and annoyances, but the one big headache has been the unexpected reboots when I just want the machine to wake from sleep. Microsoft rolled out updates that seem to have fixed this issue for others, but installing the updates didn’t help me.

While I was ready to get a replacement machine (which would’ve had the nice side-effect of addressing the minor physical imperfections of my machine), I ended up calling Surface Support and Daphne had me perform the secret procedure above to do some sort of magic. If I understood her correctly, step two tells Windows to reinstall driver software in the correct order.

Whatever it did, I’m now ten sleeps in with no unplanned restarts. Fingers crossed!

Surface Book power problems