Depending on the circles you run in, it can seem like the mechanical keyboard community is all about reduced layouts, and keebs without ten-keys are about as big as it gets. But trust us, there’s plenty of love out there for the bigger ‘boards like [Ben]’s tasty fat-bottomed keyboard. Man oh man, what a delicious slab of throwback to the days when keyboards doubled as melee weapons.
More specifically, this is a 199-key modified Sun Type 5 layout. It runs on two Teensy 2.0s — one for the keyboard matrix, and one for everything else. [Ben] made the metal enclosure entirely by hand without a CNC or laser cutter. While I don’t personally care for linear switches, I have mad respect for these, which are vintage Cherry Blacks pulled from various 1980s AT/XT boards. That 10-key island on the left is dedicated to elementary macros like undo/redo, cut/copy/paste, and open/close/save.
We absolutely love the gigantic rotary encoders, which give it a bit of a boombox look. There’s even reuse involved here, because the encoder knobs are made from jam jar lids that are stuffed with homemade Sugru. [Ben] can use them to play PONG on the LCD and other games not yet implemented on the everything-else Teensy.
Here’s another Sun-inspired keeb, but this one has a reverse 10-key layout that matches the DTMF phone dial.
GitHub has enabled free code analysis on public repositories. This is the fruit of the purchase of Semmle, almost exactly one year ago. Anyone with write permissions to a repository can go into the settings, and enable scanning. Beyond the obvious use case of finding vulnerabilities, an exciting option is to automatically analyse pull requests and flag potential security problems automatically. I definitely look forward to seeing this tool in action.
The Code Scanning option is under the Security tab, and the process to enable it only takes a few seconds. I flipped the switch on one of my repos, and it found a handful of issues that are worth looking in to. An important note, anyone can run the tool on a forked repo and see the results. If CodeQL finds an issue, it’s essentially publicly available for anyone who cares to look for it.
Simpler Code Scanning
On the extreme other hand, [Will Butler] wrote a guide to searching for exploits using grep. A simple example, if
raw shows up in code, it often signals an unsafe operation. The terms
todo, often in comments, can signal a known security problem that has yet to be fixed. Another example is
unsafe, which is an actual keyword in some languages, like Rust. If a Rust project is going to have vulnerabilities, they will likely be in an
unsafe block. There are some other language-dependent pointers, and other good tips, so check it out.
Continue reading “This Week In Security: Code Scanning, Information Gathering, And Seams In The Cloud”
Are you tired of cats and other wildlife relieving themselves in your outdoor plant pots? As if accidental neglect won’t kill them fast enough. [TecnoProfesor] has a solution, and it doesn’t even involve a microcontroller. It detects the presence of approaching animals and then blasts them with annoying sounds and a couple of bright green LEDs to drive them away.
Thanks to a couple of modules, the circuit is really pretty simple. There’s a PIR to detect the animals, a buzzer, and a 555-based pulse generator to play tones through the buzzer. This circuit can run 24/7 on a pair of 6V solar panels that charge up a battery. We particularly like the desk trash can enclosure, though we have to wonder how waterproof this system is. Check out the brief demo after the break.
For all of you satisfied with the 555 implementation here, your reward is this giant functioning 555. If you’re a 555 naysayer, how would you have done it better?
Continue reading “Tiny Trash Can Repels Trash Pandas, Medium-Sized Cats”
Simple drafting programs just let you draw like you’d use a pencil. But modern programs use parametric models to provide several benefits. One is that you can use parameters to change parts of your design and other parts will alter to take account of your changes. The other advantage is you can use one model for many similar but different designs. [Brodie Fairhall] has a nice video about how to use parameters in FreeCAD.
The nice thing about parameters is they don’t have to be just constants. You can put in formulae as well. For example, you could define one line as being twice as big as another line. You provide various constraints and parameters and FreeCAD works out the shape for you, keeping all the constraints and formulae satisfied.
Continue reading “FreeCAD Parametrics Made Simple”