How much comment does your code need?

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?

EDA in the cloud still looking for takeoff

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

Speed-up your WordPress blog in 3 steps

One of the most important factors that define the online experience is speed: how long does it take for a page to be displayed by the browser?

Every study shows that if it takes too long, people give up and leave the page. Back in 2006 a person shopping online expected a page load in […]

Continue reading Speed-up your WordPress blog in 3 steps

How to: passwordless ssh

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

Beware of implicit type casting

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

The rules of minimalist programming

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

Software engineering 101

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