My PCBWay Review
I recently ordered my tenth batch of PCBs from PCBWay. I’ve ordered a number of boards from other manufacturers including JLCPCB and OSH Park, and...
Changing Block Size to 512 bytes on SAS and SCSI disks under Ubuntu Linux
So you went on eBay and purchased some used SAS disks that were previously in an EMC device (or some other scenario where you ended...
AWS Elasticsearch: a fundamentally-flawed offering
I'm currently working on a logging project that was initially implemented using AWS Elasticsearch. Having worked with large-scale mainline Elasticsearch clusters for several years, I'm...
A Geiger Counter for WiFi Deauthentication Frames: the Telephreak 12 Badge
Things I love: Electronics, Nuclear stuffThings I hate: Kids shitting up the WiFi I was nearly complete with a completely different badge for Telephreak this...
Everything Always Returns 0: Adventures in Adding “Volkswagen Mode” to FreeBSD
Years ago, I was working with Poudriere to set up an ARM build system on FreeBSD on x86-64. In doing so I came across the...
Lessons from Running a Small-Scale Electronics Factory in my Guest Bedroom, part 2: Assembly
Our parts have arrived and our boards are ready; let’s build some electronics! The first step is to get things organized. I love the iFixIt...
Lessons from Running a Small-Scale Electronics Factory in my Guest Bedroom, part 1: Design
After assembling over 200 Telephreak badges by hand for DEFCON 26 (and taking *way* longer to accomplish it than I estimated) I figured I should...
Be careful when using global variables in AWS Lambda!
I discovered some unexpected behavior with AWS Lambda that I thought was worth pointing out. Each time a Lambda function executes, there is no guarantee...
Telephreak 11 Badge Update – BUGS!
Hey everybody, just wanted to give a quick status update on the Telephreak badges. Software If your badge has a white screen, there’s probably either...
Telephreak 11 Badge Release Notes
Welcome to the Telephreak 11 badge! This was a very hasty project, with just over six weeks from concept to “finished” product. It was stressful,...
Using the XGecu TL866II Plus Under Linux with Wine
Fortunately, thanks to the work of radiomanV, it’s very easy to get your XGecu TL866II working under Linux with Wine. After installing Wine, use it...
Scaling Network Security Technologies by Decoupling Traffic Ingestion from Analysis using Open-Source
Thanks to my good friend Marc Uchniat for helping develop this idea As networks grow larger and faster, monitoring technologies have a difficult time scaling....
Getting into the Pace 5268AC Router, part 3: Sacrifices Must be Made (to the JTAG gods)
After several unsuccessful attempts to figure out how the password for the PKCS12 archives is generated, I decided to build a jig to interface with...
Let’s Repair an Ancient Macintosh SE/30, part 2: What the Hell is a Simasimac?
After the previous post, the first order of business was to get the capacitors and battery replaced. I used tantalum capacitors instead of electrolytics to...
Bitwise Operations and Common Uses: Decoding TCP and IPv4 Headers using AND and Bitwise Shifts
Wrapping your head around the use of bitwise operators can be daunting in the beginning. In my next few posts, I'm going to attempt to...
Linux Kernel AF_PACKET bindings for Rust
I’ve finally gotten my Linux kernel AF_PACKET bindings in Rust working properly – this should allow people to start developing network sniffers, monitoring tools, and...
Let’s Repair an Ancient Macintosh SE/30, part 1: Looks Like it’s Broken
This weekend I attended the 7th Vintage Computer Festival Southeast in Roswell, GA. Before going, I promised myself that I wouldn’t buy anything, but they...
Getting into the Pace 5268AC Router, part 2: Dumping the Flash Chip, Finding Keys
UPDATE: It turns out that the steps outlined here are all you need to do – the PKCS12 bundle is malformed (it looks like they...
Getting into the Pace 5268AC Router, part 1: Terminals and Hashes
I got stuck on my Casio SK-1 project and needed to take a break, so I started on another project I’ve been meaning to do....
Reverse-Engineering the Casio SK-1, part 2: The ROM is now an Arduino
After some trial and error, I settled on adding some right-angle connectors to the board where the ROM lived. I staggered them so that the...