Precision Computing Turns 20!
20 years ago, I decided to put up a “Web Log” - or “blog” for short :)
I didn’t know what would become of it, but I’m happy that I started. In the years since, this site has seen a ton of change:
- Hosted on a FreeBSD server under my desk, blogging via Perl and Bash scripts
- Once I started working on Encarta (which used an XML-based pipeline), ported to XML and XSL stylesheets, with a build system to generate HTML
- Once C# and .NET started becoming mature, moved to DasBlog.
- In search of better templates and customization (plus moving to Azure), moved to Project Nami - a slight fork of WordPress that works against Microsoft SQL Server.
- During a complete site redesign with the goal of major speed improvements, as well as bringing articles to the forefront of the site, moved to Hugo static website generation.
One thing that’s been common is that the content on the site has always had a home. This blog now has 363 posts, and about 180,000 words. There are posts from many years ago that still show up in search engines, still solve problems for people, and still get comments. For comparison: I have been on Twitter for 12 years, have tweeted almost 9,000 times, and for each of those: if it wasn’t written today - it’s essentially irrelevant and lost forever.
If I could recommend one thing to anybody that cares about their content: use social media like Twitter and Facebook to chat and have conversations certainly. But for anything you care about, point your friends and community to content that has a permanent home.
So! In these 20 years, which posts have been my favourites? Here we go :)
- 2001 - GPG and Password / Internet Security - my first attempt to explain to the world that you need to stop using the same password everywhere.
- 2003 - SVG Editor and Painter - An proof of concept implementation of a SVG editor, written in SVG itself.
- 2004 - Webcam Control - My first experiment with home automation, artificial vision, and using technology to massively over-solve something :)
- 2005 - Monad and the First Vista Virus. In June of 2005, we started to be able to publicly talk about “Monad”, an exciting new shell we were making. This shell, of course, became later known as “PowerShell”. In August, the trashy parts of the InfoSec Trade Press started talking about the “First Vista Virus”, which was a Monad script that shockingly did what shell scripts are good at - opening files, and editing them. While this was an annoying hype cycle that had far reaching implications within Microsoft, we knew this kind of thing would happen eventually. And it did give us the platform to start talking about Monad’s security features, which were already far beyond any other shell / scripting language out there.
- 2006 - DIY Cat Feeder and Water Dispenser - Another experiment with home automation, and using technology to massively over-solve something :) This post made it to the front page of most of the social media sites, and I even had a legit professional magazine (“Design News”) come to my house to do a photo shoot and include me in an issue alongside the chief designers of the Boeing Dreamliner.
- 2007 - PowerShell Cookbook Now Available - Starting as something that I thought was going to be “taking my blog posts and make them print-worthy”, the PowerShell Cookbook has clearly become something much larger. Both literally and figuratively! I am humbled about how much impact the PowerShell Cookbook has had, and thrilled that it (and PowerShell) have continued to have the success that they have.
- 2008 - Realtime Syntax Highlighting in your PowerShell Console - Before the incredible PSReadLine was added to PowerShell, the text you typed used to look boring and grey like it is in CMD and Bash. This post pulled together a bunch of crazy PowerShell APIs that nobody knew about, a background processing technique that worked shockingly well, and as far as I know - introduced the first implementation of realtime syntax highlighting in a console terminal. That said - while less impactful to the world overall, my First Solo in a General Aviation aircraft was an incredible experience and accomplishment.
- 2009 - Should I Refinance? PowerShell the Financial Calculator - Financial decisions are complex, and often very hard to project their impact into your future. Often, what seems like a major decision isn’t really that major in the long run. But unfortunately, the opposite often holds true as well. As a software engineer or scripter, we have a super power in that we can write mini simulations to answer complex questions. Often with far more accuracy than even a professional accountant. Many years later, I discussed this approach in detail at PSConf EU: Adulting 101.
- 2010 - Open PowerShell Cookbook Beta Available Online - In 2010, we published the 2nd edition of the PowerShell Cookbook. One of the things I have always loved about working with O’Reilly is that they are open to whatever random experiments I want to do. For the 2nd edition of the Cookbook, we ran an open beta of the Cookbook. Anybody in the world could read the whole book for free and submit comments and corrections. This was somewhat of a risk of enabling piracy, but it turned out smashingly.
- 2011 - PowerShell and HTML5 Prototype - There is a small bit of code to run in this post, but it is worth it. It has become famous in its own right.
- 2012 - A Poor Man’s Profiler with PowerShell and CDB - In 2012, we published the 3rd edition of the PowerShell Cookbook, and all was well :) That was a huge event (PowerShell v3 was a huge release!), but the blog post itself that excited me the most was using PowerShell to automate WinDbg debugging. This is a theme I’ve touched on a handful of times on this blog, and using PowerShell to become an ad-hoc sampling profiler is really neat.
- 2013 - Hacking Pi with PowerShell - For Pi Day 2013, the California Institute of Technology created a huge paper chain, where the colours of the links represented digits of Pi. This post delved into using Regular Expressions in PowerShell to figure out which digits of Pi were represented by a single out-of-context picture.
- 2014 - Handle Hitch Knot for Pulling Thin Rope - You know when you wrap rope around your hands so that you can pull something heavy and all it does is dig in and hurt? I wanted a knot that could help with that problem, but couldn’t find one. This is when I realized you could design your own knots, and did so - the “Handle Hitch”. In the words of one knot afficianado: “I’ve been using it for about year - and in real life situations. I know about 45 knots; this is in my top 10 that I show other people if they are curious about knots.".
- 2015 - Fixing Carriage Jam on HP PhotoSmart Premium - My printer was physically damaged and couldn’t get any more broken. So I took it apart to see if I could fix it. Judging from comments on this post and Thingiverse (where I shared a repair part), the information shared in this blog post has resulted in the rescue of over a dozen printers. That makes me happy.
- 2016 - Downloading Plain-Text Wikipedia - My Dad has always been interested in data mining, and using cool regular expressions to search plain-text databases. Unfortunately, there is no good clean plain-text version of Wikipedia (i.e.: without markup), so this made one and gave him about 4GB of awesomeness to dig around in.
- 2017 - Interactive Rosetta Stone Explorer - The Rosetta Stone is an amazing physical object behind the watershed code breaking used to understand Hieroglyphics. But despite its magnificence, there was (previously) no tool that you could explore different parts of the Rosetta Stone to understand what they meant in English. This tool required a tremendous amount of work, and makes random internet knowledge seekers happy very frequently. I reached out to the British Museum (current home of the Rosetta Stone) to see if they would be interested in bringing something like this to the official exhibit, and they were not :(
- 2018 - XOR is not as Fancy as Malware Authors Think - XOR is used frequently in malware, and there aren’t many resources that try to break down in simple language why and how. This post explains its use in crypography, as well as dunks on malware authors that use it in bad ways. Everybody loves a malware dunk :)
- 2019 - WebSockets from Scratch - Deep dive into implementing the WebSockets protocol from scratch in PowerShell, but with a super entertaining target of somebody’s conference badge that used the protocol to draw pictures!
- 2020 - List of InfoSec Cognitive Biases - Cognitive Biases are like software bugs, but instead thinking bugs. They impact everybody, and everything we do. You can’t escape them, you can only be aware of them. After being in the security industry for almost 20 years, this post attempts to distill some of the major ones that are unique to the Security industry.
- 2021 - Statique - Simple Self-Hosted Comments for Static Websites - Once I moved my site to Hugo, I no longer had a comment section. This post goes into an extremely elegant client-side option that leverages Azure Storage for hosting.
What an exciting 20 years it’s been, and looking forward to many more :)