Archive for the 'Software Engineering' Category

My definition of software engineering

In my opinion, software engineering is the quest to create working software that satisfies its requirements, where the effort required to develop and maintain the software is minimized and does not grow exponentially with the complexity of its ever-changing requirements or the number of changes made to the software over time.
Think about all of the [...]

Write your LabVIEW code so that it breaks

One thing that I try to do when writing LabVIEW code, is to craft it in such a way that it breaks during just the right editing circumstances. I know that it might sound crazy, but it’s true.
You probably know that LabVIEW is a very strictly typed language. For example, when you try [...]

Top 5 bad excuses for not using source code control

Source code control tools are important for anyone working on projects with files stored on computers, especially software developers. They help you to have a record of every version of every file in your project, and make those files available to multiple developers working in a distributed environment. Many people have excuses for [...]

Build your EXE on day one, and keep it working

Many LabVIEW developers will put off building an EXE from their LabVIEW project until the very last minute. One of the great things about LabVIEW is that you don’t really need to build an EXE in order to run your application — you can simply run it from source code. So, developers spend [...]

Software Engineering Radio Podcast on Sensor Networks

I do a bit of driving around the San Francisco Bay area visiting clients. When I’m on the road, I love to listen to the Software Engineering Radio podcast. Their most recent podcast, Episode 56: Sensor Networks, is very interesting and discusses cool topics like how to track containers (as they travel on [...]

White Board Modeling (and User Interface Mock-ups)

Recently, Tomi Malia blogged about user interfaces and how to use hand-drawn paper mock-ups as a tool for quickly developing, iterating, and proving user interface concepts before committing them to code. This is a great technique and I highly advocate the practice. But, my personal favorite is a whiteboard with dry-erase markers.
A white [...]

Human Interface Guidlines and the new IndieHIG Wiki

Anyone who wants to create software that looks and feels “professional” should study the various human interface guidelines (HIG) available on-line.
For example, the following are some guidelines published by some well-known organizations:

Apple Human Interface Guidelines
Java Look and Feel Design Guidelines
NASA User-Interface Guidelines
Windows Vista User Experience Guidelines

One of the coolest things about the Internet and on-line [...]

Application Lifecycle Management – SourceGear Fortress

One area of software development that is currently out of range for small companies is good application lifecycle management (ALM) software. There are some solutions out there, but they require very expensive licenses and pretty complicated server setup. That’s why I was excited to hear that SourceGear (a Micro ISV) has announced [...]

Subversion on the path to #1

This year’s results of the annual poll of Version Control Systems, by VSoft, shows that Subversion is well on the way to passing Microsoft Visual SourceSafe as the #1 choice.

An interesting statistic is that, since last year, Subversion use has grown by ~50% and Visual SourceSafe use has dropped by ~15%.
Which version control system do [...]

Bad Behavior has blocked 772 access attempts in the last 7 days.