Semantic URLs

When building a web application, designers and developers have many choices. The URL structure of a web application seems to be an often overlooked and underappreciated detail. In my view, if an application adopts semantic URLs, it enables some user behaviors which lead to product value and increased/extended adoption. But what exactly is a Semantic URL?

Read More...

Visual Basic Methods in C#

A friend of mine needed some legacy code, written in VB6, ported to work in C# (.NET 6 / Core). This code used several Visual Basic functions that have equivalents in C#, but those versions didn’t yield the same output given the same input. Using the Microsoft.VisualBasic package got the code closer to working, but still wasn’t 100% what was needed. It turns out that package is used for porting VB.Net code, not legacy VB6 or earlier code.

Some methods had fairly close equivalents in C#, others were way off the mark due to string encoding differences.

A lot of searching and unit testing later, I came up with this class of functions that allowed the legacy code to be ported with fairly minimal changes. My goal was to copy + paste VB6 code and make as few a changes as possible. Here are the methods covered:

  • Mid
  • Len
  • Int
  • Divide (while not an actual VB function, this replaces the C# / operator so output is the same as Visual Basic 6 would have produced)
  • Chr
  • Asc
Read More...

Fixing Ghost Dependabot Errors

In a previous post, I wrote about how I moved this blog to Hugo. Since then, I’ve been receiving notifications from GitHub’s Dependabot about dependencies needing to be addressed… in the Gemfile and Gemfile.lock. These are two files that don’t exist in the repo or any branches.

I got tired of the emails and large yellow banner at the top of the repo. Time to hunt for a fix.

Read More...

Kubuntu Notes

These are my notes while configuring Kubuntu 21.10 to my liking after first install. Mainly for my own future reference on other distribution installs.

Read More...


Hugo

I decided to rebuild my blog atop Hugo, the “world’s fastest framework for building websites.” I did this for a few reasons: GitHub has been diligent in reminding me that there are security vulnerabilities in the dependencies of my blog. I used jekyll for the static site building, a collection of npm packages for some glue-code in the build process, and based my theme on twitter bootstrap. All of this adds up to a lot of dependencies to keep up with, and I haven’t been blogging for a while…
Read More...