Posts

Showing posts with the label programming

Saving a bureaucratic software project

Image
A recently published article, " The Secret Startup That Saved the Worst Website in America " details some of the problems with the  Healthcare.gov launch fiasco that "so bad it nearly broke the Affordable Care Act." It also outlines how a small team rewrote much of the software "working as a startup within the government and replacing contractor-made apps with ones costing one-fiftieth of the price ." A key point is something I've written about before, namely that one good programmer equals an infinite number of mediocre ones . A handful of bright , motivated programmers can easily beat a massive army of corporate drones , middle managers and bureaucrats. This is related to Brooks' law , which states that " adding manpower to a late software project makes it later. " Or in other words, " nine women can't make a baby in one month. " "The government’s method of running software turned on a sequential des...

Software bugs: Focus on what you can control

Image
Developing software is all about writing code and making changes. Unfortunately, sometimes: 1) the changes affect/break other things in unforeseeable ways 2) the changes are misunderstood and implemented incorrectly 3) the programmer just plain makes a mistake Nearly all software bugs are a result of one of these 3 causes. Class 1) bugs are nearly unpreventable and are a function of the software's complexity. This increases with every new feature and custom branch. Class 2) bugs are 100% preventable. I spend a lot of my time on both ends (clients and developers) trying to clarify and organize communication. Class 3) bugs are sometimes preventable. This is where we do analysis and prevention, aiming not make the same (or similar) mistake twice. I work on preventing Class 2) bugs by improving communication and tracking via PMRobot .  When a Class 3) mistake is made, we analyze why and determine whether there is a cost effective way to preven...

Installing programs on Linux vs. Windows

Image
Windows 1. Download sketchy .exe file from Internet. 2. Double click it. 3. Press [next] about 5 times. 4. Done! Linux 1. Download sketchy .tgz or tar.gz file from Internet. 2. Google the right command line options to extract it. 3. Change to the new directory. 4. Look through all the files and try to guess which is the install script. 5. Run the install script. 6. When the script crashes, Google the library incompatibility errors. 7. Search for different versions of libraries and attempt to install them. 8. Break other stuff while attempting to install new libraries. 9. Bang head against desk. 10. Google more error messages. 11. Spend a few hours trying various suggestions from the Internet. 12. 50/50 chance of a) finding magical solution, or b) deciding it's not worth it and giving up.

Copycat, copycat!

Image
As a technologist, the recent Apple vs. Samsung lawsuit  is extremely concerning . I was hoping all of this software patent nonsense would go away, but Apple just proved that the new business model is more about litigation than innovation . As a company that essentially  "stole" the entire desktop GUI and mouse concept from Xerox, you have to wonder how they arrived here. Ironically, this concept was subsequently "re-stolen" by Microsoft to create Windows -- one of the most ubiquitous, profitable pieces of software ever. Naturally, Apple  sued Microsoft in 1988 , a long and bitter lawsuit that wasn't resolved until 1994, when Microsoft won . In the midst of this, Apple was actually sued by Xerox , a suit that was dismissed. In the Apple vs. Microsoft ruling, the court stated: "Apple cannot get patent-like protection for the idea of a graphical user interface, or the idea of a desktop metaphor." They obviously took this to heart, ...

Most Popular Web Languages for 2010

Image
Back in 2007, I wrote about the most popular web languages and frameworks . It seemed about time to do a quick update. Here are the current standings in my super non-scientific Google popularity contest: PHP: 7.5 billion results (154% increase ) ASP.NET: 158 million results (84% increase ) Ruby: 81.6 million results (19% decrease ) Python: 47.6 million results (not measured last time) As for frameworks: Symfony: 12.9 million results (180% increase ) CakePHP: 8.8 million results (83% increase ) Ruby on Rails: 7.8 million results (44% increase ) I'd like to add a few more numbers, however. The trend is moving towards browser-based programming using Javascript, so have a look at these interesting searches: Javascript: 561 million results YUI: 18.4 million results jQuery: 16.8 million results HTML5: 9.1 million results So based on these numbers, one might conclude: PHP and ASP.NET are going strong Ruby may have lost its luster, and Python is still a bi...