BootBasic Fits Your Favorite Language In The Boot Sector

Humans seem to have a need to do things that aren’t practical. Make the biggest ball of twine. Engrave the Declaration of Independence on a grain of rice. We want to make things bigger, smaller, faster, or whatever. That might explain why [nanochess] put out bootBASIC.

The 8088 (or later) assembly code gives you a very restricted BASIC interpreter that you can boot up. That means it has to fit in the 512-byte boot block that the hardware loads to get an operating system running. How restricted? Keep in mind it fits in 512 bytes. Each line can only have 19 characters or less. Backspace works, but doesn’t update the screen. Line numbers range from 1 to 999 and there are only 26 integer variables named a through z that hold 16 bits. All statements are in lower case.

Continue reading “BootBasic Fits Your Favorite Language In The Boot Sector”

Making An Update Server For PythonAnywhere And GitHub

Cloud based IDEs and development tools have grown over the years, though most have limitations in their free tiers and may not be fully compatible with other services such as GitHub. [Aadi Bajpai] loved using PythonAnywhere and to collaborate using GitHub, so he made a update server that automatically updates the running code once you make a push to Github

PythonAnywhere gives you access to a python shell over a web browser, and also lets you run a web app that can be accessed via a custom sub-domain. Even though it does not have direct integration with GitHub, you can drop to the bash shell to and get access to a git client.

For this hack, [Aadi Bajpai] utilizes the webhooks from GitHub that are triggered when a push event is detected. A flask server running on PythonAnywhere is written such that once triggered by the get POST request, it locally executes a git pull from the repository. There a bit more work that allows adding a bit of security sauce to the recipe but it is a pretty elegant solution and can be used for other cases as well.

Setting up alert notifications has been demonstrated to be an interesting task, though integrating Discord or Slack for notifications adds a little more bragging rights.

You Wouldn’t Download A Nuclear Reactor, But Could You?

By pretty much any metric you care to use, the last couple of decades has been very good for the open source movement. There was plenty of pushback in the early days, back when the only people passionate about the idea were the Graybeards in the IT department. But as time went on, more and more developers and eventually companies saw the benefit of sharing what they were working on. Today, open source is effectively the law of the land in many fields, and you don’t have to look far to find the community openly denouncing groups who are keeping their source under lock and key.

The open source submarine that won 2017 Hackaday Prize.

In the last few years, we’ve even seen the idea gain traction in the hardware field. While it’s not nearly as prevalent as opening up the software side of things, today it’s not uncommon to see hardware schematics and PCB design files included in project documentation. So not only can you download an open source operating system, web browser, and office suite, but you can also pull down all the information you need to build everything from a handheld game system to an autonomous submarine.

With so many projects pulling back the curtain, it’s not unreasonable to wonder where the limits are. There’s understandably some concerns about the emerging field of biohacking, and anyone with a decent 3D printer can download the files necessary to produce a rudimentary firearm. Now that the open source genie is out of the bottle, it seems there’s precious little that you can’t download from your favorite repository.

Scratching an exceptionally surprising entry off that list is Transatomic, who late last year uploaded the design for their TAP-520 nuclear reactor to GitHub. That’s right, now anyone with git, some uranium, and a few billion dollars of seed money can have their very own Molten Salt Reactor (MSR). Well, that was the idea at least.

So six months after Transatomic dumped a little under 100 MB worth of reactor documentation on GitHub, is the world any closer to forkable nuclear power? Let’s find out.

Continue reading “You Wouldn’t Download A Nuclear Reactor, But Could You?”

Hyperlinking Comes To GitHub Via Extension

If you are browsing GitHub it is very tempting to open up the source code to some project and peek at how it works. The code view is easy to read, but the viewer lacks one important feature: the ability to click on an included file and find it. The Octolinker extension fixes that oversight.

