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?

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.

Building the Site With Drone.io

Published on – 200 Words

It only took a few hours tonight to set up a new VPS machine with Docker, LetsEncrypt, and Drone.io to be able to build and deploy my Hugo blog to a test site. The whole CI/CD pipeline takes less than ten seconds to finish. I will have to write up all of the details, including my docker-compose files, nginx configs, and .drone.yml later on this week. It's all super exciting to see it come together.

Nested Forms in Angular

Published on – 1600 Words

The official Angular documentation discussing Reactive Forms shows how one can use groups and arrays to organize a form, and to dynamically add to it. The drawback of the example on that page is that everything is in a single component.

Once a component starts to grow in size and complexity, it becomes desirable to decompose it into multiple smaller components. At this point, there are a number of ways to break up the form into a set of nested form elements.

Add Webmention Support

Published on – 300 Words

With many thanks to Using Web Mentions in a static site (Hugo), published by Paul Kinlan in October 2019, I have added Webmention support to the site. For now, I am using Webmention.io to handle the heavy lifting of providing the Webmention end-point, the same way the above-referenced article describes. With only minor modifications to the Node.js script from the article, I can pull down all mentions for my domain from Webmention.