WebAssembly: What Is It And Why Should You Care?

If you keep up with the field of web development, you may have heard of WebAssembly. A relatively new kid on the block, it was announced in 2015, and managed to garner standardised support from all major browsers by 2017 – an impressive feat. However, it’s only more recently that the developer community has started to catch up with adoption and support.

So, what is it? What use case is so compelling that causes such quick browser adoption? This post aims to explain the need for WebAssembly, a conceptual overview of the technical side, as well as a small hands-on example for context.

Continue reading “WebAssembly: What Is It And Why Should You Care?”

Web Development: What’s Big In 2019?

I try to keep up with web development trends but it’s hard to keep pace since it’s such a fast evolving field. Barely a week goes by without the release of a new JS framework, elaborate build tool or testing suite — all of them touted as the one to learn. Sorting the hype from the genuinely useful is no mean feat, so my aim in this article is to summarise some of the most interesting happenings that web development saw in the last year, and what trends we expect to see more of in 2019.

A technology or framework doesn’t have to be brand new to be on our list here, it just needs to be growing rapidly or evolving in an interesting way. Let’s take a look!

Continue reading “Web Development: What’s Big In 2019?”

A Safe, Ducted Drone With No Visible Blades

We love a good drone build here at Hackaday, but no matter how much care is taken, exposed propellers are always a risk: you don’t have to look far on the web to see videos to prove it. Conventional prop-guards like those seen on consumer drones often only protect the side of the propeller, not the top, and the same problem goes for EDFs. [Stefano Rivellini]’s solution was to take some EDFs and place them in the middle of large carbon fibre thrust tubes, making it impossible to get anywhere near the moving parts. The creation is described as a bladeless drone, but it’s not: they’re just well hidden inside the carbon fibre.

We’re impressed by the fact that custom moulds were made for every part of the body, allowing [Stefano] to manually create the required shapes out of carbon fibre cloth and epoxy. He even went to the trouble of running CFD on the design before manufacture, to ensure that there would be adequate thrust. Some DJI electronics provide the brains, and there’s also a parachute deployment tube on the back.

Whilst there’s no doubt that the finished drone succeeds at being safe, the design does come at the cost of efficiency. The power electronics needed are far more serious than we’d usually see on a drone of this size, to compensate for the extra mass of the thrust ducts and the impediment to the air-flow caused by the two 90° bends.

One of our favorite EDF drone innovations that we saw recently was this thrust-vectored single rotor device, a really unique idea that took some interesting control methods to implement.

[Thanks, Itay]

Continue reading “A Safe, Ducted Drone With No Visible Blades”

Thread Carefully: An Introduction To Concurrent Python

The ability to execute code in parallel is crucial in a wide variety of scenarios. Concurrent programming is a key asset for web servers, producer/consumer models, batch number-crunching and pretty much any time an application is bottlenecked by a resource.

It’s sadly the case that writing quality concurrent code can be a real headache, but this article aims to demonstrate how easy it is to get started writing threaded programs in Python. Due to the large number of modules available in the standard library which are there to help out with this kind of thing, it’s often the case that simple concurrent tasks are surprisingly quick to implement.

We’ll walk through the difference between threads and processes in a Python context, before reviewing some of the different approaches you can take and what they’re best suited for.

Continue reading “Thread Carefully: An Introduction To Concurrent Python”

Hacker Makes A Flawless Booby Trap, Strikes Back Against Package Thieves

[Mark Rober] was fed up with packages going missing. He kept receiving notifications that his shipments had been delivered, but when checking his porch he found nothing there. Reviewing the CCTV footage revealed random passers-by sidling up to his porch and stealing his parcels. It was time to strike back. Over six months, [Mark] and his friends painstakingly designed, prototyped and iterated the perfect trap for package thieves, resulting in a small unit disguised as an Apple HomePod. The whole scheme is wonderfully over-engineered and we love it.

The main feature of the device is a spinning cup on the top which contains a large amount of glitter. When activated, it ejects glitter in every directions. You could say it’s harmless, as it’s just glitter. But then again, glitter has a way of staying with you for the rest of your life — turning up at the least expected times. It certainly leaves an emotional impression.

