Writing code is not simply about putting language constructs together. It’s about architecture, complexity analysis, tradeoffs, testing, measuring performances, etc. And it’s about making sure that developers (other people as well as the original author) can later read and understand that code, for bug fixing or enhancement. This is where comments come into play (not [...]
Continue reading How much comment does your code need?
I started 2013 very upbeat about EDA in the cloud. I pictured EDA very slowly moving to a SaaS business, using public clouds as a scalable infrastructure to adjust to the irregular computing resource requirements throughout the lifetime of a complex system design. I knew it would take years, but I felt that the moment [...]
Continue reading EDA in the cloud still looking for takeoff
CodeProjectAWS has made virtual machines (EC2) ubiquitous. You can launch and stop them as will, log into them, create new accounts, etc. Then you start digging into remote control for multiple users. How do I set up a ssh connection between my local client and a remote machine? Which key should I use? How do [...]
Continue reading How to: passwordless ssh
CodeProjectType casting consists of converting an expression of a given type into another type. It can be done by explicitly telling the compiler which type the expression must be converted to, for instance:
float x = 3.14; int i = int(x); // i is assigned to 3. A* a = foo(); B* b = [...]
Continue reading Beware of implicit type casting
CodeProjectLess is often better. In mathematics, physics, and arts, simplifying and shedding every bit of complexity and redundancy have produced remarkable results. It leads to abstraction, elevates expressiveness, and reveals patterns that are otherwise buried in details.
Programming is no different. For a developer that looks for correctness (does my program behave as expected?), efficiency [...]
Continue reading The rules of minimalist programming
I was prompted to write that post after days (weeks) of frustration working with a new company. I thought that would capture the essence of what software development should be.
A bit of context first.
There are people out there whose motto is “we make money selling hardware, not software”. [...]
Continue reading Software engineering 101