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.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.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.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.
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.While waiting at the local Panera Bread shop for my lunch order, I noticed a fellow patron who was wearing a Miskatonic Observatory t-shirt. It made my day.
Inspired by the many blog sites out there that display a series of icons
linking to the site author's other sites and social media profiles, I
set out to add the same to my site.
Apparently, LinkedIn doesn't actually support With the update of the site to use my new (work-in-progress) theme with IndieWeb support, I have now completed both Level 1 checkpoints from IndieWebify Me:
Get your own domain name Set up Web Sign In I can successfully authenticate using my website URL on IndieAuth.
Soon to come: adding h-card and h-entry microformat markups to better integrate wtih other IndieWeb sites.I spent a good part of the weekend working in Draw.io on site layout designs. Following general Responsive Design best practices, I started with a layout for a mobile device. Once I had a layout that I liked for a small device, I expanded it for a wider-screen display.
Mobile Layout/Design Wide-screen Layout/Design Next up: cloning my basic theme to start adding in the CSS to get a responsive design implementation going.
rel="me" links back to ones
personal website(s). How very disappointing.