Ian Kluft

216 points
User profile image.
San Jose, California, USA

Ian has had parallel interests since grade school in computing and flight. He was coding on Unix before there was Linux, and started on Linux 6 months after the kernel was posted. He has a masters degree in Computer Science and is a CSSLP (Certified Secure Software Lifecycle Professional). On the side he's a pilot and a certified flight instructor. As a licensed Ham Radio operator, experimentation with electronics evolved over the years to include the Raspberry Pi and Arduino. When outdoors he enjoys bicycling, hiking and photography. See more at his LinkedIn profile.

Authored Content

Authored Comments

Yes, I have - that's the GUI I mentioned. It wasn't available for Linux when PiFlash started. PiFlash has its own niche for automating tasks via plugins that can't be done with GUI tools. Pick which works for you. But don't dismiss the niches others seek.

Yes. There is no majority programming language out there. If a language is actively maintained and has a developer community, it qualifies to be a tool in your toolbox. And any programmer should have more than one for breadth of experience. Listen for the positive - because negative remarks usually just come from someone promoting something else.

In particular with PiFlash, I got some unexpected help from members of the Perl community called the CPAN Testers, who have automated test systems for modules uploaded to CPAN (the Comprehensive Perl Archive Network) - they told me some of PiFlash's unit test cases (which I wrote as part of PiFlash) were failing on Debian-based Linux distributions and FreeBSD. For Debian, I found and fixed the problem they reported. The CPAN Testers were a big help.

For FreeBSD, it's a bigger problem which won't be solved as quickly. I had to mark it currently unsupported so they won't waste time running those tests. Since PiFlash uses the lsblk command from util-linux, it's tied to features of the Linux kernel. PiFlash started with Linux. In order to expand to support FreeBSD and other *BSD kernels, it would need an OS kernel abstraction layer. And I'd need help from others running BSD to work on the specific actions it has to take on BSD systems. I'm open to add BSD support if others want to help with the BSD part.