Today I actually managed to make something useful in a short amount of time. Granted, it wasn’t anything like rocket science, but it was something handy for the intended recipient.
The person in question needed to quickly figure out how much cubic yardage of concrete to fill in a given area. This kind of calculation is well-known, but to sit there and work it out can be a pain the butt, espcially if you’re trying to convert between multiple units.
So I walked back over to my house, sat down at the computer, fired up Notepad++ and wxGlade. Within about 2 hours I had a working GUI app written in Python with wxPython that was fault-tolerant and could not only calculate concrete yardage for a given volume space, but also work out columns and block walls using standard 8-inch and 12-inch blocks.
Took about another ten minutes using py2exe and NSIS, and I had a fully compiled and installable program. Transferred it to my meager 256MB USB thumb drive and then ran the installer on his laptop, which he takes with him to every job site.
There was a certain amount of anxiety on my part at this point because I had built the program on a 32-bit XP machine, and his was 64-bit Vista. But sure enough, after bypassing the annoying security warning on Vista, the program installed and ran flawlessly on his machine. And he was impressed with the fact that all he had to do was plug in a few numbers, set his units of measurement, and it took care of the rest in realtime for him.
I know I really shouldn’t be jumping up and down about this, but this represents a break in a rut I’ve had for some time. I’ve been making software now for close to 12 years, and I’ve always felt like just about everything that’s come from my compiler(s) has been useless. This was the first time in years that I’ve felt like I’ve done something useful, no matter how small or insignificant it might be compared to, say, making an operating system kernel or a complete office productivity suite.
It’s good to know that I made something useful for somebody. And as a special treat, rather than let it sit on one person’s hard drive, I am making it available here as well for anybody that might want it.
Windows Installer – Just download and run. Simple, easy, and painless.
Compiled program, no installer – Useful if you want to just dump it on your hard drive or onto a USB thumb drive for portability.
Source Files – Includes wxGlade project files and setup.py
Here’s some screenshots:
This also represents a small leap for me in proving that Python is a viable language for making useful software for the masses. The fact that I went from concept to finished product in about 2.5 hours for something like this speaks to its flexibility and ease of programming power.