stevedoria.net

garbage in, garbage out

Archive for the 'Software Engineering' Category

Exceptions vs. Error Return Codes

April 26th, 2019 Posted in C#, C++, Software Engineering | Comments »

I have been partly responsible for maintaining legacy source code. Almost all of the code is implemented in C and therefore does not use exceptions. Much of the error handling code follows the following pattern here implemented in C++ (imagine in this example, operator new returns 0 when no memory is available): int function() { […]

Optimization

December 16th, 2011 Posted in Software Engineering | 1 Comment »

Lately, I have been involved with optimizing code to improve execution time. I am still becoming familiar with a large and complex software system that is used by a multitude of end-users. Because my knowledge of the system is limited and people are dependent on the system, the scope of my modifications is focused on […]

Do Not Disturb: Working

December 28th, 2010 Posted in Software Engineering, Team Management | Comments »

Jason Fried gives a talk entitled Why Work Doesn’t Happen at Work. He presents his observation that people feel more productive when they work at places other than their office, into which companies invest heavily with the hope of maximizing worker productivity. He concludes that people find other places for work more conducive to productivity, […]

Judging a Book by Its Table of Contents

December 23rd, 2010 Posted in Personal Development, Software Engineering | Comments »

I stumbled upon a draft of a book on programming languages, which from a look over the table of contents seems to cover topics for a compiler book. Robert Harpers’s home page links to his book, Practical Foundations for Programming Languages. Whenever I find the time to read up on programming languages and compiler, I […]

Write Less Code

August 27th, 2010 Posted in Software Engineering | Comments »

I have recently come across multiple sources that recommended writing less code or just enough code to get the job done. Fewer lines of source code mean fewer lines of code that needs to be documented, tested, and maintained. In a situation where lines of code is not being used as a performance metric, lines […]