SQL Server Using PRINT to Improve Safety of Live SQL Server Updates [Me]: Let's DELETE 5 records. [SSMS]: (7,393,253 rows affected) [Me]: {Updates LinkedIn profile: "#OPENTOWORK"} Avoid nasty SQL surprises with this easy technique.
Defensive Programming CrowdStrike and Delta: Victims of the Software Reliability Paradox As software reliability increases, so too does the degree of harm it has the potential to create. Just ask Delta.
Defensive Programming "Hiding" Global Data in VBA How to implement Steve McConnell's sage advice for handling global data, with techniques for both global constants and global variables.
Commentary Thomas Jefferson's Accidental Programming Advice Premature declaration is nothing to be embarrassed about. It can happen to anyone. You don't want to make a habit of it, though.
Defensive Programming Bug Alert: Accidental Double-Clicking of Long-Running Processes This is not a bug in Access itself, but rather a common pattern that leads to occasional logic errors that can be nearly impossible to reproduce (and debug).
Code Library TryGetForm: Set a Strongly-Typed Form Object in Access VBA The TryGetForm function helps you convert "stringly-typed" code into "strongly-typed" code when working with Access forms in VBA.
Defensive Programming Five Ways to Turn Runtime Errors into Compile Errors in VBA Compile errors are cheaper and easier to fix than runtime errors. Here are five ways to turn potential runtime errors into compile errors.
Defensive Programming Five Ways to Turn Logic Errors into Runtime Errors in VBA Runtime errors are cheaper and easier to fix than logic errors. Here are five ways to make that happen.
Code Library CaptionCheck(): Verify All Forms and Reports Have a Caption This simple pre-deployment check will help save you the embarrassment of forgetting to set your form or report captions.
Defensive Programming When Reliable Software Goes Bad Back in the 1980's, misplaced user trust in the software of a radiation therapy machine led to six deaths and several other serious injuries.
Defensive Programming 3 Techniques for Programming Reversible Processes How would you recover from a large accidental UPDATE operation? You'd better be able to answer that question *before* it happens.
Defensive Programming Guard Clauses Guard clauses are one of my favorite low-friction defensive programming tools.
SQL Server 5 Tips for Making Changes on Live SQL Server Databases Making database changes on production? These 5 tips will make one of the most dangerous programming activities a little bit safer.
Bug Alert WARNING: Do NOT Declare DAO Fields As Field2, Field3, etc. While declaring DAO Field objects as Field2 will get you additional IntelliSense, it comes at the risk of breaking working code when MS releases a new Field type.
Deployment Distributing One-Time Data "Hot Fixes" Rolling out changes to *production data* when you don't have direct access to that data can be tricky. This tip makes the process easier.
Defensive Programming In Defense of Security Through Obscurity There are two key elements to defending a military position: cover AND concealment. It's not an either-or proposition.
Defensive Programming A Safe Way to Add Temporary Code A quick tip to ensure your temporary code disappears when the sun sets.
Defensive Programming Frictionless Validity Checks Let's apply the concept of frictionless development to the defensive programming technique of data validity checks.
Defensive Programming Data Validity Checks Increase the quality of your existing data by running it through a series of validity checks and showing your users the results.
Defensive Programming 5 Ways to Reduce Logic Errors Using Automated Double-Checks Identify the critical functions in your application. Then, apply one or more of these techniques to ensure that if they break, someone will notice.
Defensive Programming Reduce Logic Errors in Critical Code Software Developers Can Almost Eliminate Logic Errors With This Powerful Technique
Defensive Programming The RecordsAffected Property is a Powerful Tool for Defensive Programming As developers, we need to constantly be thinking about how to handle unknown unknowns. The RecordsAffected property helps us do that.
Basic Avoid DoCmd.RunSQL in Microsoft Access If you are just starting out writing VBA in Microsoft Access, you may be tempted to use DoCmd.RunSQL. Don't. There is a better way.
Intermediate The "Unset" Enum Item This simple technique is a foolproof way to avoid the sort of logic bug that can live undetected in your codebase for years.
Defensive Programming Defensive Programming Don't build digital Maginot Lines. Program your defenses in depth.