Handling Time in Software Development

Recording & Communicating Time in Software

Rachel Walker Articles, Programming 2 Comments

When I first started writing software to handle time, I went into it with a naive perspective that it couldn’t be that hard. After all, it’s just time, and I’ve understood how that worked since elementary school! It took my first daylight savings time transition to disabuse me of that notion. I began daydreaming that one day all systems would fully run on UTC and people would adapt to that as a standard.

No more writing code to handle time zones in different regions. No urgent time zone library updates to account for new government legislation around daylight savings time. Being able to add and subtract time without having to account for crossing time zones…

It sounded great to me at the time, and sometimes when I’m neck-deep in tricky code, I feel that way still. In calmer moments though, I’ve learned that’s not a philosophy that serves me. When I talk to people about my birthday, a holiday, or give vague time measurements like “twice a day” or “first thing tomorrow,” I’m not speaking to them about timestamps. I’m conveying an idea that just happens to involve time. Time isn’t just a number; it is communication that is tied to our days and nights and the lived human experience.

A good software product handles, records, and displays time accurately. A great piece of software captures, stores, and displays time and date information in a format that conveys the full idea to the intended recipients. Good software works; great software communicates.

Using Keyboard Indicator LEDs to communicate in Morse Code with C

Your Keyboard as an Output Device?

Luke Zeisset Articles, Development Technologies & Tools, Programming, Tutorial Leave a Comment

Though we don’t really see as many of them as we used to, they are still with us. One helps indicate if a 10-key is in number or cursor mode. Another helps show when we use capital letters without holding the shift key. You might even have another to show if you accidentally hit the scroll lock key. I’m talking of course about keyboard state indicators.

Most people only think of a keyboard as an output device, but given that it has a changeable state, it most definitely can be used for output as well! Unfortunately, producing meaningful output using a keyboard state indicator (beyond their intended purpose) is rather tedious because they only have two states; the indicator light is either on or off. And to convolute things further, most keyboards these days don’t have many indicators in general. For example, the very keyboard I’m typing on only has a caps lock indicator! Thankfully, there is a well-established encoding that requires only one “bit” to be useful: Morse code!

In this article, I will show how I approached the development of a small utility to output Morse code on the caps lock LED. Even if it’s impractical, I wanted a challenge, and I had fun working through it. Though I’m certainly not an expert, I used the C programming language because I figured it would be the simplest approach.

I hope it is as clear to you, the reader, as it is to me, especially since I tried to make this as simple as possible. And don’t worry if you don’t have a caps lock indicator, either, as we will display the Morse code, too.

Optimize Frontend Deployments with Module Federation

Troy McLaughlin Articles, JavaScript, Microservices, Programming, React Leave a Comment

It’s time to release your latest front-end changes to production. However, as you create a new tag, you notice a large number of commits unrelated to the feature you’ve been working on. Now, instead of simply kicking off your deployment and watching the pipeline run, you need to check with numerous developers and managers to ensure you don’t deploy any …

Using RegEx In Visual Studio Code

Using RegEx in VSCode For Powerful Searching

Alex Cassells .NET, Articles, Programming, React Leave a Comment

This post demonstrates some of my favorite search techniques that work well in VSCode, including some basic RegEx (Regular Expressions) expressions that will help you find exactly what you’re looking for in an unfamiliar code base. We will cover VSCode file type inclusions and exclusions, single-line multi-term searching, conditional searching, and more. RegEx can be intimidating to people who aren’t used to using it, but luckily the RegEx expressions described in this post are very easy to remember and incredibly powerful.

Testing Spring Boot APIs with Rest-Assured Header image

Testing Spring Boot Rest APIs with Rest-Assured

Jonny Hackett API Development, Articles, Development Technologies & Tools, Java, REST, Spring Boot, Testing Leave a Comment

Creating RESTful APIs with Spring Boot is a straightforward process, making it a popular choice for a variety of applications, from UI to batch processing. The same API created can be used anywhere, whether it’s called from a UI application or batch applications. However, testing these APIs to ensure they work correctly can be challenging. In this article, I’ll introduce …