100 Days of Python - Week 1 Retrospective

I’ve recently started working through 100 Days of Code: The Complete Python Pro Bootcamp course on Udemy. My goal isn’t just to complete the course (we’ll see how far I actually get…), but really just to use it as a structured way to ramp up on Python again. Even though I’ve spent most of my career either as a software developer or technical lead, I haven’t done a ton of no-kidding, hands-on coding with Python directly. Most of my earlier coding experience has been with C#, JavaScript, some PHP and in recent years more of my day-to-day work has increasingly involved Python. While I consider myself at the intermediate level I decided to jump right in at the beginning of this course to make sure I’m not overlooking some important fundamentals. ...

October 10, 2025 · 3 min · 570 words · icarnaghan

CKA Study Notes - Kubernetes Scheduler

As I continue my prep for the Certified Kubernetes Administrator (CKA) exam, I’ve been diving into the Kubernetes scheduler so I can get a better understanding of how it works, how it can be influenced, and what tools are available to debug scheduling-related issues. This is a continuation of my previous notes about kubectl basics and focuses on practical commands and concepts I found useful when learning about scheduling. What the Scheduler Does TLDR - the Kubernetes scheduler is responsible for deciding which node a pod should run on. Once a pod is created without a node assignment, the scheduler steps in and tries to find the most suitable node for it, based on resource availability, constraints, taints, and other factors. ...

June 29, 2025 · 3 min · 565 words · icarnaghan

My Migration Experience from WordPress to Hugo

I started messing around with Hugo a few months ago as I was getting tired of spending $$s and maintaining a WordPress site that has remained fairly static over the years. When I first heard about Jamstack I was interested in finding ways I could leverage it for my own blog. When I first started I ended up managing the release and deployment of new content in a very manual way, making changes, running hugo to generate the static site, and then copying the output to a separate repository that served the site via GitHub Pages. While this workflow worked, it quickly became annoying and error-prone, especially when I forgot a step or made minor changes that didn’t get properly deployed. ...

June 27, 2025 · 5 min · 992 words · icarnaghan

CKA Study Notes - kubectl Basics

I’ve recently started studying for the Certified Kubernetes Administrator (CKA) exam and as such I’m capturing some of my study notes here. When you’re first diving into Kubernetes, the command-line tool kubectl becomes your new best friend. But like any new tool, remembering the right commands can be challengins, especially when you’re trying to troubleshoot or quickly inspect your cluster. This is my own quick-reference guide for working with kubectl, with just enough commentary to help it stick. If you’re interested in learning more I would recommend visiting the Official Kubernetes Documentation site, which covers everything you need. ...

June 23, 2025 · 3 min · 463 words · icarnaghan

TypeScript Demystified

TypeScript can be a confusing term for anyone new to JavaScript development. The first impression of TypeScript for beginners is that it is a programming language, more or less, similar to JavaScript. Even professionals with enough coding experience often fail to define TypeScript. So how can we put the answer to this question - What is TypeScript? TypeScript is a superset of JavaScript. It has optional static typing, classes, and interfaces. TypeScript is not a separate programming language, what makes it different from JavaScript lies in part of its name - Type. Every programming language has data types, In JavaScript these include the commonly used number, string, boolean, etc. To understand TypeScript, we first need to understand how JavaScript behaves with its data types. ...

December 17, 2020 · 6 min · 1118 words · icarnaghan

Getting Started with Entity Modeling in OpenText AppWorks

AppWorks provides a handy feature for modeling business objects through the use of entities. Objects could take the form of any aspect of a business application you are building. For example, if you needed to write an application that would be used as part of a school’s administration system you may include entities that represented objects such as teachers, students, courses, lessons, and so on. AppWorks provides a nice interface for managing these different types of entities and even lets you build relationships. The term entity modeling is not new to this platform, the concept behind this has been around for a long time, but it has traditionally been the responsibility of database engineers or software developers to define. The low-code platform AppWorks provides now enables business analysts to define these entities and relationships, without the need to have a software engineering background. ...

October 27, 2020 · 6 min · 1277 words · icarnaghan

Low-Code Development with OpenText AppWorks

OpenText AppWorks is an application development platform that enables rapid creation of software designed to meet business problems. It’s low-code capabilities means that we can involve requirements specialists and business analysts in the development process while working along-side developers implementing more advanced services integrations and business processes. A few months ago I wrote a couple of articles outlining how to install AppWorks locally using Docker as well as setting up a version control system for your applications using SVN. If you are interested in setting up AppWorks as a development environment, I highly recommend checking these out. ...

October 19, 2020 · 5 min · 989 words · icarnaghan

Understanding Asynchronous JavaScript

The term “asynchronous” is often associated with JavaScript, which can be a confusing concept, especially for beginners. This can become even more confusing because JavaScript is a synchronous language with asynchronous capabilities. In order to understand asynchronous development in general, we need to start with the difference between synchronous and asynchronous programming. In simple terms, executing one task or item at a time is often referred to as synchronous, while executing multiple tasks (or threads) at a time is referred to as asynchronous. ...

September 11, 2020 · 13 min · 2748 words · icarnaghan

Understanding Higher Order Functions in JavaScript

A function is an organized block of code that is created for a specific task. It can accept and return values. The main purpose of using functions is for code reusability and organization. In JavaScript, functions can be considered ‘higher-order’. To better understand this term, we need to look at some basic concepts related to JavaScript functions. Functions in JavaScript Take a look at the following code snippet: function demo(){ console.log("This is a demo function") } demo() This is a very basic example of a JavaScript function. The name of the function is “demo” and its prints “This is a demo function!” in the console. We we can do a lot more with this function, including assigning it to a variable, or passing it to another function as a parameter. This is possible because JavaScript is a functional programming language. ...

September 8, 2020 · 5 min · 898 words · icarnaghan

Quick Intro to Express.js

If you have ever come across Node.js, then you may have heard the word “Express.js”. Express is also a part of popular full-stack web development stacks - MEAN and MERN. M, A/R, and N, meaning MongoDB, Angular/React, and Node.js, respectively are very popular in the web development community, while E, i.e. Express.js is unpopular. Many developers who work with MEAN or MERN stack don’t even know what is the exact meaning of express. So in this article, we will discuss express.js with examples. ...

September 7, 2020 · 10 min · 1949 words · icarnaghan