Remember when blockchain was going to change everything? Now AI is the trend dominating every conversation—but some of the most effective programming ideas have been around for decades. This post examines one of COBOL’s lesser-known yet highly practical features: the 88-level field. Far more than a simple boolean, 88-level fields provide a clear, maintainable way to describe data conditions, enforce business rules, and streamline initialization. Through real-world examples, you’ll see how this feature can reduce complexity, eliminate hard-coded values, and make logic more expressive—demonstrating that sometimes proven tools from “old” languages still have lessons worth applying today.
About the Author
Your Keyboard as an Output Device?
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.
Exploring Git Customization Through Aliases
In this article, I’ll share my Git aliases—personal modifications that I’ve found especially useful. I hope it inspires you to play around with customizing your development environment to suit your needs. Feel free to copy them, improve them, or outright ignore them. It’s up to you.
There is no definitive way to get started customizing your development environment. It’s your environment, your tools. I can do little more than provide some examples and say, “Here, you try!” It’s a process of iterative refinement and exploration….
Setting Up an LDAP Server Instance on AWS
This blog describes the basics of what it takes to get an existing LDAP server moved from the PV virtualization type to HVM. I encountered this situation personally while working for a client earlier this year. Efforts have been made to keep most of it generic enough to be useful for other situations involving system upgrades or replacements as well.
First Look: The Jakt Programming Language
There seems to be a renaissance in systems programming languages. Updates to C and C++ don’t seem to get the attention of a lot of developers that aren’t already interested in their development. In contrast, languages like Go, Rust, and Zig are hot topics that seem to do an excellent job recruiting people, nearly providing the level of accessibility that Python does.
A fairly new programming language appeared this year that strikes an intriguing balance between C++ and Rust. That language is Jakt, and I’d like to shine some light on it.