Activation is quite clever; the fake package sits on the porch until an accelerometer detects movement. At that point, GPS checks to see if the package has traveled outside a geo-fence around [Mark]’s house. A signal is then sent to the four smartphones to start recording — yes, that’s right, there are 4 phones inside, one on each side to capture the reaction of the thief.

How can [Mark] be so confident that he’ll be able to recover the four phones and their footage? That’s answered by GPS tracking and a can of fart spray actuated by a 3D printed cam and DC motor, ensuring the thief won’t want this package around for long. This actuator and the glitter motor are controlled by a custom PCB, which also triggers the phones to start recording through their headphone jacks and detects the opening of the package with some microswitches. This is truly a masterpiece that outsmarts the package thieves in a way that leaves an impression while still being playful.

(Editor’s Note 2: On 12/20/18 it was announced that two of the five thieves shown in the originally video were staged, apparently without [Mark Rober’s] knowledge. Here is his statement on the matter.)

(Editor’s Note 1: [Sean Hodgins] wrote in with bonus video on how the Glitter Bomb works and how it was made.)

If booby traps are your thing, we’ve got you covered. Check out this ticking bomb style puzzle, or this crate challenge which is rigged to blow.

Continue reading “Hacker Makes A Flawless Booby Trap, Strikes Back Against Package Thieves”

Real Time Satellite Tracker Shows You What’s Going Over Your Head

Whilst modern technology relies heavily on satellites, it’s easy to forget they’re there; after all, it’s hard to comprehend mostly-invisible lumps of high-density tech whizzing around above you at ludicrous speeds. Of course, it’s not hard to comprehend if you’ve built a real-time satellite tracker which displays exactly what’s in orbit above your head at any given time. [Paul Klinger]’s creation shows the position of satellites passing through a cylinder of 200 km radius above the tracker.

Each layer of LEDs represents a specific band of altitude, whilst the colour of the LEDs and text on the screen represent the type of object. The LEDs themselves are good old WS2812b modules, soldered to a custom PCB and mounted in a 3D-printed stand. The whole thing is a really clean build and looks great – you can see it in action in the video after the break

On the software side, a Raspberry Pi is in charge, running Python which makes use of pyorbital for some of the heavy lifting. The data is taken from space-track.org, who provide a handy API. All the code is on the project GitHub, which also includes the 3D print and PCB files.

[Paul] answers questions in the reddit thread, and gives more detail in this reddit comment. The project was inspired by one of our favorite sites: stuffin.space.

Some of the satellites the device displays are de-commisioned and inactive. Space junk is a significant problem, one which can only be tackled by a space garbage truck.

Continue reading “Real Time Satellite Tracker Shows You What’s Going Over Your Head”

E-ink Typewriter Is Refreshingly Slow

It’s pretty hard to use the internet to complete a task without being frequently distracted. For better or worse, there are rabbit holes at every turn and whilst exploring them can be a delight, sometimes you just need to focus on a task at hand. The solution could be in the form of distraction-blocking software, razor-sharp willpower, or a beautifully crafted modern “typewriter”. The constraint and restriction of a traditional typewriter appealed to [NinjaTrappeur], but the inability to correct typos and share content online was a dealbreaker. A hybrid was the answer, with a mechanical keyboard commanding an E-ink display driven by a Raspberry Pi.

The main point of interest in this build is the E-ink screen. Though it’s easy to acquire theses displays in small sizes, obtaining a screen greater than four inches proved to be a challenge. Once acquired, driving the screen over SPI was easy, but the refresh rate was horrific. The display takes three seconds to redraw, and whilst [NinjaTrappeur] was hoping to implement a faster “partial refresh”, he was unable to read the appropriate values from the onboard flash to enable manual control of the drawing stages. Needless to say, [NinjaTrappeur] asks if people have had success driving these displays at a more usable rate, and would love to hear from you if so.

Some auxiliary hacks come in the form of terminal emulator adaptation, porting the E-ink screen library from C++ to C, and capturing the keyboard input. A handmade wooden case finishes it off.

If it’s old-school typewriters that float your boat, we’ve got you covered: this solenoid-actuated typewriter printer eventually became a musical instrument, and this daisy wheel machine produces ASCII art from a live camera.

[Via Boing Boing]