|
PetesProjects:
Electronic Hardware and Computer Software Projects
|
||||
|
Current Projects:
|
Welcome to Pete's Projects! Our goal is to bring you interesting How-To projects and articles, usually relating to electronics, computers and programming. The two systems that these projects were developed on (and in some cases, used on) include a Compaq Presario 722 laptop, and a tower system (desktop standing on its side on the floor) with a Biostar motherboard. The Presario runs Fedora Core 4 (after Windows XP expired). The Biostar can boot into Fedora Core 5, Slackware 10.2, and Windows 98SE, using two drives. I keep Windows around for several reasons. First, there are several utilities that were used in the projects posted here (or will be soon) that aren't yet available on Linux. Second, there is still one thing that Windows can do better than Linux: operate Windows peripherals, such as the cheap printer that I own. Linux can operate it, but leaves much to be desired. To print my grocery list, Linux if fine. To print my resume, I boot up Windows. My apologies to anyone who uses wine. I don't, which is why I keep Windows around. Let's face it: there are many good, useful and well-behaved applications that run on Windows. But if you need to use a Windows application, RUN IT ON WINDOWS! Why go through all the pain, agony, aggravation and frustration of learning a new and better operating system, and then insist on running Windows applications on it! Hardware projects The first hardware project is called Stereo Video: How to Generate Stereoscopic Video Using Cheap Board Cameras. The title pretty much explains it. The idea is to connect up two cheap board cameras to a circuit board that will combine their outputs and generate a single video stream that can be sent to a TV or computer monitor, where you can view a stereo 3D scene using LCD shutterglasss. This project includes schematics, parts lists, diagrams, printed circuit design and fabrication files and assembly instructions. Another hardware project that will be posted soon will explain how to disassemble, clean, repair, modify (and/or destroy) a TV remote. The one that came with my second-hand TV is giving me serious hand injury. Software projects The latest software project is Backing Up Your Linux System. If you like pain, confusion, self-doubt, or you enjoy working with code listings that are unintelligible and counter-intuitive, then Perl is for you. And if you want to learn a 21st Century objected-oriented programming language that can be used by everyone, Python can be a lot of fun, though I don't yet have a project that would adequately demonstrate its abilities and potential. The Perl section contains Perl scripts that are useful for the average Linux-using mortal. The first section, called "backup", is my backup strategy for full and incremental hard drive backups. It consists of a bash script and a Perl script. There is also a Python version of the Perl script. Translating Perl functions into Python is not the best use for Python, but it does show many of the differences between the two interpretive languages, gives some examples of how to program in Python, and gives me an excuse to learn more about both languages. (Yes, Google has about 119,000,000 entries that talk about backing up Linux...)
I learn by doing, but books are good too. A large part of what I know about Perl came from O'Reilly's book, Learning Perl. Once I stopped throwing it against the wall I discovered that while the language is pathologically eclectic (see Learning Perl), it can actually do useful stuff. Then I got O'Reilly's book Programming Perl from the library. For Python, I'm still at the first level: learning not to throw it against the wall. I started with Chris Fehily's Visual Quickstart Guide: Python. Python, I've learned, is more structured, and is generally more consistent in how the various commands work. Also, Perl and Python are definitely not on the same plane. Perl was developed from the specific needs of a lazy engineer, and then turned into a hodgepodge language that did everything for everybody with (apparently) no regard to consistency in structure or syntax or anything else. Which, I guess, is why it's so much fun.
|
|||