About:

Justin Wernick is a software engineer passionate about software, game development, and music, with interests in open source and productivity.

Website:

Specializations:

Interests:

Software development Game development Music Open source software Dogs Productivity

Outgoing Links:

Subscribe to RSS:
The author introduces a new CLI tool called Localhost Podcast, designed to streamline the process of syncing media files (audiobooks, music, and videos) from a computer to a smartphone using a local web server and RSS feeds. The t...
The author uses Emacs Org-mode as an external augmentation of their mental abilities to stay organized and keep track of various aspects of their life. They explain the features of Org-mode, file arrangement, and how it fits into ...
The article discusses the challenges of buying software engineering books in South Africa and lists some of the best places to find them. It also provides insights into the author's learning budget and the types of books they purc...
The author has added a new section to the blog called 'My Songbook' where they are sharing songs they have been learning to play on the ukulele. They use Lilypond to typeset the music and have integrated it into their static site ...
The text discusses the author's approach to Advent of Code puzzles, the habits and processes they've settled into for approaching a new Advent of Code challenge, and how that can be quite different from their approach to productio...
The text discusses how software developers can automate repetitive tasks to save time and reduce errors. It provides tips on how to determine if a task is worth automating, and how to build tools to improve the software developmen...
The article discusses the author's decision to stop using music streaming services and start building their own digital music collection. It covers the modern tools the author is using for this endeavor, including updating their c...
The author has released a new version of the South African ID Parser JavaScript library, detailing the changes made and future plans for more libraries. The update includes moving the library to Codeberg, adding a changelog, API d...
The article shares a shell script to concatenate PDF files using Ghostscript on Linux. The script simplifies the process of sticking multiple PDFs together into one long PDF, which is useful for keeping digital copies of invoices ...
The article discusses how to set up a Git server, support multiple users and shared repositories using Linux groups and file permissions, and make the server more secure and easier to use using Shackle Shell. The author also share...
The text is a short story about how the author gained a new appreciation for Test Driven Development after having a second child and returning to work. The author explains what Test Driven Development is and how it saved them from...
The article argues that software is an engineering discipline, summarizing the work of other authors and offering the author's perspective on why this terminology matters. It discusses the core practices of engineering approach to...
The article discusses the process of setting up a simple self-hosted Git server, the reasons for doing so, and the benefits of hosting your own Git server. It also covers the steps to host a Git server, create a user account with ...
The text discusses the author's experience with Rust performance optimization tools. It includes advice on optimization, tools such as Criterion, PProf, and Heaptrack, and a worked example of benchmarking and profiling sorting alg...
The article discusses the Newtype design pattern in the context of the Rust programming language. It explains the problems that arise when using the Newtype pattern in Rust and how to solve them. It also provides examples and best...
The author talks about the redesign of their website, including a new stylesheet, static site generator, and URL scheme. They explain the reasons for the changes and the challenges they faced, as well as the impact on RSS feed rea...
The article explains how the author managed to sync audiobooks from his computer to his phone using a podcasting app and an RSS feed. The author shares the problem he faced and the solution he came up with, and how it can be usefu...
The author shares their experience participating in the Advent of Code programming advent calendar, setting a personal challenge to complete the puzzles using only pure expressions in Rust. They discuss the techniques they used, t...
The article discusses the power of iterators in Rust's standard library, exploring various iterator functions and providing examples of how to use them. It covers the functions iter(), iter_mut(), and into_iter(), as well as creat...
The article discusses the use of Literate Programming and Graphviz in Emacs Org-mode to add pictures of graphs to documents. It explains the concept of Literate Programming and Graphviz, and how they can be used together. It also ...
The author explains the process of changing his surname from Wernick to Worthe after getting married, and the difficulties he faced with the department of home affairs. He later discovered that there was no legal way for him to ch...
The text discusses the implementation of bitwise operations in a Rust application for the Entelect Challenge, an AI programming competition. The author explains the game rules and the steps needed to simulate a round of the game. ...
The article discusses the use of feature flags in Rust programming language to specify feature flags at compile time which have zero runtime cost. It explains how to define features, turn sections of code on, use two implementatio...