Solder this tiny board to the contacts of the joystick ports on your Commodore (supports the C64, C128, and Amigas; generally anything Commodore) and it'll prevent static damage to ICs on the mainboard through the joystick port by wicking away the current to TVS (transient voltage suppressor) diodes because they present an easier path to follow. Protects the CIA 6526A and 6581 chips in particular because there are relatively short routes from the jacks to those ICs.
The Retro-Printer Module is a small module ("HAT") designed by Retro Computer specialist, RWAP Software. The module plugs into a Raspberry Pi (or other Single Board Computer) to allow you to capture data from a centronics port on older (vintage) computers and equipment, converting it for electronic storage, or printing to any modern printer such as a USB or network printer. It connects to a standard parallel port and emulates a wide range of printer makes and models including Epson ESC/P, Epson ESC/P2, HP PCL3, HP PCL5, Printronix, Seiko and IBM.
Supporting both centronics and serial connections, you can easily capture printer data from a DOS program; a 1980s Home computer; an industrial lathe; test equipment; door entry system; or even PLC controlled equipment to a modern, low-cost printer. We emulate a wide range of different printer protocols and work closely with both home computer users and industry to offer a modern print replacement for dot matrix printers.
This makes the module ideal for both producing hard copies of printed output on modern printers, or for capturing data from old equipment; removing the need for legacy printers and enabling migration of data to modern systems and software.
There are two versions, a Centronics parallel port version and an RS232 serial printer version.
NEWPRINT/Multi is a Wi-Fi-enabled "virtual" printer adapter that connects to your computer's printer port and your local Wi-Fi network to send printer output to any device that supports a modern browser (iPad, Desktop PC, Mac, etc.) The NEWPRINT web interface can show printer output as plain text, hexadecimal values, Print Shop graphics (Apple II), or Apple IIgs GS/OS graphics printing. Text mode output does not (currently) understand special printer control codes used by most word processors (BOLD, multiple font sizes, Form Feed, etc.) The NEWPRINT web interface is available from any browser on your local Wi-Fi network at newprint.local. NEWPRINT uses the standard HTML WebSocket API so you can even write your own web-based or desktop interface for displaying and processing NEWPRINT output.
As long as the printer has a Centronics interface, you can plug it into this unit.
smolagents is a library that enables you to run powerful agents in a few lines of code. The logic for agents fits in about 1,000 lines of code. Our CodeAgent writes its actions in code (as opposed to "agents being used to write code"). To make it secure, we support executing in sandboxed environments via E2B or via Docker. Supports any LLM. It can be a local transformers or ollama model, one of many providers on the Hub, or any model from OpenAI, Anthropic and many others via our LiteLLM integration. Agents support text, vision, video, even audio inputs!
A 6502 emulator written in busybox ash. 6502.sh has a whopping 32k of RAM and 16k ROM in its default configuration, however this can be easily adjusted by editing machine.sh. It includes an interactive debugger with single-stepping, breakpoints (break on code, data access, JSR/RTS), and more. STDIO is directed to an ACIA compatible serial port at $8400 allowing for programs like BASIC to run.
often use Culture ship names when having to identify random electronic / digital bits at work or home—iPhones, servers, databases, directories, sometimes even methods or functions.
This site makes picking a name at random a little bit easier, and a little more fun. It was also an excuse to teach myself how Jekyll uses collections and data files. Enjoy.
Note: This site also builds a simple ruby script to randomly pick ship names from the command line.
Nerve is an ADK (Agent Development Kit) designed to be a simple yet powerful platform for creating and executing LLM-based agents. Agents are simple YAML files that can use a set of built-in tools such as a bash shell, file system primitives and other things (like APIs).
(archived) https://www.evilsocket.net/2025/03/13/How-To-Write-An-Agent/
A multi-threaded PDF password cracking utility equipped with commonly encountered password format builders and dictionary attacks. Supports wordlist-based dictionary attacks, date, number range, and alphanumeric brute-forcing, and a custom query builder for password formats. Performs about 50k-100k+ passwords per second utilizing full CPU cores. You can write your own queries like STRING{69-420} which would generate and use a wordlist with the full number range. Specify a maximum and optionally a minimum length for the password search and all passwords of length 4 up to the specified maximum consisting of letters and numbers (a-zA-Z0-9) will be tried.
A commandline utility to search text in PDF files. Tries to be compatible with GNU Grep, where it makes sense. Many of your favorite grep options are supported (such as -r, -i, -n or -c).
Git: https://gitlab.com/pdfgrep/pdfgrep
I wonder if I can plug this into SearxNG.
FBI Watchdog is a threat intelligence tool that monitors domain DNS changes in real-time, specifically detecting law enforcement seizures (ns1.fbi.seized.gov and ns2.fbi.seized.gov). It alerts users via Telegram and Discord and captures screenshots of seized domains.
Only alerts over Telegram or Discord, though.
In any field, the basics serve as the groundwork on which advanced knowledge is built. If you don’t have a solid grasp of the basics, you’re likely to struggle when more complex concepts or techniques are introduced. This is the educational equivalent of constructing a building—without a solid foundation, the higher stories won’t stand.
The basics usually involve fundamental principles or concepts that form the backbone of a subject. Understanding these principles deeply can make it easier to grasp more complex concepts that are based on these fundamentals. For example, in mathematics, a solid understanding of basic algebra is crucial for calculus.
Learning the basics often includes learning the fundamental techniques of problem-solving in a specific field. Mastering these techniques can improve your overall ability to tackle problems, make decisions, and think critically and creatively. Gaining a comprehensive understanding of the basics can enhance your confidence when it comes to learning more advanced topics. This can make the learning process more enjoyable and less stressful. When you understand the basics thoroughly, you’re more likely to remember them in the long term. This is particularly important in fields where new learning builds on previous knowledge. Without solid recall of the basics, you may find yourself constantly having to revisit earlier material.
Wildlife rahabbers and veterinarians often wrap rescue owls in fabric before weighing, treating and feeding them, otherwise they get in a flap.
The result? Oodles of Owls in Towels — all wrapped up like burritos 🌯 — and this place is owl for it 🧡🦉
Shellminator is an easy-to-use terminal interface library designed for microcontroller environments. Thanks to its low resource usage, it can run on almost any microcontroller. It’s Arduino-compatible out of the box, making it accessible for both hobbyists and beginner programmers.
If your device is offline, you can now host the necessary web pages directly from the microcontroller. No external server needed! You can create progress bars, buttons, selection lists, plots, level meters, and even notifications. You can password-protect your terminal.
Highly, almost stupidly configurable. More like a shell than a serial terminal.
How to patch into the circuitry of relatively cheap digital calipers to get data out of them.
This repository takes a clear, hands-on approach to Retrieval-Augmented Generation (RAG), breaking down advanced techniques into straightforward, understandable implementations. Instead of relying on frameworks like LangChain or FAISS, everything here is built using familiar Python libraries openai, numpy, matplotlib, and a few others.
The goal is simple: provide code that is readable, modifiable, and educational. By focusing on the fundamentals, this project helps demystify RAG and makes it easier to understand how it really works.
Bluetooth experimentation framework for Broadcom and Cypress chips.Broadcom chips are used in approximately a billion of devices, such as all iPhones, MacBooks, the Samsung Galaxy S series, the older Google Nexus series, older Thinkpads, Raspberry Pis, various IoT devices, and more. In 2016, Cypress acquired the IoT division of Broadcom. Since then, firmware variants slightly diverged, as Broadcom kept non-IoT customers like Apple and Samsung. However, the firmware interaction and update mechanism stayed the same. We reverse-engineered how the operating systems patch this firmware and interact with it. Based on that we developed a Bluetooth experimentation framework, which is able to patch the firmware. This enables various features that otherwise would only be possible with a full-stack software-defined radio implementation, such as injecting and monitoring packets on the link layer.
C is a general-purpose high-level programming language suitable for low-level programming, in other words: a system programming language. It stands out in terms of portability, interoperability, efficiency, and stability.
Diagnostic Criteria for "Absurdly Rich Sociopathic Entitlement Disorder (ARSED)"
(Proposed for inclusion in future editions of the DSM)
The Startup CTO's Handbook, a book covering leadership, management and technical topics for leaders of software engineering teams.