Tracing The #!: How The Linux Kernel Handles The Shebang

One of the delights in Bash, zsh, or whichever shell tickles your fancy in your OSS distribution of choice, is the ease of which you can use scripts. These can be shell scripts, or use the Perl, Python or another interpreter, as defined by the shebang (#!) at the beginning of the script. This signature is followed by the path to the interpreter, which can be /bin/sh for maximum compatibility across OSes, but how does this actually work? As [Bruno Croci] found while digging into this question, it is not the shell that interprets the shebang, but the kernel.

It’s easy enough to find out the basic execution sequence using strace after you run an executable shell script with said shebang in place. The first point is in execve, a syscall that gets one straight into the Linux kernel (fs/exec.c). Here the ‘binary program’ is analyzed for its executable format, which for the shell script gets us to binfmt_script.c. Incidentally the binfmt_misc.c source file provides an interesting detour as it concerns magic byte sequences to do something similar as a shebang.

As a bonus [Bruno] also digs into the difference between executing a script with shebang or running it in a shell (e.g. sh script.sh), before wrapping up with a look at where the execute permission on a shebang-ed shell script is checked.

Creating A Somatosensory Pathway From Human Stem Cells

Human biology is very much like that of other mammals, and yet so very different in areas where it matters. One of these being human neurology, with aspects like the human brain and the somatosensory pathways (i.e. touch etc.) being not only hard to study in non-human animal analogs, but also (genetically) different enough that a human test subject is required. Over the past years the use of human organoids have come into use, which are (parts of) organs grown from human pluripotent stem cells and thus allow for ethical human experimentation.

For studying aspects like the somatosensory pathways, multiple of such organoids must be combined, with recently [Ji-il Kim] et al. as published in Nature demonstrating the creation of a so-called assembloid. This four-part assembloid contains somatosensory, spinal, thalamic and cortical organoids, covering the entirety of such a pathway from e.g. one’s skin to the brain’s cortex where the sensory information is received.

Such assembloids are – much like organoids – extremely useful for not only studying biological and biochemical processes, but also to research diseases and disorders, including tactile deficits as previously studied in mouse models by e.g. [Lauren L. Orefice] et al. caused by certain genetic mutations in Mecp2 and other genes, as well as genes like SCN9A that can cause clinical absence of pain perception.

Using these assembloids the development of these pathways can be studied in great detail and therapies developed and tested.

A humanoid robot packs a lunch bag in the kitchen

Gemini 2.0 + Robotics = Slam Dunk?

Over on the Google blog [Joel Meares] explains how Google built the new family of Gemini Robotics models.

The bi-arm ALOHA robot equipped with Gemini 2.0 software can take general instructions and then respond dynamically to its environment as it carries out its tasks. This family of robots aims to be highly dexterous, interactive, and general-purpose by applying the sort of non-task-specific training methods that have worked so well with LLMs, and applying them to robot tasks.

There are two things we here at Hackaday are wondering. Is there anything a robot will never do? And just how cherry-picked are these examples in the slick video? Let us know what you think in the comments!

Continue reading “Gemini 2.0 + Robotics = Slam Dunk?”

A Mouse, No Hands!

There are some ideas which someone somewhere has to try. Take [Uri Tuchman]’s foot mouse. It’s a computer mouse for foot operation, but it’s not just a functional block. Instead it’s an ornate inlaid-wood-and-brass affair in the style of a very fancy piece of antique footwear.

The innards of an ordinary USB mouse are placed in something best described as a wooden platform heel, upon which is placed a brass sole with a couple of sections at the front to activate the buttons with the user’s toes. The standout feature is the decoration. With engraving on the brass and inlaid marquetry on the wood, it definitely doesn’t look like any computer peripheral we’ve seen.

The build video is below the break, and we’re treated to all the processes sped up. At the end he uses it in a basic art package and in a piloting game, with varying degrees of succes. We’re guessing it would take a lot of practice to gain a level of dexterity with this thing, but we salute him for being the one who tries it.

This has to be the fanciest peripheral we’ve ever seen, but surprisingly it’s not the first foot mouse we’ve brought you.

Continue reading “A Mouse, No Hands!”

GPS Broken? Try TV!

GPS and similar satellite navigation systems revolutionized how you keep track of where you are and what time it is. However, it isn’t without its problems. For one, it generally doesn’t work very well indoors or in certain geographic or weather scenarios. It can be spoofed. Presumably, a real or virtual attack could take the whole system down.

Addressing these problems is a new system called Broadcast Positioning System (BPS). It uses upgraded ATSC 3.0 digital TV transmitters to send exact time information from commercial broadcast stations. With one signal, you can tell what time it is within 100 ns 95% of the time. If you can hear four towers, you can not only tell the time, but also estimate your position within about 100 m.

The whole thing is new — we’ve read that there are only six transmitters currently sending such data. However, you can get a good overview from these slides from the National Association of Broadcasters. They point out that the system works well indoors and can work with GPS, help detect if GPS is wrong, and stand in for GPS if it were to go down suddenly.

Continue reading “GPS Broken? Try TV!”

Hackaday Podcast Episode 316: Soft Robots, Linux The Hard Way, Cellphones Into SBCs, And The Circuit Graver

Join Hackaday Editors Elliot Williams and Tom Nardi as they talk about the best stories and hacks of the week. This episode starts off with a discussion of the Vintage Computer Festival East and Philadelphia Maker Faire — two incredible events that just so happened to be scheduled for the same weekend. From there the discussion moves on to the latest developments in DIY soft robotics, the challenge of running Linux on 8-pin ICs, hardware mods to improve WiFi reception on cheap ESP32 development boards, and what’s keeping old smartphones from being reused as general purpose computers.

You’ll also hear about Command and Conquer: Red Alert running on the Pi Pico 2, highly suspect USB-C splitters, and producing professional looking PCBs at home with a fiber laser. Stick around to the end to hear about the current state of non-Google web browsers, and a unique new machine that can engrave circuit boards with remarkable accuracy.

Check out the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

As always, the Hackaday Podcast is available as a DRM-free MP3 download.

Continue reading “Hackaday Podcast Episode 316: Soft Robots, Linux The Hard Way, Cellphones Into SBCs, And The Circuit Graver”

Audio Effects Applied To Text

If you are a visual thinker, you might enjoy [AIHVHIA’s] recent video, which shows the effect of applying audio processing to text displayed on an oscilloscope. The video is below.

Of course, this presupposes you have some way to display text on an oscilloscope. Audio driving the X and Y channels of the scope does all the work. We aren’t sure exactly how he’s doing that, but we suspect it is something like Osci-Render.

Does this have any value other than art? It’s hard to say. Perhaps the effect of panning audio on text might give you some insight into your next audio project. Incidentally, panning certainly did what you would expect it to do, as did the pass filters. But some of the effects were a bit surprising. We still want to figure out just what’s happening with the wave folder.

If text isn’t enough for you, try video. Filtering that would probably be pretty entertaining, too. If you want to try your own experiments, we bet you could do it all — wave generation and filtering — in GNU Radio.

Continue reading “Audio Effects Applied To Text”