Joseph Hallenbeck
November 23, 2018

Todo.txt Practices

Filed under: Software Development
In 2016, I wrote about switching back to Todo.txt. At the time, I outlined the rough system I was using. In the two year’s since, I’ve refined my Todo list process greatly and wished to share. The Todo.txt format has a ton of flexibility allowing the user to go wild. Very few articles out there seem to illustrate how individuals use the format for themselves. This leaves a lot of stumbling about to create good practice and habits. Basic Practices All tasks must have a project and context and only one project and context The main todo list represents tasks...
September 21, 2018

Entity-Component Systems

Filed under: Software Development
Catherine West gave an excellent closing keynote to Rust Conf on using Rust for game development which delved into using an ECS at the core of a game engine and in particular focusing on Data Driven architecture over a more traditional OOP approach. What is an Entity-Component System (ECS) ECS is an inversion of the OOP principals. Rather than workig from a subject-verb perspective, that is “The Dog acts,” we invert the language to make the verb promenent: “The Dog is acted upon.” We do this by removing all data and methods from the “Dog” entity, and focus our design...
June 29, 2018

Twenty Five Haunts

Filed under: Journal Wanderlust
The economist reports that people have roughly twenty-five usual haunts. Let’s consider what my haunts might be: Home Local Shopping Alpine Mainstreet (Foxfire, Country Market, The Grill, The Post Office) Springerville Market (Safeway, Western Drug) Showlow/Lakeside/Pinestop Market (Eddie’s Mountain Coffee) Big City Shopping ABQ Phoenix Tuscon The Local Trails Correction Road George’s Lake Luna Lake Terry Flat Unnamed NM Border USFS Road Blue River Mt. Baldy Area Greenwood Area Regional Hiking Haunts Clifton/Morenci Reserve/Glenwood Bluff, UT Wyoming/Idaho (Island Park, Driggs, Jackson Hole) Long-Distance Traveling Haunts Durham, NC Spearfish, SD Mt. Angel, OR San Diego, CA Rhinelander, WI Sioux Falls, SD...
Sometime last Winter Nelson Elhage’s essays on using lab notebooks for software engineering made the rounds on Hacker News. One item in the early essay struck a cord with me: Computer scientists are taught to document the end results of their work, but aren’t, in general, taught to take notes as they go This seems to be current standard protocol for software versioned with git where care is taken to currate the repository history. Rather then record every wrong step and dead-end branch we are taught to prune and re-write the record by squashing our merge histories. A half-dozen commits...
Years ago I filed to incorporate a limited liability company. I did nothing with it since, but now find that I am at the juncture in my career when I should feel comfortable with taking on and managing client work beyond the stable income of my employer. This is the natural progression of a remote worker, and while I have no plans of leaving my day job, diversification in this age is absolutely necessary. Kynda Consulting will focus on serving the White Mountain area, by providing website development and hosting at the local level, and bringing economic development to the...
Continueing my book club notes on the the Pragmatic Programmer by Andrew Hunt and David Thomas. Chapter 3 The best way to store knowledge is in plain text, not binary blobs The drawback to plain text is that it comrpesses poorly, and may be expensive to process. This doesn’t seem particularly relevant with modern computers, but I suppose embeded systems still suffer this drawback. Plaintext helps insure against obsolescence and eases testing Shell beats GUI Get good at one editor until it’s like playing the piano Use source control (yeah we’re doing the obvious now) Embrace debugging as just another...
February 09, 2018

Shell Notes: Find and Tree

Filed under: Software Development part of Notes
Continuing my deep dive into shell and editor commands to find, useful tools that I’m not taking full advantage. This week is the Find and Tree commands. Find Find is used for traversing a tree of files and performing some operation on them. It is one of the core Unix utilities and fairly universal on systems. My big discovery this time is the realization that I can use find for more than just searching for files. I can use find to perform operations on the results. There are multiple actions besides the default -print, e.g. -delete and -exec both open...
Recently, I’ve been running a book club to cover the contents of the Pragmatic Programmer by Andrew Hunt and David Thomas. One of those volumes that has been held up, forever, as a text that any good Software Engineer should have read. The text itself is rather sound, although starting to show it’s age in the era of software-on-the-browser. Probably not going to do much of an articulated look at the book. Rather, I think I will simply post my cliff notes as I, or we go through each chapter. Chapter 1 Take responsibility for actions, career advancement, project, and...
February 02, 2018

Week One on Mastodon

Filed under: Journal
Giant scattering of random thoughts over the first week using Mastodon: God this interface is confusing. Local, federated timelines? Local timeline is just everyone posting publically on the instance Federated timeline is all posts on the instance plus any posts from federated instances that my instance are interacting with This is actually quite fun. The local timeline really encourages me to just reach out, favorite, “boost,” or reply to any public post that strikes my fancy. There’s a lot of really great conversation going on, particular about the nature of social media, technology, art. Advertising this as a “Twitter” clone...
January 26, 2018

Shell Notes: Vim XDEBUG

Filed under: Software Development part of Notes
Continuing my deep dive into shell and editor commands to find, useful tools that I’m not taking full advantage. This week is debugging PHP using Vim and XDEBUG. XDebug in Vim XDebug has been installed on every development machine that I’ve worked on for as long as I’ve worked. It outputs wonderfully formatted stacktraces and var_dump values. However, the interactive debugger side of XDebug remains little used due to the overhead of setting it up. When I developed using PHPStorm, the interactive debugger seemed extraordinarily unstable. After taking the time to set up a project, map the directories correctly, configure...