I like this quote: No technology, no matter how amazing… can by itself ignite a shift from good to great…. No technology can turn the wrong people into the right people. No technology can instill the discipline to confront brutal facts of reality, nor can it instill unwavering faith. No technology can supplant the need for deep understanding…. No technology can create a culture of discipline. — Jim Collins, Good to Great, p 161.
“Best practices are a hazard because they ask us to substitute slogans for thinking.” — Pete McBreen, p. 125 Software Craftmanship.
Sometimes best practices are used to shift blame by using the bandwagon fallacy: “Everyone else is doing it — it’s a best practice, so don’t blame me”. Sure, there’s strength in numbers, but not necessarily wisdom in numbers.
I think SQLite is a great database for a C/C++ application to use. It sure is easy to query the data that way, without intrinsic support from the application. When the application changes, the database is still accessible via standard sqlite clients. Yet using SQLite in an application can require a lot of repetitive code to serialize objects to and from the database, so I wondered if there are ORM solutions for C/C++. It turns out that there are. I only had to turn to stackoverflow.com to find the following (among many):
I write software for a living, and I have a hard time recognizing redeeming value of software patents (other than to have something to negotiate with when someone tries to sue a company). Reading the NPR transcript about patents got my blood boiling. The system has been gamed, and patent troll companies legally extort money from other companies.
Read or listen here. Are there good reasons to have software patents, and if so, on what types of inventions and in what circumstances?