Today, we’re going to build a license key generator. This flexible generator will allow you to create keys of varying lengths and segment sizes. We’ll also include a validation function to ensure the keys are correct. And, of course, we’ll write Jest test units to ensure everything works as expected. Let’s get started.
Now, there are much easier and more native ways you can create licence keys. Such as the randomUUID method on the Crypto object. Open up your console and type: window.crypto.randomUUID(); and it will spit out a UUID. However, we’ll go a step further in this post and make the format configurable. This allows you to create keys that have segments with different lengths.
As a self-proclaimed “beer nerd,” I’ve taken my fair share of dives into the frothy, hop-filled world of home brewing. From the first seductive whiff of malt to the last satisfying “pop” of a successfully capped brew, there’s a euphoria to the process that, dare I say it, rivals the taste of the final product. Yet, as any homebrewer worth their yeast will tell you, the journey from grain to glass can be as complex as a quadruple IPA. Enter Brewer’s Friend.
At a time when inflation has become the bogeyman haunting the global economy, it’s more important than ever to dissect its origins and implications. Yet, amidst the chaos of blame-shifting, there seems to be an insidious underlying current: conditioning society to shoulder the responsibility for the economic turbulence we’re currently mired in.
In the heat of the pandemic, the world saw a surge in savings and home improvements, but contrary to popular narrative, inflation didn’t immediately skyrocket. Only recently have we found ourselves in these white-hot conditions. So, the question remains, why are consumers, who were merely adapting to a world turned upside down, now held responsible for this inflationary surge?
Imagine this: you’re a software engineer with years of experience in your field and seeking a new position. You’ve brushed up on your resume and are ready to tackle the interview process. Then you find yourself in an interview room, where instead of discussing your relevant skills, experience, and projects, you’re faced with a barrage of technical puzzles and obscure trivia questions. This all-too-common scenario underscores the glaring disconnect between the hiring process and the actual job of a software engineer. While assessing problem-solving skills is essential, the interview process should not feel like a game show for developers.
Despite being a major player in the tech world and a pioneer in AI research, Google has left me scratching my head with their latest AI chat assistant, Google Bard. With ChatGPT from OpenAI setting a high bar in the AI space, other tech behemoths have been trying to replicate its success, especially in the wake of the post-pandemic tech slump and worsening global economic conditions. However, Google’s recent offering seems a step in the wrong direction.
In this post, I am going to go over a few TypeScript features that will make your code cleaner and strongly typed. You might already be familiar with some of these features, and some you might not. Admittedly, I am still finding new things to learn in TypeScript, so skip over the items you’re already familiar with.
1. Type Aliases Type aliases help improve code readability by assigning custom names to existing types. They can be particularly useful when dealing with complex types or frequently used throughout your code. By creating a type alias, you can reduce the complexity of your code and make it easier to understand the intent behind a particular type.
Once upon a time, a social media giant was led by a man who couldn’t resist chasing shiny objects. His name was Mark Zuckerberg, and in the land of Meta, he took it upon himself to singlehandedly bring forth the “future of the internet” with his grand, delusional vision of the Metaverse. But like Icarus, he flew too close to the sun, and now he’s frantically flapping his wings in pursuit of yet another glittering mirage — the artificial intelligence arms race.
I first wrote about derails of the long awaited desktop editor for the Quad Cortex back in February 2022. At that point, it had been revealed a team had been working on the editor for months. Here we are fourteen months later and we have confirmation of a release.
In their April 2023 update, they revealed they’ll be showing off a beta of Cortex Control at NAMM. On top of that, the QC’s will also be running CorOS 2.1.0 beta as well to support the editor.
Only a few readers of this blog might know I am a serial Kickstarter backer. Fortunately, I’ve backed tens of projects over the last few years and have yet to back something that didn’t eventually deliver. One of the most recent projects I backed was the SES Ultra Screwdriver. Considering there isn’t much info about it yet, I wanted to share my first impressions and anything you should know about this.
As developers, we often find ourselves forking open-source projects on GitHub to contribute or to modify for our specific needs. While creating a fork is a simple process, keeping it up-to-date with the original repository can sometimes be confusing. In this blog post, we will explore the steps required to keep your GitHub fork updated with the latest changes from the upstream repository.
Step 1: Configure the Upstream Repository To keep your fork updated, you must first configure the upstream repository – the original project from which you created your fork. This ensures you can easily fetch the latest changes from the upstream repository.