Code that generates code can sometimes be difficult to follow, but it provides huge benefits in saving time and making your end code more maintainable. Today I want to talk a little bit about when and why you would use code that generates code, and what your options are in C#. There are a few […]
Category: Technology
Solving Interesting Problems
There seems to be an assumption that people are generally lazy and need to be persuaded to action by an outside force such as money, or more abstractly, the threat of destitution. However, I reject this from experience. What compels me to code is not an external drive, but an internal desire to solve interesting […]
Defaults and Deviations
Code should be necessarily verbose to describe it’s intent, but no more so. Boilerplate and other code that describes the same behavior over and over again makes your program more work to read and understand, and increases the risk of errors. Copying similar logic over and over again leads to needing to read more code […]
Procedural Spaghetti
It is tempting for programmers who don’t understand design patterns or all the features available for their language of choice to write all their code procedurally. Do this, then this, then this, for every operation, regardless of how much commonality they share. The only reason this works at any scale is because some more thoughtful […]
Technology is often sold to the public as a kind of fix-all; the duct tape for all of society’s issues, and the engine that inevitable drives progress forward. As someone who is deeply vested in technology I used to buy into this narrative myself, but it seems much more appropriate to look at technology as […]
Don’t Listen To Clients
Don’t listen to clients. Or rather, don’t take their first set of “requirements” as written in stone. Especially when there is no project manager filtering ideas. (Don’t) Just Do It Often clients will express their needs in terms of concrete functionality. In these scenarios it is easy (and lazy) to say you are just giving […]
NULL
A lot of values have been associated with NULL – zero, +/- infinity, empty string, +/- forever, and others. So which value is right? I would argue none of these. The only value that should be associated with NULL is… NULL, or rather, nothing – unknown. Using NULL to mean anything else is confusing, inaccurate, […]
ULIDs
I recently discovered another form of UUID that I’m pretty excited about, ULIDs. ULIDs are Universally Unique Lexicographically Sortable Identifier (so UULSIDs?), but what does this actually mean? Like UUIDs, they are 128 bit identifiers meant to be assumed to be unique, though like other UUIDs collisions are hypothetically but not practically possible. Features What […]
A Primer on Primary Keys
Early in my programming career most of the databases I worked on have had the luxury of having decent hardware and relatively small data (100s of thousands of rows per table). However, more and more I now find myself working with databases where 10s of millions of records per table is the norm. With smaller […]
The following is an article I wrote on behalf of Headspring – the original article can be seen posted here. Blazor in context: The user imperative As digital technology advances at accelerating rates, both external users and business software users expect websites to deliver more productivity and smoother user experiences. Excessive page loads, and the […]
Securing All The Things
So I recently became a lot more security conscious and went on an encryption rampage to try to lessen my exposure to unwanted intrusions online. As such, I implemented a few solutions for protecting my data; A password manager, encrypting my personal data, and encrypting my network traffic. A note before I describe my solutions […]
Surfing The Web Like A Pro
If you are like me you spend a lot of time surfing the web. Also, if you are like me you love to optimize the things you do most frequently. My thesis is that the less time you have to spend grabbing your mouse and clicking around, the faster and more productive you will be. […]
Ever wonder how hard it is to crack your password? Well, you need not wonder any longer – Here is the formula: Difficulty to crack a password = Character cases ^ Characters Characters is the number of characters in your password. Character cases are all the possible characters you could enter in a password field. […]