Getting up and running with the Raspberry Pi Compute Module 4

Given how easy it is to get the board version of the Raspberry Pi 4 up and running, I figured that getting started with the compute module would be a walk in the park.  Not so.  The Compute Module 4 (CM) and Compute Module 4 IO Board are designed for more industrial usage, so there are more knobs and switches if you will. I hope I can save you some time.   Main caveats The USB host on the Compute Module 4 IO board are disabled by default. The MiniUART is disabled by default Bluetooth is disabled by default The SD Card only works for Lite (no eMMC) models of the compute modules As an aside, Compute Modules dissipate heat less than Raspberry Pi boards, so some level of at least passive cooling will be needed.  It's a good idea to at least add heat sinks to the CPU and other components before proceeding. So there are two main tasks ahead: Imaging the eMMC or SD Card Gaining terminal or desktop access Flashing your module If you have a Compute Module 4 Lite (no eMMC), this job is eas

Don't Repeat Yourself... Really!

...And I hope that someday That you, you people will all have the chance To read The Helping Friendly Book And experience the wisdom Of the great, the great and knowledgeable Man who wrote The Helping Friendly Book  Because he is, the great and knowledgeable He is the one, the only author of The Helping Friendly Book He is the man The great man The only, the special His name is The author of The Helping Friendly Book He is the great The knowledgeable, the one and the only The great, the knowledgeable Person who wrote The Helping Friendly Book His name could only be The one, the only, the only, the special The author of The Helping Friendly Book... -Excerpt from Icculus by Phish There are few mantras that are as universally agreed upon by Software Engineers as Don't Repeat Yourself or DRY.  It rings deeply and globally true that any form of code duplication is at best a compromise, at worst, an abominable trap.  Writing and maintaining code is d

Convolution Neural Networks for Image Categorization

Why I''m writing this to help developers without a degree in artificial intelligence understand the subject, as most material on the matter is rather complex.  I am also hoping to shore up my own understanding as I am relatively new to the subject of deep learning neural networks.  What The problem domain is essentially a function whereby and image is passed in, and one or more categories result, each with an associated probability. A convolution neural network used for image categorization. There are many other similar use cases as well, such as gesture recognition but for this article we'll limit discussion to this case. More technically, a Convolution Neural Network (CNN) is a specific type of deep learning neural network which is comprised of: An input layer containing a bitmap. Some number of convolution layers, which apply convolution filters and output the result to the next layer. Some number of sub-sampling layers, which each downsize the data

Camtasia Studio Tips

Camtasia is great software for recording audio/screen presentations.  Here are some tips and standards we've used: Recording Change the recording options to record to ''AVI format'' (the CAMREC format can lose audio/video sync over a long recording) Recorded movies should be 800x600 or less unless there is a specific reason to record larger.  Using the smallest capture size possible improves the readability and reduces the file size. All videos should start with an announcement of what is being demonstrated (e.g. "This is a demonstration of the Device Capture System introduced in Cashwise 3.7) Don't record the application window; set one of your screens to 800x600 and record the screen.  This ensures that any popup windows or menus remain within the recorded region. If recording other than the primary screen, select 'region' and select then entire alternate screen Hide any toolbars or other desktop clutter. Run a short test to be sure that

Web applications - now only 15 years behind!

It seems to me that web applications are finally approaching where "rich client" applications were in the late 90s. People are finally pooling together abstractions and forming UI toolkits around them.  What would be really great would be if we could skip 15 more years and stop using HTML altogether.

Down with whiners... Microsoft

I've pandered to, accommodated, supported, and even defended Microsoft for years now, but I'm through. To this point, they may have occasionally been the big bully, but more the special ed kid kind of bully than the vindictive Harvard graduate type. They've had a sort of unspoken culture of defensive litigation. Though they may have used some aggressive tactics, their overall approach has seemed to be: win the battle through providing better software. With their recent whining about how the open source world is stomping on all their B.S. patents, they have crossed the line. I don't like Microsoft any more. Go Linux! Go Mac!

Needed: voice tracking webcam

We recently acquired Logitech's motion tracking webcam in order to better capture presentations, discussions, and training sessions. In case you are interested, the camera is the Logitech QuickCam Orbit MP . The camera does what it advertises and does so pretty well.  As the presenter moves around, the camera keeps the person within the field of view.  As an aside I was a little surprised by the fact that this camera moves in small jolts rather than in a smooth manner.  Though the resulting video doesn't feel very professional, I would rather have this behavior that see constant movement as the system tries to decide where to point.  Perhaps with sufficiently sophisticated software, a gradual movement system would be better. Where the camera doesn't do as well is when more than one person is involved.  The camera basically seems to track the "biggest" movement, so in a presentation setting, if one person walks away from the center of the action, the camera basic