Security and open source at the hardware/software interface. Embedded sec @ IOActive. Lead dev of ngscopeclient/libscopehal. GHz probe designer. Open source networking hardware. "So others may live" Toots searchable on tootfinder.
Public Key
npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Profile Code
nprofile1qqsvxk504cz6sw9cvdc8sqamrl0uljanntw0q8hp48799m6ynxxwfsqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0ds75w78g
Show more details
Published at
2026-08-17T09:28:56Z Event JSON
{
"id": "3ae6dc84756b1a2cd852dab6a4168319792eece73b1b43118926509963dbbab8" ,
"pubkey": "c35a8fae05a838b863707803bb1fdfcfcbb39adcf01ee1a9fc52ef44998ce4c0" ,
"created_at": 1786958936 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://ioc.exchange/users/azonenberg",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Andrew Zonenberg\",\"about\":\"Security and open source at the hardware/software interface. Embedded sec @ IOActive. Lead dev of ngscopeclient/libscopehal. GHz probe designer. Open source networking hardware. \\\"So others may live\\\"\\n\\nToots searchable on tootfinder.\",\"picture\":\"https://files.ioc.exchange/iocexchange/accounts/avatars/109/320/697/263/826/535/original/452045644aa6671b.jpg\",\"banner\":\"https://files.ioc.exchange/iocexchange/accounts/headers/109/320/697/263/826/535/original/e9bac12e369b65ab.jpg\",\"nip05\":\"[email protected] \",\"fields\":[[\"ngscopeclient\",\"https://www.ngscopeclient.org/\"],[\"Blog\",\"https://serd.es\"],[\"Location\",\"Seattle area\"],[\"GitHub\",\"https://github.com/azonenberg\"]]}" ,
"sig": "cb95ac608aeab68392a1b7690fbb84c99f889d01b555a8af01eb4e9c9dc72da571cf1bb2c7079e4e3888eeaa0fe937637ca6fff6a4671d09d51eb914990f5ed7"
}
Last Notes npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Idea: popularize the term "infurrence" for drawing anthropomorphized creature versions of things. Then we can all talk about our new infurrence platforms like custom 3d modeling tools that have premade libraries of bone geometry for various species so you can easily blend things together, ways to get higher visual fidelity, faster render performance with GPU acceleration, and more. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…k7h5 is this much extra IL in line with what you'd expect on oshpark from plating and copper roughness? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg The design target for this filter was 10.25 GHz Fc and 250 MHz -3 dB BW. The actual as-fabricated filter seems to be more like 9.92 GHz Fc and 292 MHz -3 dB. I don't really feel confident making any claims about stopband rejection because of the poor dynamic range of this setup, but the hump around 10.7 GHz is not ideal. I saw some ground plane resonances in the simulation and wasn't sure if they were real, it seems they might be? Once I get more detailed S-parameter data with better dynamic range I'll go back to the simulations and revisit. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg It's... definitely a filter. I can say that much. Not sure what's up with the 0 dB regions at start and end of the sweep, it's clearly a bug (The waveform behavior doesn't match, it's definitely not actually 0 dB) I'm pushing limits of what I can do as far as dynamic range easily. The Siglent is putting +16 dBm into the doubler (which has an absolute max of +20 so it's safe but not leaving much margin). The doubler is only specced for 10-20 GHz input so 5-10 GHz input and trying to sweep down to 4 GHz on the input means I'm operating out of spec but it seems to mostly work. The doubler has ~12 dB of conversion loss so I only have about +4 dBm coming out of it, which isn't a ton of stimulus energy when the DUT is this lossy. I'm not sure why it's coming out as 30 dB IL. My simulations said it would be more like 15, plus copper roughness and ENIG plating losses which I did not expect to add another 15 dB. I expect the filter rolloff is a lot sharper than what's shown here but the -45 dB loss range is putting me basically at the noise floor of the scope. I could try to get more dynamic range by adding an amplifier after the doubler, but i'm a bit sketched out about putting big RF PAs on something going into a $10K-to-repair-if-damaged 16 GHz frontend that is rated for +/- 2V p-p. Probably better to just send the thing to somebody who has a real VNA that can work at these frequencies. https://files.ioc.exchange/iocexchange/media_attachments/files/117/141/640/506/967/904/original/2c79639af076224a.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Characterizing my first draft of the 10 GHz bandpass filter. https://files.ioc.exchange/iocexchange/media_attachments/files/117/141/630/909/698/185/original/3ec429aba7d1a0d6.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/117/141/631/210/282/327/original/1977f25467dff9f5.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/117/141/631/652/536/065/original/08b626a28a68790d.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…skdr even like an fpga with 1/10 the logic that's "oops all transceivers" would be nice lol npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…skdr lol that's entirely the point i would want something with a much smaller die that's just a bunch of serdes with a tiny bit of glue between. You don't need a ku3p of compute to do this npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg BRB just daydreaming about being able to buy a JESD204B to PCIe bridge chipset COTS npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks so i just wanted it to function long enough to smoke test npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks basically i didn't want to install the non reflowable power connector until i was reasonably sure I wasn't gonna be hot airing anything in close proximity npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks it's intended to be a GHz bandwidth ripple measurement point lol. The "real" power feed is a 4 pin ATX12V npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg It's fiiiine this is totally the intended power feed point https://files.ioc.exchange/iocexchange/media_attachments/files/117/134/795/826/268/812/original/5cce2059558a5e9a.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg All known problems on this board have now been fixed. Time to power it up and see if the MCU is alive. I'm going to do something truly unholy here, powering it up from a daisy chain of banana plug -> SMA -> SMB -> U.FL connectors to feed 12V into what is supposed to be a test point. This is not a great idea and it'll probably run warm, but I won't be actually linking up the PHYs to a link partner - there wont even be any RJ45s soldered on yet. The goal is to check for obvious shorts or things that will require rework before I hand solder the non-reflowable RJ45 and Mini-Fit connectors. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm i looked. According to the sales rep i talked to they do not have any chemical resistant label/ink offerings otherwise they looked attractive npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm yeah so far nobody has everything i want but i can tolerate windows software in a VM in a pinch. Brady seems the only option for chemical resistant full color that I've been able to find npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm doesn't appear to be full CMYK color npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm I'm currently planning to spend $150 on an eBay J2000 to keep me staggering on a bit longer and burn up the remainder of my (expensive) consumables, then buy a J7300 when i run out npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg If I go with Brady again, it looks like the next equivalent model would be the J7300, which is $2699 for the base printer. It's CMY+K inkjet, Windows only although I have a VM. Has Ethernet which is nice, I won't have to place it within USB range of the host (so I can run the Windows software in a VM anywhere). Cartridges seem to be sold in a 3-pack, 2x CMY + 1 black, for $327.99, or 2x black + 1 CMY for $317.99. Or you can get a black for $115. Weird they don't sell the CMY by itself. It's not compatible with my existing J2000 labels (that would make way too much sense). A roll of a thousand die cut chemical resistant 0.375 x 1" labels is $103.99, and a 150 foot continuous roll of 1.125" removable vinyl stock is $195.99. There's some other interesting oddball offerings like velcro hook or magnet back that I have no immediate need for, but it's good to know they exist. Does not appear to have a heatshrink offering. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Bad news, according to their sales none of the label stock they offer has any level of solvent resistance which is kinda key for stuff I'm using in the fume hood. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg The label editor software they provide appears to be windows only though, so I guess i'd be on my own if I ran on Linux. Not sure how that works WRT die-cut labels and continous sheet with cutting etc. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Not seeing anything I like from Brother, and Brady is going to have the same problems WRT locked down windows-only software etc. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Epson ColorWorks: looks promising. The CW-C4000 claims Linux support. It's $2500 for the printer, the separate C/M/Y/K cartridges are $39 each. There seems to be a decent collection of aftermarket labels available for them. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Anybody have suggestions on a non-enshittified industrial full color label printer? My Brady J2000 has been growing increasingly less reliable lately and I'm starting to think about a replacement. Looking for a decent selection of chemical and liquid resistant permanent and removeable labels, both die cut and cut-to-length roll stock. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…vnlz this would also detect other faults like biofilm fouling, kinks in the hose, pump failure, etc npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…vnlz can you add a flow sensor to detect plugs and shut down if it stops seeing water motion, or the level begins to drop below some tolerance? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg You know that gritty pumice filled toothpaste dentists use to polish your teeth? It really should come in gojo orange instead of mint. They've got the texture down already, why not the flavor? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…cllx @nprofile…huwm 7.4 tflops fp64 is quite good, although volta is ancient enough NSight probably doesn't support it anymore. Also i retired a kepler quadro recently because the driver no longer compiled on a current Debian kernel. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm I've talked to the Sonnet people about GPU accelerating their solver as well. It's definitely something I want to think about. One of the big challenges is consumer GPUs having poor float64 performance, and a lot of scientific computing stuff really needing the extra dynamic range from fp64. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Spent a bit of time over the weekend designing this 10.25 GHz hairpin bandpass for high-IF filtering on a future SDR-adjacent project. 280 MHz BW (I was aiming for around 250 so this is probably good enough). Tthe insertion loss of about -9.3 dB is a little higher than I would ideally want, although probably within acceptable limits. I think this might be pretty unavoidable, because loose coupling translates to higher losses and I think loose coupling is necessary to get narrow bandwidth. Anyone have tips on how to tweak this or things I obviously did wrong? The impedance match seems pretty decent in the passband (-27 dB S11 at 10.25 GHz) so I think I'm just seeing high coupling losses. I guess that means the un-coupled energy is being radiated, and I'll want an RF absorber in whatever shield I put around this? The filter is quite small, 15.6 mm x 4.275 mm not counting feedlines. Targets the OSHPark 4-layer stackup with ground on layer 2, although I'm simulating with RO4350B here because that's what the final board will use. The Dk is close enough I might have a small Fc shift but it should be close enough since my synthesizers are tunable. https://files.ioc.exchange/iocexchange/media_attachments/files/117/076/753/247/813/794/original/40517859def9f178.png https://files.ioc.exchange/iocexchange/media_attachments/files/117/076/753/247/311/195/original/7e409975d26b7c89.png https://files.ioc.exchange/iocexchange/media_attachments/files/117/076/753/247/080/938/original/0d1439375371784c.png https://files.ioc.exchange/iocexchange/media_attachments/files/117/076/766/836/928/953/original/75c3cae0246df95c.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Today I learned that if you try to read a Vulkan SSBO with a binding greater than the max binding index declared when the compute pipeline was created, radv will crash with an unhandled page fault error and take down your entire X session. Debugging that, when my session got wiped every time I ran a buggy build of ngscopeclient while trying to find the problem, was... annoying. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I also have a few small microatx tower systems that aren't set up with anything special hardware wise but I could probably slap a cheap single slot 3070 in. Need to check if they have enough pcie for a gpu plus the TS. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Thinking about traveling demo setups for ngscopeclient and thunderscope. Requirements: * Smaller is better * PCIe gen2 x4 or thunderbolt 3 host port for TS * Decent internal GPU or free pcie slot for an nvidia card Open to laptop, mini pc, SBC, or any other form factor but ideally it should fit in a carryon sized pelican case along with whatever else I'm demoing it attached to. What is the lowest cost/smallest form factor minimum viable setup if i don't care about GPU performance but need functional vulkan? What about if I want something decently powerful? I have a base model M4 mac mini that is functional but needs an external keyboard/mouse/monitor and the GPU is somewhat wimpy compared to higher end apple silicon. I also have a spare RTX 2080 Ti but nothing to house it in. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Why is shader optimization so addictive? I have other things to do... But it's 2AM, I'm thoroughly caffeinated, and staring at the Radeon GPU profiler reordering SSBO memory transactions for improved coalescing. And successfully shaved about 1.7 ms off the first shader in the PAM4 edge detector (4.71 -> 2.98 ms, a 58% speedup). The overall filter went from 11.22 to 8.8 ms, a 27.5% speedup. There's definitely still more room to tune, too. https://files.ioc.exchange/iocexchange/media_attachments/files/117/053/422/056/577/031/original/99355ae4c697910a.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I'm offering my oscilloscope probing class in Europe for the first time! If you're in or near the Netherlands, consider signing up. Space is limited to 10 students to ensure everyone has enough lab time; two spaces are already taken. https://www.eventbrite.com/e/oscilloscope-probing-training-tickets-1996971622881?aff=oddtdtcreator npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…hjhu I'm burning power dumping that heat outside then more power to suck it back into the house npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Aaand now we're north of 150 which is "unhealthy". Lab readings are still in the ISO 7 cleanroom range, and the rest of the house is good, but both are notably elevated above baseline. https://files.ioc.exchange/iocexchange/media_attachments/files/117/039/811/661/807/272/original/5857a03b3af9c877.png https://files.ioc.exchange/iocexchange/media_attachments/files/117/039/811/662/417/981/original/8cd881525b8630f3.png https://files.ioc.exchange/iocexchange/media_attachments/files/117/039/811/661/046/326/original/28d455223e5444a8.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…ptud is it bad that I know it's a 3m 6000 series instantly? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…q57v Ooooh fresh stroopwafels? I was in Den Haag a few years ago hoping to find a bakery that made them fresh but was unsuccessful and just got some at a supermarket. That's a definite destination. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg It looks like I'm going to have some downtime in The Netherlands in late September / early October due to airline pricing (staying an extra two days after the event I'm attending saves $1200 on airfare, cutting the ticket price by more than half and more than justifying the extra meal/hotel cost) Anyone interested in a get-together Monday Sep 28th, Friday Oct 2, or Saturday Oct 3? Or have suggestions on things to do in the greater Gouda / Den Haag / Rotterdam area? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…skdr It is a huge pain in the butt to configure and I really don't like the architecture. They're also close to $100 in low volume and lack a bunch of features the STM32s have that I consider key for useful embedded stuff ,most notably a hard TRNG and AES accelerator npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg If I could get something along the lines of a Trion T20 on the same die as a STM32H735 I'd be all over it. I think they're even both made on the same TSMC 40LP process node so in theory Efinix could license their FPGA IP to ST and just bolt it on as a hard macro. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Once again daydreaming about a "baby zynq" microcontroller with a STM32H7 class processor and memory subsystem attached to a few kluts of low power FPGA with hard APB/AHB/AXI (depending on how big they want to make it) ports, a bunch of dedicated or muxable GPIOs, etc. ST apparently has an FPGA-esque peripheral in some STM32s but it's *sixteen* LEs which is a joke. You can't do any kind of useful custom peripheral in that. Ideally i would want to be able to implement my own peripherals for a weird bus the MCU doesn't include natively and even have native DMA to/from them. Which means having full MMIO capabilities (no need to put a DMA in the FPGA, you can use the hard DMA IP and just read/write registers in the FPGA). npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…7k5d there's a reason i stopped buying consumer hardware ~15 years ago lol. well ok mostly it was I wanted ECC RAM (and a lot of it) but tons of PCIe lanes also come in handy for the things I do. I can't imagine having only 24 lanes in a workstation, a 100G NIC and a GPU is 32 before you even add anything else like SSDs npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…7k5d my storage cluster nodes are supermicro x11spa-tf based, one with a xeon 4116 and the other two with 4208s. The socket has three gen3 x16 pipes off it... one goes to the bifurcation card, one goes to the four m.2 ports on the mobo, and the remaining one goes into a PEX8747 that splits off to the remaining pcie slots which serve the NIC and have a few empty slots for expansion in the future. I've iterated a few times with what goes in which slot to try to get the most pcie bandwidth but also cram as much NVMe into the nodes as possible without having to upgrade the mobos and processors. I can still add another 2ish SSDs per ndoe pretty comfortably without running into bandwidth limits so I'm confident in my original goal of keeping the cluster running into the 2030s without a chassis/mobo swap. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…y6u5 @nprofile…eew3 My feeling for a long time has been that purpose-built neural networks designed to do one thing can be useful. They may not be the best or most efficient solution to a problem, but if you have no idea how something works and a lot of data, and can tolerate some errors, throwing some kind of boolean classifier at it is not an unreasonable move. And if it was trained on data you or a trusted organization vetted and curated you have increased trust in the ethics and accuracy of the model. Things like "how likely is this drug to bind to that receptor" are a perfect use case because you're gonna do a ton of molecular dynamics and lab testing on the ones it likes so you don't need perfect accuracy, you just want to whittle trillions of candidates down to few enough that you can spend significant resources on. And you can't test every possible molecule so if it rejects some promising options by mistake, it's not the end of the world - you already left a ton on the table by not even evaluating them. Trying to make a single "god model" that can do everything is never the right move even if you could somehow ethically train and operate it. Even if decades or millennia down the road we somehow do create an AGI, it will be so compute heavy that a purpose built NN - or classical tool - will always be able to solve any given problem far less expensively. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg And now up to page 214, but the manual has grown to 373 pages in the process lol. I'm working my way through the filters and only in the D's. There are sooooo many features that have simply never been documented due to lack of time. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Making an updating pass on the ngscopeclient user guide before the v0.2 release. We're up to 363 pages of total PDF guide and I'm around halfway through this pass, at page 151. Still so much more to do. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…e965 My general opinion on this sort of thing is, it's a tool for when you'd rather take the charge for destruction of evidence instead of the charge for whatever they'd find otherwise is. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk also i think you have to add -c:v libx264 before the -x509 npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk shitposts for a very specific audience npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg (unreal tournament announcer voice) mmmicrochip npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…k7h5 @nprofile…skdr I cannot even load the analog.com home page npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…pk25 @nprofile…xahp As far as the constraint flow works, have you looked at SolveSpace's keyboard/UX flow? It's very critical that common operations around constraints like adding a "points coincident" or a dimension be accessible via keyboard shortcuts and not constant shifting back and forth between the board editor and properties dialogs. Also, is there support for construction geometry (not rendered in copper or gerber layers, but something you can attach constraints to)? This is also a critical need for this sort of thing npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…skdr there are now a double-digit number of major websites from ADI to Safeway to UPS whose websites are completely unavailable to me now and I have no recourse. They all use the same Akamai EdgeSuite CDN but I don't know what the trigger is. I load one page, everything is fine, next request gets a block npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg aand apparently I'm on Analog Device's WA list now too. Lovely. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…pk25 @nprofile…xahp I don't use blind/buried vias much (yet) so not sure I can be a ton of help, i've only used them a handful of times. What *would* be good is a way to design impedance-matched, reproducible layer transitions for high-speed signals. Like a combination of signal vias for both legs of a diffpair, the fanout geometry from the closely spaced pair to the vias, return path vias nearby, maybe a void in the ground plane, etc. Or for single ended, a signal via with 2 or 4 surrounding return path vias and again perhaps controlled clearance to the plane that's separate from the usual plain clearance. And once you've designed these and associated them with a net/netclass somehow, every time you add a via it drops the whole transition instead npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg For decades there's been a conflict between governments wanting to get access to people's private data and people trying to keep them out. Over the years I've gradually come to the conclusion that the stable "Goldilocks zone", where there's the least likelihood of a major swing that makes things worse for everyone, is *not* the privacy utopia where devices are invulnerable, or a police state where anyone with a badge who asks can root through all your data, or a fictional engineered cryptographic backdoor that''s somehow only exploitable by "the good guys". Instead, it's the state where devices (especially phones) are breakable, but only through attack vectors that require physical access, have a high per-device cost, and are not 100% reliable. Things like "solder to an internal layer trace on the logic board to glitch it" or "FIB a per-device key out of the SoC". I'm not saying we should be adding deliberate backdoors - quite the opposite, since these are very likely to make entry *too* easy. But if devices become completely invulnerable, I expect we will see something like chat control turned up to 11 where the pressure to find some way in becomes unbearable and we end up with CALEA-style entry points that turn devices into total spyware with no privacy at all. So IMO the ideal balance is where there is no viable remote attack vector, trivial drive-by USB etc attacks a la Cellebrite are blocked, but if a government has a phone off a body and are willing to spend $100K+ of lab time to have a >50% chance of breaking into *that one device*, destroying it in the process, without it easily scaling to the next, they can do so. And this level of difficulty is juuust easy enough that they aren't spending the same money lobbying politicians to make it easy to break into every device belonging to an opposition party or something. They still try of course, they always want more, but they can't claim to congress that the guy who shot senator X will never be caught because they couldn't break the phone they found at the scene. You know your device was confiscated (or are dead and not around to complain), it's not viable to do to everyone crossing a border or who was in a certain geofenced area, etc. There's no practical way to scale physical attacks to mass surveillance. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…mdnh this is using electric fields to propel atmospheric gas particles as reaction mass? Like an ion rocket crossed with a ramjet? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Auto post deletion leads to some really weird dynamics sometimes. Like having a tab open with a post that I saved wanting to come back and refer to a suggestion someone gave me or something, only to realize it's gone. Or having someone favorite or boost a reply I made a year ago, but completely out of context because the original post was deleted. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Oh actually you can see the mountains I just wasn't in the right spot. There's so many pretty views all over the place here. I really need to get out and explore more. Got tired of sitting on my butt and decided to just go for a bike ride nowhere in particular trying out a new route, first time riding on this side of town although I've driven through the area before. Late evening to the wee hours of the morning, in summer, is my favorite time to ride. No sun, no rain, not too many cars, not too hot, not too cold. https://files.ioc.exchange/iocexchange/media_attachments/files/116/956/189/315/622/548/original/ff23412475eb37be.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg A little hazy to see the mountains in the distance but I'm still not complaining https://files.ioc.exchange/iocexchange/media_attachments/files/116/956/160/013/986/635/original/3aef64732c82aa51.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Beautiful PNW summer night https://files.ioc.exchange/iocexchange/media_attachments/files/116/956/113/805/237/434/original/02361a7f0206cd3e.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg woo i'm blocked by the cisa.gov WAF npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…6ljk It's a cleanishroom. There's no specific target other than that it's full of optics and equipment with fans and heatsinks that don't like dust. The less the better, but I don't want to have to wear a bunny suit and gloves and hair net every time I go in there to use an oscilloscope. So the real goal is "as clean as I can make it while being able to walk in wearing ordinary clothes I wear around the house". Which I think I've hit. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Comparing to ISO cleanroom thresholds, although this isn't a certified/traceable meter so I can't officially say I qualify, I'm comfortably below the ISO 7 (class 10000) thresholds at the moment (outside air intake fan off, me not actively in there stirring up dust): * > 0.5um: measurement 46K, threshold 352K * >1um: measurement 1K, threshold 83.2K * >5um: measurement 0, threshold 2.93K This generally tracks with the rough data I made with my older, cheaper Plantower sensor but the data was a lot noisier there due to low count values and poor sensitivity. The Sensirion seems to be more consistent although it's too soon to make firm judgments. I'll let it sit overnight to get a good baseline then spend some time working in the lab tomorrow with the ventilation fan on and see how much worse it gets when I'm sucking in outside air and moving around using equipment rather than just recirculating through the filters over and over. If past data is any hint, I will probably end up in the ISO 8 range under those conditions. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Looking at the particles larger-than-threshold per m^3, as used in cleanroom air standards, tells a similar story: > 0.5 um: lab is 46K vs living room 1.1M (23x dirtier), office 1.87M (40x dirtier), outside 2.33M (50x dirtier) >1um: lab is 1K vs living room 32K, office 59K, outside 78K. You can do the math here. > 2.5um: lab is off scale low (no counts within the most recent 300-second integration window), living room 2.3K, office 3K, outside 6.6K. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg And here's early particle count data. I think I am going to need to break out the lab into its own graph or use a log scale or something. It's multiple orders of magnitude cleaner than the house or outside. Not going to describe all of the data in the sea of plots in alt text, but here's the important bits... PM10.0 counts per m^3 range from 17.7M on the deck (outside air) to 14.1M in the office (indoors but nearby air cleaner is switched off currently) to 8.4M in the living room (air cleaner running, but some windows open to cool the house down) to 318K in the lab (fully sealed from the house and outside except via an exhaust fan with a high MERV-filtered outlet and intake, and with two large air cleaners). PM2.5 levels are pretty close to the PM10 levels, indicating almost all airborne particulate is small. https://files.ioc.exchange/iocexchange/media_attachments/files/116/950/582/583/018/951/original/04b8e9ae61026cee.png https://files.ioc.exchange/iocexchange/media_attachments/files/116/950/582/589/220/962/original/dd18d6d973e67a07.png https://files.ioc.exchange/iocexchange/media_attachments/files/116/950/582/589/996/737/original/484bc0bec073819a.png https://files.ioc.exchange/iocexchange/media_attachments/files/116/950/582/585/741/008/original/cbaa05e984c2a334.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…aejz no that has much worse performance lol. I'm going full manual under a stereo microscope at like 30-40x magnification and watching the workpiece start to move as I turn the handwheel to take up backlash. I've hit Z axis tolerances down to <10um when I was hitting a visually obvious layer in the sample (i.e. exposing but not perforating a ~17um copper foil, fairly consistently) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Just set up some new IAQ monitoring stations around the house. Still want to put one in the bedroom to see how stuffy it gets at night with the door closed, but I only had four units so this is what I started with. Particle counts are Sensirion SEN5x, CO2 and most other atmospheric data SCD4x. Haven't done any kind of zero cal on the CO2 and they've been sitting around idle for a while, so there's probably a bit of offset that will need to be corrected - the one on the deck is reading a bit higher than I would expect from outdoor air https://files.ioc.exchange/iocexchange/media_attachments/files/116/950/564/041/956/857/original/9632329238037a9f.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…aejz backlash and resolution of the leadscrews has been a much bigger problem for me to date than flexure of the axes npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…aejz And again, I am never going to be applying more than like a few millinewtons of shear load to the axis during a machining operation when i'm making a cut whose depth is measured in the low tens of microns npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…aejz probably lol. But I don't want a machine the size of a car so it's gonna be tricky to figure out how to improve npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux I'm eyeing some fancy spindles from nsk nakanishi that hit tens of krpm but they cost several times what i paid for the mill so I'm wondering if I'd be better off just getting a better machine lol npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux my sherline tops our at 2800 rpm so I'm never anywhere near optimal speeds and feeds. With my 250 um endmills I'm usually doing like 5-25 un depth of cut in fr4/copper npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux oh you mean 50um depth of cut? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3q9y pixel 9 pro and i see clouds npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg TIL you can buy through hole U.FL connectors. I wonder who would ever use that?? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…clxj I don't buy *full* MREs for a couple of reasons. 1) I can be a bit picky with what I like and don't. Buying full meals means I would end up with a lot of things I don't like 2) Most of this stuff is being used as on-duty rations for SAR deployments, when I need to keep my pack loaded with two days of food 24/7 and be ready to run out the door on zero notice, but it might sit around for a while. When I'm on a mission, I might have just had a big dinner at home, or I might be running out the door before breakfast. What I actually consume on a mission varies a lot. Full meal pouches are not a good fit to this. 3) MREs are expensive. I use MRE components when there is no satisfactory equivalent on the civilian market, but e.g. clif bars and beef jerky are cheap at Safeway. 4) On a mission I'm generally spending a lot of time hiking and not a whole lot sitting around (except in base, where there's sometimes tastier food available if e.g. someone brought in pizza or the Soup Ladies came). So I specifically bias my food loads towards snacks and things I can eat on the move - the pocket sandwiches/pastries, pound cakes, etc feature prominently, while I might bring one of the big entree pouches per day and only actually eat maybe 1-2 a year outside of training weekends since it's so rare I have time to stop, pull out a spoon, and make a hot meal. I prefer something I can tear open, take a bite of, fold the foil back over, and shove it in my chest rig until next time I stop to shout our missing person's name or wait for someone slogging through a patch of heavy brush to catch up or something. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Not too long ago, a neighbor's kid was watching TV with the family and two female characters in the show got married. She looked over incredulous asking "wait, what? two girls can get married?" ... to her moms. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…94p0 HBM is mounted to the chip substrate not the PCB, it's not really possible to rework practically unless you're making your own silicon interposer and even if you did I'm not sure how you'd extract it without destroying it. If you can reuse the whole chip package including the HBM and whatever it's attached to different story. But you can't like put it on a DIMM or something. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Huh, my local library's little news magazine is no longer called "Inspire". I guess someone finally told them about the naming collision with the al-Qaeda publication? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg One of the big benefits of my homebrew ILA IP, BTW, is that it works just fine with any clocking relationship between the debug-bridge clock and the capture domain clock. For some reason that I do not understand - I don't even know how I would implement such a restriction - the Vivado ILA does not work if the capture-domain clock is too slow. It needs to be at least 2x, IIRC, the JTAG TCK frequency. So if you're running JTAG at say 30 MHz and you want to capture in a 20 MHz domain you're SOL. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg If you're ever looking for an Italian restaurant and don't have a phone or map, but do have a gamma spectrometer, just look for 511 keV annihilation lines and follow them to their source. If you find them from multiple restaurants, the weaker line is the one to eat at. No matter how well they try to clean cooking utensils between making pasta and antipasto, some mixing is unavoidable. A smaller annihilation peak is a good sign of more thorough cleaning and better general food safety practices. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…ngkv I don't need it *yet* but my vm server is getting pretty full of pcie devices and I don't have a lot of slots left (but many are underutilized) so I'm thinking ahead npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…ngkv ooh I'll have to give it a detailed look but certainly seems like what I'm thinking of at a glance npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Is anyone aware of a rack mountable enclosure + backplane that connects to a PCIe host by cables, and has its own power supply and cooling fans etc? Use case: server mainboard with a bunch of bifurcation capable x16 slots that I want to hook a ton of x4 devices to npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…q57v Just getting data into the application doesn't need a ton of power. With anything but a thunderscope you'll be limited by instrument firmware, not your PC. We have a not-formally-published-but-public-if-you-have-the-URL google spreadsheet with a somewhat out of date table of instrument makes, models, memory depths, and observed trigger rates. After data is on your computer, performance is extremely dependent on the filter graph. More video RAM is better if you want to work with deep memory doing complex processing, especially the CDR PLL and PAM4 edge detector blocks are very memory heavy (I want to play with optimizing them a bit but as of now if you go beyond low tens of megapoints memory depth you'll need a pretty high end GPU just for the scratch buffers to fit). But like, there's a huge difference in speed between say doing a very sharp rolloff FIR filter with 500+ taps on deep memory, and just measuring the frequency of a squarewave. Different filter graph configurations can easily create multiple order of magnitude variations in processing speed. It's not like a game where the workloads are predictable, or a CAD tool where you can mostly just bound by the number of triangles in your model or something. Ngscopeclient is really more of a toolbox, how you put the tools together very much determines how much compute you need. If you're using only/mostly the 40ish filter blocks out of 200ish that are GPU accelerated, things will run faster, but performance will become very GPU dependent. If you're using CPU-side processing blocks, performance will be broadly worse but also CPU dependent. I'll definitely try and throw together some benchmark examples in the not-too-distant future, that would probably be good to have, but they're single point measurements on a specific hardware configuration with a specific filter graph and a specific commit of ngscopeclient in a very multidimensional space. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Testing out the new light mode toolbar artwork for ngscopeclient. The application as a whole is definitely not practical to use in light mode yet. While it's theoretically possible and there's selectors in the preferences dialog to configure all of the non-contrasty colors, you would need to update 50 separate preferences to re-theme everything from the color of X axis tickmarks to the cursors in the plot. Down the road, most likely for v0.3, the plan is to simplify this all down by having all of the color preferences be scoped to a light/dark mode selector, and provide a single light/dark switch to change all of those. There will be separate selectors for changing the ImGui theme and the icon theme, but we'll put them together so it's easy to make them all change at once. https://files.ioc.exchange/iocexchange/media_attachments/files/116/914/731/716/373/338/original/1e6cc40fb3e48627.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg The existence of charcuterie implies the existence of short, int, and unsigned longcuterie npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Doing another digikey order. I can either pay $16.99 for FedEx Saver with 3-day delivery, or $13.99 for FedEx Economy 2nd day air. Why would I ever pay more to get my package slower??? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux As of right now, we have: 1) Farberware toaster oven at my place with no controller that I've profiled and works well manually 2) Toaster oven at their shop with a little MCU based controller 3) Actual Essemtec conveyor oven that isn't in service yet because it needs 3-phase power and the current shop doesn't ave that, but it was too cheap on eBay to pass up npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux essemtec fox 2 scored on govdeals from UW npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…kuux 20% of one, yes. Lives at a friend's shop so all the shareholders are slowly learning to use it together on the few hours a weekend our schedules align npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Slightly terrifying at 100% speed. But getting a fairly high pick error rate, we'll likely do slower until we dial it in https://files.ioc.exchange/iocexchange/media_attachments/files/116/905/149/354/193/797/original/bb5af2d84c4caff4.mp4 npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg New look! I'm actually surprised this turned out as well as it did considering i couldn't see the shutter button on the phone camera lol, much less the screen. This was an expensive mistake, I spray painted some stuff a while back and forgot to put a sacrificial cover over the respirator face shield. Had to replace it and the new one came with a protective covering to keep it from being scratched during installation so I thought I'd take a pic https://files.ioc.exchange/iocexchange/media_attachments/files/116/897/206/403/328/301/original/cd44efe7bba2498c.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Hmmm. Would it be accurate to interpret Manchester coding as a degenerate CDMA with a chip rate of 2x the baud rate and a spreading sequence of 0101? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Spent way too much time agonizing about whether to rip out the VCCINT regulator on the switch board to upgrade it for a 20A module with more headroom, or keep the 12A module I had planned. Looking at the datasheet it seems the MYMGK1R812 and 820 are pin and footprint compatible lol. It should be a drop in replacement possibly with some passive changes. Gonna make a quick oshpark test board to validate ripple and thermal performance just to be safe but the swap seems a no brainer at this point. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…vnlz I really do wonder how the T&M industry stagnated so much to the point that everything I'm doing is super groundbreaking. Like this seems like an obvious way to do things npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…vnlz see https://ioc.exchange/@azonenberg/116856901135293906 for an example of a cross-trigger between an ILA (primary) and external analog scope (secondary). There's no way to do this with any other debug flow I've ever seen - like you can certainly use a xilinx ILA and a GPIO to trigger another scope but you can't view the data all on one timeline like this npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…vnlz yeah i've spent a lot of time fighting with other debug IPs and this is intended to address some of those pain points lol