Linux-Fu: Help Messages For Shell Scripts And Here Documents

Imagine that you want to output multiple lines of text in Bash, or any shell script. Maybe it’s for a help string for a particularly convoluted shell script you’re writing. You could have a separate echo command for each line.  Or you could use the “here document“.

The “here document” construction takes the text between two delimiters and passes it, as if it were piped, to a command.

if [[$# == 0 ]] || [[ "$1" == "-h" ]]; then
cat << EOF
This is my help message. There are many like it but this one is mine.
My help message is my best friend.
EOF

All of the text, as written, with line breaks and spaces and all, get passed to cat and your helpful formatted message is printed to the user.

Continue reading “Linux-Fu: Help Messages For Shell Scripts And Here Documents”

Cheap And Effective Mosquito Trap Looks Like A Disco

Words cannot quite articulate the collective loathing humankind has for mosquitoes, and rightfully so! These parasite peddling, blood sucking little critters are responsible for a great deal of human suffering. Mosquito-borne diseases such as malaria still account for a significant proportion of human mortality, especially in under-developed parts of the world . So it’s no wonder that people try to reduce their numbers; see this latest $40 mosquito trap by [jacobsk]. (Video, embedded below.)

The idea is critically simple, opening up the potential for widespread deployment. The base and body of the trap are made out of three five-gallon buckets with a mini desk fan sandwiched in between, providing suction into the main trap bin. An opening is cut in the top bucket as a point of entry, and an old school incandescent blacklight is mounted in the centre, with just enough IR and UV output to entice these little vermin, who will definitely regret mistaking it for a black-light rave.

[jacobsk] also does a very good job of showing every step of its construction in his videos. Whilst this solution is purposefully low tech, check out this admittedly overcooked way of killing mosquitoes, with a laser turret.

Continue reading “Cheap And Effective Mosquito Trap Looks Like A Disco”

COVID Tracing Apps: What Europe Has Done Right, And Wrong

Europe has been in COVID-containment mode for the last month, in contrast to the prior three months of serious lockdown. Kids went back to school, in shifts, and people went on vacation to countries with similarly low infection rates. Legoland and the zoo opened back up, capped at 1/3 capacity. Hardware stores and post offices are running “normally” once you’ve accommodated mandatory masks and 1.5 meter separations while standing in line as “normal”. To make up for the fact that half of the tables have to be left empty, most restaurants have sprawled out onto their terraces. It’s not really normal, but it’s also no longer horrible.

But even a country that’s doing very well like Germany, where I live, has a few hundred to a thousand new cases per day. If these are left to spread unchecked as before, the possibility of a second wave is very real, hence the mask-and-distance routine. The various European COVID-tracing apps were rolled out with this backdrop of a looming pandemic that’s tenuously under control. While nobody expects the apps to replace public distancing, they also stand to help if they can catch new and asymptomatic cases before they get passed on.

When Google and Apple introduced their frameworks for tracing apps, I took a technical look at them. My conclusion was that the infrastructure was sound, but that the implementation details would be where all of the dragons lay in wait. Not surprisingly, I was right!

Here’s an update on what’s happened in the first month of Europe’s experience with COVID-tracing apps. The good news is that the apps seem to be well written and based on the aforementioned solid foundation. Many, many people have installed at least one of the apps, and despite some quite serious growing pains, they seem to be mostly functioning as they should. The bad news is that, due to its privacy-preserving nature, nobody knows how many people have received warnings, or what effect, if any, the app is having on the infection rate. You certainly can’t see an “app effect” in the new daily cases rate. After a month of hard coding work and extreme public goodwill, it may be that cellphone apps just aren’t the panacea some had hoped.

Continue reading “COVID Tracing Apps: What Europe Has Done Right, And Wrong”

Pinephone Gets Thermal Imaging Backpack

When you buy a mass-market mobile phone, you’re making the decision to trust a long list of companies with your private data. While it’s difficult for any one consumer to fully audit even a single piece of consumer technology, there have been efforts to solve this problem to a degree. The Pinephone is one such example, with a focus on openness and allowing users to have full control over the hardware. [Martijn Braam] is a proud owner of such a device, and took advantage of this attitude to add a thermal imager to the handset.

The build is not a difficult one, thanks to the expansion-friendly nature of the Pinephone hardware. The rear of the phone sports six pogo pins carrying an I2C bus as well as power. [Martin] started by modifying the back cover of the phone with contacts to interface with the pogo pins. With this done, the MLX90640 thermal imager was attached to the case with double-sided tape and wired up to the interface.

While the 32×24 output from the sensor isn’t going to help you build cutting edge heat-seeking missiles, it’s an affordable sensor with good performance for low-end thermal imaging tasks. We’ve featured teardowns of thermal imaging hardware before, too.

See The Science Behind VR Display Design, And What Makes A Problem Important

VR headsets are more and more common, but they aren’t perfect devices. That meant [Douglas Lanman] had a choice of problems to address when he joined Facebook Reality Labs several years ago. Right from the start, he perceived an issue no one seemed to be working on: the fact that the closer an object in VR is to one’s face, the less “real” it seems. There are several reasons for this, but the general way it presents is that the closer a virtual object is to the viewer, the more blurred and out of focus it appears to be. [Douglas] talks all about it and related issues in a great presentation from earlier this year (YouTube video) at the Electronic Imaging Symposium that sums up the state of the art for VR display technology while giving a peek at the kind of hard scientific work that goes into identifying and solving new problems.

Early varifocal prototype

[Douglas] chose to address seemingly-minor aspects of how the human eye and brain perceive objects and infer depth, and did so for two reasons: one was that no good solutions existed for it, and the other was that it was important because these cues play a large role in close-range VR interactions. Things within touching or throwing distance are a sweet spot for interactive VR content, and the state of the art wasn’t really delivering what human eyes and brain were expecting to see. This led to years of work on designing and testing varifocal and multi-focal displays which, among other things, were capable of presenting images in a variety of realistic focal planes instead of a single flat one. Not only that, but since the human eye expects things that are not in the correct focal plane to appear blurred (which is itself a depth cue), simulating that accurately was part of things, too.

The entire talk is packed full of interesting details and prototypes. If you have any interest in VR imaging and headset design and have a spare hour, watch it in the video embedded below.

Continue reading “See The Science Behind VR Display Design, And What Makes A Problem Important”

Electrochemistry At Home

A few years ago, I needed a teeny, tiny potentiostat for my biosensor research. I found a ton of cool example projects on Hackaday and on HardwareX, but they didn’t quite fulfill exactly what I needed. As any of you would do in this type of situation, I decided to build my own device.

Now, we’ve talked about potentiostats before. These are the same devices used in commercial glucometers, so they are widely applicable to a number of biosensing applications. In my internet perusing, I stumbled upon a cool chip from Texas Instruments called the LMP91000 that initially appeared to do all the hard work for me. Unfortunately, there were a few features of the LMP91000 that were a bit limiting and didn’t quite give me the range of flexibility I required for my research. You see, electrochemistry works by biasing a set of electrodes at a given potential and subsequently driving a chemical reaction. The electron transfer is measured by the sensing electrode and converted to a voltage using a transimpedance amplifier (TIA). Commercial potentiostats can have voltage bias generators with microVolt resolution, but I only needed about ~1 mV or so. The problem was, the LMP91000 has a resolution of ~66 mV on a 3.3 V supply, mandating that I augment the LMP991000 with an external digital-to-analog converter (DAC) as others had done.

However, changing the internal reference of the LMP91000 with the DAC confounded the voltage measurements from the TIA, since the TIA is also referenced to the same internal zero as the voltage bias generator. This seemed like a problem other DIY solutions I came across should have mentioned, but I didn’t quite find any other papers describing this problem. After punching myself a little, I thought that maybe it was a bit more obvious to everyone else except me. It can be like that sometimes. Oh well, it was a somewhat easy fix that ended up making my little potentiostat even more capable than I had originally imagined.

I could have made a complete custom potentiostat circuit like a few other examples I stumbled upon, but the integrated aspect of the LMP91000 was a bit too much to pass up. My design needed to be as small as possible since I would eventually like to integrate the device into a wearable. I was using a SAMD21 microcontroller with a built-in DAC, therefore remedying the problem was a bit more convenient than I originally thought since I didn’t need an additional chip in my design.

I am definitely pretty happy with the results. My potentiostat, called KickStat, is about the size of a US quarter dollar with a ton of empty space that could be easily trimmed on my next board revision. I imagine this could be used as a subsystem in any number of larger designs like a glucometer, cellphone, or maybe even a smartwatch.

Check out all the open-source files on my research lab’s GitHub page. I hope my experience will be of assistance to the hacker community. Definitely a fun build and I hope you all get as much kick out of it as I did.

Folding@Home And Rosetta, For ARM

Most readers will be aware of the various distributed computing projects that provide supercomputer-level resources to researchers by farming out the computing tasks across a multitude of distributed CPUs and GPUs. The best known of these are probably Folding@Home and Rosetta, which have both this year been performing sterling service in the quest to understand the mechanisms of the SARS COVID-19 virus. So far these two platforms have remained available nearly exclusively for Intel-derived architectures, leaving the vast number of ARM-based devices out in the cold. It’s something the commercial distributed-computing-on-your-phone company Neocortix have addressed, as they have successfully produced ARM64 clients for both platforms that will be incorporated into the official clients in due course.

So it seems that mundane devices such as mobile phones and the more capable Raspberry Pi boards will now be able to fold proteins like a boss, and the overall efforts to deliver computational research will receive a welcome boost. But will there be any other benefits? It’s a Received Opinion that ARM chips are more power-efficient than their Intel-derived cousins, but will this deliver more energy-efficient distributed computing? The answer is “probably”, but the jury’s out on that one as computationally intensive tasks are said to erode the advantage significantly.

Folding@Home was catapulted by the influx of COVID-19 volunteers into first place as the world’s largest supercomputer earlier this year, and we’re pleased to say that Hackaday readers have played their part in that story. As this is being written the July 2020 stats show our team ranked at #39 worldwide, having racked up 14,005,664,882 points across 824,842 work units. Well done everybody, and we look forward to your ARM phones and other devices boosting that figure. If you haven’t done so yet, download the client and join us..

Via HPCwire. Thanks to our colleague [Sophi] for the tip.