A Spreadsheet For The Python Hacker

You can write a Python program or use a Jupyter Notebook to do almost anything. But you can also get a lot of things done quickly using a spreadsheet. Grist is a “hacker’s” spreadsheet that merges these worlds. It looks like a spreadsheet, but underneath are SQLite tables and the formula language is Python.

The code is open source and if you want it hosted, there are free and paid plans. You can even try it out without even logging in and either start with a blank screen or use a template. You can see an introductory video below.

Continue reading “A Spreadsheet For The Python Hacker”

AI Midjourney Imagines “Stairway To Heaven”

This modern era of GPU-accelerated AI applications have their benefits. Pulling useful information out of mountains of raw data, alerting users to driving hazards, or just keeping an eye on bee populations are all helpful. Lately there has been a rise in attempts at producing (or should that be curating?) works of art out of carefully sculpted inputs.

One such AI art project is midjourney, which can be played with via a Discord integration bot. That bot takes some textual input, then “dreams” with it, producing sometime uncanny, often downright disturbing images.

You can have a tinker with it for free, for a short while, but there is monthly cost if you want to use it ‘for real’ whatever that means. YouTuber [Daara] has been feeding the lyrics from Led Zeppelin’s “Stairway to Heaven” into it, producing a video tour of the resulting outputs for your perusal. Continue reading “AI Midjourney Imagines “Stairway To Heaven””

Equalize Your Listening With HiFiScan

Audiophiles will go to such extents to optimize the quality of their audio chain that they sometimes defy parody. But even though the law of diminishing returns eventually becomes a factor there is something in maintaining a good set of equipment. But what if your audio gear is a little flawed, can you fix it electronically? Enter HiFiScan, a piece of Python software to analyse audio performance by emitting a range of frequencies and measuring the result with a microphone.

This is hardly a new technique, and it’s one which PA engineers have used for a long time to tune out feedback resonances, but an easy tool bringing it to the domestic arena is well worth a look. HiFiScan is a measuring tool so it won’t magically correct any imperfections in your system, however it can export data in a format suitable for digital effects packages.

Naturally its utility is dependent on the quality of the hardware it’s used with, but the decent quality USB microphone used in the examples seems to give good enough results. We see it used in a variety of situations, of which perhaps the most surprising is a set of headphones that have completely different characteristics via Bluetooth as when wired.

If audio engineering interests you, remember we have an ongoing series: Know Audio.

Git Intro For Hardware Hackers

Git is a wonderful tool that can multiply your project’s impact, or make your project easier to manage by an order of magnitude. Some of us hackers don’t yet know how to use command-line Git, but a relatable example of why a certain tool would be useful might be a good start. Today, I’d like to give you a Git crash course – showing you why and how to put a KiCad PCB into a Git repository, later to be shared with the world.

KiCad works wonderfully with Git. The schematic and PCB files of KiCad are human-readable, especially when compared to other PCB file formats. KiCad creates different files for different purposes, each of them with a well-defined role, and you can make sense of every file in your project folder. What’s more, you can even modify KiCad files in a text editor! This is exactly the kind of use case that Git fits like a glove.

Not Just For Software Developers

What’s Git about, then? Fundamentally, Git is a tool that helps you keep track of code changes in a project, and share these changes with each other. Intended for Linux kernel development as its first target, this is what it’s been designed for, but it’s flexibility extends far beyond software projects. We hardware hackers can make use of it in a variety of ways – we can store PCB and other design software files, blog articles, project documentation, personal notes, configuration files and whatever else that even vaguely fits the Git modus operandi. Continue reading “Git Intro For Hardware Hackers”

The TAK Ecosystem: Military Coordination Goes Open Source

In recent years you’ve probably seen a couple of photos of tablets and smartphones strapped to the armor of soldiers, especially US Special Forces. The primary app loaded on most of those devices is ATAK or Android Tactical Assault Kit. It allows the soldier to view and share geospatial information, like friendly and enemy positions, danger areas, casualties, etc. As a way of working with geospatial information, its civilian applications became apparent, such as firefighting and law-enforcement, so CivTAK/ATAK-Civ was created and open sourced in 2020. Since ATAK-Civ was intended for those not carrying military-issued weapons, the acronym magically become the Android Team Awareness Kit. This caught the attention of the open source community, so today we’ll dive into the growing TAK ecosystem, its quirks, and potential use cases.

Tracking firefighting aircraft in 3D space using ADS-B (Credit: The TAK Syndicate)

Continue reading “The TAK Ecosystem: Military Coordination Goes Open Source”

Organise Your Hacks With TreeSheets: An Open Source Hierarchical Spreadsheet

Some people may have heard of Dutch programmer [Wouter Van Oortmerssen] since he’s the creator of the Amiga-E programming language, as well as being involved with several game engines. Heard of SimCity? How about Borderlands 2 or Far Cry? Having had clearly a long and illustrious career as a programmer for a variety of clients — including a long stint at Google, working on Web Assembly — many people will be familiar with at least some of his work. But you may not have heard of his TreeSheets productivity tool. Which would be a shame, as you’ve been missing out on something pretty darn useful.

TreeSheets is described as a hierarchical spreadsheet, which is intended as a replacement for several distinct tools; think spreadsheets, mindmaps and text editors and similar. In [Wouter]’s words:

It’s like a spreadsheet, immediately familiar, but much more suitable for complex data because it’s hierarchical.
It’s like a mind mapper, but more organized and compact.
It’s like an outliner, but in more than one dimension.
It’s like a text editor, but with structure.

Having been in development for about a decade, TreeSheets might look a bit dated here and there, but the design is clear and distraction-free, which is exactly what you need when you’re trying to focus on the task in hand. Why not give it a try and see if it works for you? After the break, you can see a video tutorial by YouTube user [DrilixProject].

No strangers to productivity hacks, here’s Pomodachi, a cute pomodoro timer crossed with a Tamagotchi. Sometimes productivity isn’t solved with software tools, but more to do with your attitude to projects. Finally sometimes the route to greater productivity is a little closer to home, like inside your head.

Continue reading “Organise Your Hacks With TreeSheets: An Open Source Hierarchical Spreadsheet”

A Simple Web Configured BLE To GPIO Bridge

[Daniel Dakhno] kept ending up in a situation where the ability to read the status of, or control a few digital IO pins with minimal effort, would be terribly useful. Not wanting to keep compiling code, for such simple needs, they instead used a nRF51-based module as a physical interface and produced a general purpose firmware that could be configured with a simple web interface. The NRF51-IO-module was born, whose job is to pair with whatever device you have in front of you, provided it supports BLE, and give direct access to those IO pins.

Rather than acting as a rather slow logic analyser, the firmware is intended for mostly static configurations. The web application sends a configuration packet over to the nRF51 board, which then programs it into FLASH and restarts, reading the updated configuration and applying it to the IO pins. These outputs then persist as long as there is power. The read-side of the equation can also be performed via the web page, but we didn’t have a chance to verify that. The code implements the Bluetooth automation IO service as well as the binary sensor service so if you have access to applications that talk these services, then you should be able to fire it up and go with it, although we’ve not personally tested this due to lack of an nRF51 board. We noticed that the Home Assistant automation platform supports the BT binary sensor, which might be a big help for some people with a need for some wireless control and sensing.

If you need a practical example of a use for remote sensing, here’s a physical mailbox status monitor, using the nRF51. Whilst we’re thinking of Bluetooth and sensors, here’s a custom firmware for some super cheap environment sensors that frees them from vendor lock-in.

Header image: Ubahnverleih, CC0.