If you want to try it without installing the extension, there is a mock-up demo available. Even though the demo wants you to click on specific things, if you don’t play by the rules it will still do the right thing and take you to either the code on GitHub or an appropriate page. You can even substitute the demo URL for github.com and try it out on any GitHub page without the extension.

Continue reading “Hyperlinking Comes To GitHub Via Extension”

Easy Git Repository Summaries With Web-git-sum

For those hosting their own git repositories there are a number of solutions for creating convenient web-accessible front ends, but [mitxela] wasn’t quite satisfied with any of them. After trying a number of alternatives and reflecting on his requirements, he realized that all he really needed was a summary page listing the latest commits, and a file tree with a list of branches and tags. To accomplish this, he created web-git-sum. It’s a bash script that runs on git’s post-receive hook and generates only two files: a summary page and an index of the repository. You can see a demo of the output at git.mitxela.com.

[mitxela]’s writeup goes into some detail on how git repositories work, how those repositories are served over HTTP, and covers a few of the different options for providing convenient and accessible web front ends. Not all repositories are alike, and what works well for one may not work or scale well for another.

Intrigued by the idea of a private git server? We covered exactly how to set one up (spoiler: it’s really easy.)

Bonanza Of Keyswitch Datasheets Fills Our Decks With Clack

Mechanical keyboards use switches of a few different types. But even those types include myriad variations. How’s a hacker to know just exactly what equipment is out there?

For example, if you grab a fellow cube-farmer’s mechanical keyboard (possibly because they clacked on their Cherry Blue’s just one too many times) and angrily rip off a few keycaps to show you’re serious, what do you see? In most cases you expect to see the familiar color and stem shape of a Cherry MX switch or one of its various clones. But you may find a square box around it like a Kailh Box switch. Or the entire stem is a box (with no +) like a Matias switch. Or sometimes it looks like a little pig snout, making it a Kailh Choc.

There is a fairly wide variety of companies which make key switches suitable for use in a keyboard. Many hew to the electrical and mechanical standards implicitly created by the dominant Cherry GmbH’s common switches but not all. So if you’re designing a PCB for such a keyboard and want to use odd switches, you need to check out the Keyboardio keyswitch_documentation repo!

The keyswitch_documentation repo is an absolute treasure trove of hard to find keyswitch datasheets. Finding official information on Cherry MX switches isn’t too hard (keyswitch_documentation has 22 data sheets for MX series switches, and four for ML). But those Kailh Choc’s? Good luck (here it is in keyswitch_documentation). Did you know Tai-Hao made Matias-esque switches as well as weird rubber keycaps? Well they do, and here’s the datasheet.

We’re keeping this one handy until the next time we need data sheets for weird switches. Make sure to send a note if you find something interesting in here that’s worth noting!

Kinect Music Visualizer Program Demo

Kinect Visualizer Demo Gives Winamp A Run For Its Money

Winamp eat your heart out, because thanks to the Microsoft Kinect in the hands of [Samarth] there’s a new way to make your screen dance along with you. He created a music visualizer demo that takes advantage of the 3D depth camera on Kinect by outputting a fun pixelated silhouette and color changing strobe. When there are big high-hat hits or bass thumps the camera feed reacts accordingly (as any good visualizer would). He even uploaded his code for the project just in case anyone would like to take a look at it.

The visualizer utilizes the OpenKinect-Processing library which has provided the backbone to many other similar Kinect art projects. It was specifically created to provide a quicker way for coders to access the raw color and depth data output by Kinect. It’s creator, Daniel Shiffman, has posted a number of tutorials to aid anyone looking to create their own real-time animations as well.

The visualizer demo (see video below) was created as part of Maker Faire Hyderabad which is happening over the weekend. The expo is the city’s first Maker Faire and is set to feature over 200 maker exhibits across multiple disciplines. It’s always great to see maker communities outside of the ones that are closest to you geographically speaking, so hopefully we’ll see many more like [Samarth] taking part in more maker events in the future.

Continue reading “Kinect Visualizer Demo Gives Winamp A Run For Its Money”