Programming Leftovers
-
Guru: Beware of SQL Precompiler Variables - IT Jungle
In a famous Henny Youngman joke, a patient says, “Doctor, it hurts when I do this,” to which the doctor replies, “Then don’t do that.” Corny jokes aside, I have spent decades trying to identify programming practices that hurt when I do them, and having identified them, cease to do them. A case in point is the misuse of the variables that the SQL precompiler defines in my RPG programs, variables such as SQLCODE, SQLSTATE, and SQLER3.
“So what,” I hear you ask, “is the problem with these variables? ” Well, they’re global, and global variables are evil. Global variables are sneaky and will change their value when you least expect it. Thanks to global variables, I have spent hours debugging when I’d rather been doing something more enjoyable. I’ve seen programs run for weeks or months or years without problem and suddenly go haywire because of a global variable.
-
Does WebAssembly Matter for Embedded System Makers?
WebAssembly is an emerging technology that allows high-performance apps programmed with languages like C++ to run in web browsers. These applications are compiled into binary format and then executed in the browser in a sandboxed environment. This is excellent news for developers that create resource-intensive desktop applications such as image processing or gaming. But how is WebAssembly relevant for embedded device makers?
-
Data Types in C
“In most programming languages, we use the declaration method for the variables that we define for our code; likewise, “programming language C” has its declaration method for the defined variables; this declaration is known as a data type. We use data type in C whenever we define a variable in our code. This is done to define what is the type of data that we’ll be using or storing information for in this data. Also, the data type defines the size of the variables in terms of bytes. Every data type has a different memory associated with it, and we can perform the different operations on different data types accordingly. Each data type possesses different ranges of numbers that it can store in it and these ranges also vary differently depending upon the compilers.”
-
3 Reasons Why You Need Low-code Platforms For Data Science Solutions
Low-code ML applications help address the challenges of model maintenance, time-to-market, and talent shortage
-
Strncat Function in C
We use the strncat function for the concatenation of two strings. Concatenation is the concept of appending two strings together. We append one string and can add another string to the end of the string and make them one string using the strncat function. For the string concatenation, we generally use two strings – the first string represents the source string that we want to combine and the other string is the target or destination string where we store the combination of the earlier string as per our requirement. The size of the target is always kept greater than the source string. For example, if we have string 1 with memory size as “4” that has the characters stored in it as “hi” and a second string with size “12” that contains the characters “people”, if we want these strings together, we will use strncat() function. Hence, the combination “hi people“ is stored in the target string that has memory size “12” more as compared to the earlier string1.
-
Parallel Programming: September 2022 Update - Paul E. McKenney's Journal — LiveJournal
The v2022.09.25a release of Is Parallel Programming Hard, And, If So, What Can You Do About It? is now available!
This version boasts an expanded index and API index, and also adds a number of improvements, perhaps most notably boldface for the most pertinent pages for a given index entry, courtesy of Akira Yokosawa. Akira also further improved the new ebook-friendly PDFs, expanded the list of acronyms, updated the build system to allow different perfbook formats to be built concurrently, adjusted for Ghostscript changes, carried out per-Linux-version updates, and did a great deal of formatting and other cleanup.
-
Update: My Python Templates Version 0.0.8
-
Using Sphinx in a Monorepo
Just wanted to type up a couple of notes about working with Sphinx (the python documentation generator) inside a monorepo, an issue I’ve been struggling with (off and on) at Voltus since I started. I haven’t seen much written about this topic despite (I suspect) it being a reasonably frequent problem.
In general, there’s a lot to like about Sphinx: it’s great at handling deeply nested trees of detailed documentation with cross-references inside a version control system. It has local search that works pretty well and some themes (like readthedocs) scale pretty nicely to hundreds of documents. The directives and roles system is pretty flexible and covers most of the common things one might want to express in technical documentation. And if the built-in set of functionality isn’t enough, there’s a wealth of third party extension modules. My only major complaint is that it uses the somewhat obscure restructuredText file format by default, but you can get around that by using the excellent MyST extension.