About This Site

For many years, I have played with the idea of creating my own personal corner of the Web, be it by starting a blog or by simply creating a small web site to call my own. I even started a handful of WordPress sites over the years. However, I never felt that I had anything to say, so they all went unmaintained and I eventually deleted them.

I have never really gotten into Social Media. I have a Twitter account that I almost never tweet on and a Facebook account that I rarely log in to. I did rather enjoy Google+ while it lasted, although I used to more as an attempt to preserve interesting articles or web sites that caught my eye than as a medium for self expression.

The only mainstream Social Media platform that I use much at all is LinkedIn, and that is because of its focus on professional networking rather than “social” per-se.

The bigger the mainstream Social Media platforms become, the more they seem to turn into little more than platforms for advertisers to treat me as a product, rather than as either a true medium for self expression or a meaningful way to keep in touch with people.

Recently, I have started exploring less mainstream platforms. I discovered Mastodon, and became fascinated by the idea of a federated network of small “Social Media” sites. My research into Mastodon also lead to discovering the IndieWeb and the philosophy of POSSE - Publish (on your) Own Site, Syndicate Elsewhere.

In other words – Take back the Internet, and make it ones own thing again.

Now that … that's inspiring, and motivating.

Plans for the site

  • I am currently using Hugo to create the content for this site. Content-as-code is a beautiful thing.
  • I plan to make said theme Responsive and (hopefully) a lot more attractive than it is now
  • Finally, I plan to turn this site into a proper blog and a showcase for personal projects

About Me

If you happened to have followed the link to my LinkedIn profile, you have already discovered that I am Principal Software Engineer working in the Greater Boston area. For right now, that's all there is to know about me.

Contact me in the Mastodon Fediverse @kcoram@librem.one

What's New?

Nest Micropub - First Steps

Published on – 700 Words

Now and then I feel like it would be convenient to be able to post quick notes, or to quickly save bookmarks, here on my blog. The obvious IndieWeb solution would be to add Micropub support. Since I have a desire to learn more about the NestJS framework for creating NodeJS servers, it seems like creating a Micropub server using NestJS will be a nice personal project. My first step was to get a better handle on creating a NestJS application, particularly using the Nx tool set that I have come to greatly appreciate at work.

Adding OAuth Authentication - Addendum

Published on – 300 Words

In my Adding OAuth Authentication to an Nginx Website article yesterday, I forgot to include one additional configuration setting that I needed to get Vouch to fully work. With the default example Gitea configuration, I found that I was still getting Unauthorized errors. I had to watch the network calls to get access to the full error message. The problem was that even though I was authenticated, I was not actually authorized.

Adding OAuth Authentication to an Nginx Website

Published on – 800 Words

A project that I hope to get started on in the near future is working on creating a micropub end-point for my blog. There are some good open source starting points, but one of my goals is to use the project as a way to better learn server-side Node.js and/or Nest.js programming. Obviously, I will want a good authentication mechanism in place to protect against abuse of the micropub end-point, once I have one.

Windows Search Down - Update

Published on – 200 Words

According to a Slashdot article that I just read, the problems with Windows Search have been resolved, with no need for everyone to edit their registries. The problem was, in fact, Bing. For reasons only known to Microsoft, the Windows Search functionality apparently uses the Bing backend – even for doing local searches. There was a service outage today, which caused the frustrating black screen to appear. I still think it is pretty inexcusable.

Windows Search Down?

Published on – 100 Words

Windows Search down for many — here's the fix TL;DR: The issue is reportedly related to Bing, and the “fix” being suggested involves using RegEdit to disable Bing integration. Not for the faint of heart! It's also pretty inexcusable . . .

Iowa Caucus App

Published on – 500 Words

I really shouldn't laugh so much at someone else's misfortune or frustration. Still, as a 20+ year software developer, I have to wonder why anyone would have expected the plan to use a brand new “app” to count votes for the Iowa caucus to actually work out. It is never a good idea to make the first real-world use of a new application be something important and so publicly visible.

And Therein Lies the Rub

Published on – 200 Words

The tagline of https://www.theregister.co.uk/2020/01/29/browser_security_enigma/ reads: Brave, Google, Microsoft, Mozilla gather together to talk web privacy… and why we all shouldn't get too much of it Browser makers keep coming back to the need to please advertisers And therein lies the rub. Websites cost money to run. Content costs money to create. Software, such as web browsers, cost time and frequently money to create and maintain. As the saying goes, “there ain't no such thing as a free lunch.

Great Article: The Top Five Developer Skills That'll Make You a Hero

Published on – 100 Words

The Top Five Developer Skills That'll Make You a Hero (Hint: Involves LEGOs) by Jean-Paul Delimat is a great read. His advice for working on real-world software projects is spot-on. His LEGO analogies are both effective and some of the most amusing things that I have read all week. I've been known to use Voltaire's quote “Perfect is the enemy of good” in the context of finding the line between beautiful code solutions and the pragmatics of delivering on-time.

Howto: Building the Site With Drone

Published on – 1200 Words

Everything that I needed to do to install and configure Drone.io in order to set up a simple CI/CD pipeline to rebuild and (eventaully) redeploy my website was documented somewhere on the Internet. I just had to piece the puzzle together from the information I found scattered among multiple sites. This post is my attempt to get everything documented in one place. I'm sure future-me will need the reminder. Hopefully, this information may be of some help to others as well.

Nested Forms in Angular - Part 2

Published on – 700 Words

After publishing my original Nested Forms in Angular article, my friend and colleague Val Neekman suggested I add a fourth approach, where static factory methods on each of the child components are used instead of a separate factory service. So it is with my thanks to him for the idea, along with some sample code to look at and a much appreciated review of my implementation of the idea, that I am able to write up Part 2 in my Nested Forms in Angular series.