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-07-19T20:41:41Z Event JSON
{
"id": "dcab4dd4e5317aec5c74433dcc25fc7e33ec194100551f74d49e1f87affd03db" ,
"pubkey": "c35a8fae05a838b863707803bb1fdfcfcbb39adcf01ee1a9fc52ef44998ce4c0" ,
"created_at": 1784493701 ,
"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": "793c94c5ab0d6baa09617c1049a24e51f272fe95e7de52cc301081f2f9840571e6632f91c802ef9e2fdb40c1660928c4bfe317c09c416e392a4f7daa38213484"
}
Last Notes npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…u57d but like this Ti375 has 1344 DSP tiles that can each do one 19x18 integer + 48 bit accumulate, or a BFLOAT16 FMA, per clock at 1 GHz in the -4 speedgrade. So that's 1.34 TFLOPs of float16 or 1.34 TMAC/s of integer performance. Nothing to sneeze at, but the AMD R9700 in my desktop workstation will do 95 TFLOPs of float16 (or 47 TFLOPs of float32 which is more useful to me - I'm not sure if you can gang the efinix DSPs to do float32 or not) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg And which is more energy efficient if I'm not in a hurry. Am i better off using more cores for less time then idling, or just a few for a long time? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…5yze Sadly I don't get to dictate what products the school first aid kit stocks lol. If we find one she's not sensitive to, the school says we can bring a pack by and they'll designate it to be used instead of general inventory for any future minor injuries. I guess I'll run a few tests and see which styles/brands cause issues and which don't. But not until she's recovered from today, she was so excited to play with the neighbor's kid that she tripped over her own feet running out the front door and scraped up both elbows and a knee and had to go back inside to get patched up before playing lol. I ended up using 2x2 gauze and coban since there was no adhesive at all so I figured it was a pretty conservative approach as far as allergens go. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Do all bandaids use the same type of adhesive or are there multiple kinds in use? Kid seems to be allergic to at least some of them. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Did you know that every catgirl has a maximum operating frequency determined by its size and dielectric constant? Exceeding the upper frequency limit can result in undesired secondary girlmodes rather than remaining in the intended TEM00. This can result in significant amounts of the catgirl's energy being wasted without any useful work being accomplished. You may be tempted to simply increase the catgirl's caffeination level to overcome the energy loss but modal dispersion makes this ill advised. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3y57 the speeds and feeds are all wrong on every chocolate chip I've ever seen. Just look at how they're shaped, are they work hardening the stock or something?? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…huwm I've put a ceiling of about 1.5 on my PUE measuring lab UPS vs whole building power draw. Don't yet have finer grained measurements to pin it down more precisely npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I guess add this to the list of other things I wish the tech industry would build that they aren't... * Oscilloscope with nvlink or 100GbE * Laptop with SFP+ / QSFP+ NIC * Desktop GPU with 64+ GB of VRAM that doesn't need a small nuclear plant to power it. Rip out some of the tensor cores and put on more ram instead * ECC RAM as standard on desktop/laptop/mobile platforms * Cars with no ADAS or telematics And so on npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…69vm @nprofile…2fsd rofl you have to do that on the qa stickers npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…2fsd i see your QA inspector is busy hanging out on the shelf while you do all the work npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…tm9j yeah something like that. I'm sure there is a way to re-key i just have to figure it out npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Starting to set up a second of these FS 40/100G switches. Both of them have the same SSH host key. That's... a problem lol. I need to figure out how to regenerate that... npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t2th @nprofile…0f4l I am seriously looking at energy harvesting heat pumps to heat the house with waste heat from the lab in the winter, right now I run the air conditioner in January and feel like I'm wasting a ton of energy doing so. Because I am. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…6cfx lol we've already got rid of the toy and passed it on to somebody else but that doesn't stop it from popping into my head sometimes npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…r9vg i mean they don't have differential outputs IRL but maybe there's a diff amp in the base or something... :p npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Ever wondered what makes SFPs go? Wonder no longer. I need to print this out and hang it up in my lab to go along with the rest of the series, just need to take some measurements and figure out how large. (Art commissioned from Usanekorin from Collateral Damage Studios, not on fedi AFAIK) https://files.ioc.exchange/iocexchange/media_attachments/files/116/600/949/984/463/355/original/a4a9f77847039f6b.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks (side note, i love how mastodon is the kind of place where i can casually name drop a SFF standard in the middle of a conversation and it's just totally normal and people know what I'm talking about) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks the thing could hold up a small attenuator board or something just from friction without soldering it's super snug. It also *really* wants a good ground on both sides of the board. More of a coaxial launch than a coplanar, if the bottom side legs are unsoldered or attached to floating copper your return loss goes down the toilet. Ask me how i know lol. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks will probably swap for rosenberger 32k243-40ml5 or similar npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t7ks I have a very similar one I built myself except it doesn't even have any power regulation (takes 3v3 from a bench supply). Just a couple of capacitors and filtering components. (There's no need for the mid-span AC coupling caps here, per SFF-8431 the modules should contain their own DC blocking caps.) My version is designed for 1/10G and I might eventually respin with a bit of layout tweaks and more robust connectors to have better performance at 25G. The key unique attribute of mine is that rather than being 1:1, the TX and RX diffpairs are fed into 6 dB resistive splitters with one half of the path going to the opposite side optic, while the other goes out to a SMA allowing you to do mid-span protocol decoding/sniffing. Great for PCS/MAC level debugging npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…fqfm @nprofile…cy5p I'm hoping one day a bunch of angry nerds will design either an entire suite of new electronics/controls for a popular late model vehicle, or better yet an entirely new vehicle, that is simple, low tech, repairable, and open source to the extent practical. Rip out the CAN bus controlled door locks and replace them with ones that use physical keys that don't need batteries. Remove the touchscreen HVAC controls and put in physical knobs. No fly-by-wire anywhere except where required to perform a key safety function like ABS. If you have to put software between human control inputs and steering/braking/acceleration, it should be as minimal as possible, formally verified, and multiply redundant processors, sensors, and actuators. Publish full mechanical drawings of common wear components to make third party replacements easier and allow the vehicles to outlive the manufacturers if they later go out of business. No ADAS features whatsoever. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…cy5p I am absolutely prepared to excise radio power amplifiers with a hot air rework station if it comes down to that level though. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…cy5p If I am ever forced to buy a 2015+ vehicle (or whenever they started putting telematics on cars) due to lack of alternatives, you can bet I am going to go bumper to bumper with a spectrum analyzer and nearfield probe set and neutralize every radio transmitter on the car by any means necessary. Removing the entire ECU? Cutting traces to the antenna and replacing them with a 50-ohm terminator? High voltage into the antenna until it stops responding? One way or another, it won't phone home. But the longer it takes and the more work it requires, the more pissed I'll be. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…cy5p I work in computer security and do a lot of work on automotive stuff. People ask me what I think of self-driving cars. I tell them I get to work on a bicycle. The smartest thing on it is the USB charge controller for my headlight and if it makes a funny noise or starts smoking I can yank it off the handlebars and yeet it somewhere far away from me. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…u6vt of course. On that note i need to get a better endurance hiking/training regimen going I'm getting out of shape. Need to figure out something i can do on my own that simulates hiking all day with a heavy pack followed by carrying a person in a litter to safety, but that doesn't literally require a full day of training each time npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…u6vt yeah a good trainer will recognize when someone is at the breaking point and pull them before they get hurt, or set a max number of reps. you're not trying to kill the team you want to build them up npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Cursed exam idea: everyone gets the same problem, first to submit a correct answer gets a passing grade. Everyone else gets another problem. The exam will continue until everyone passes. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Does it count as dark fiber if it's plugged into a switch/nic at one end and not linked up? Or does it have to be like fully floating npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I took a recent inventory of my network and am seeing an increasingly bimodal distribution of link bandwidths. Not counting trunks between switches, I currently have: * 37 active 10/100/1000 baseT links (this is also bimodal... some of the cheap Siglent gear is 10/half, almost everything else 1000baseT, there is almost no 100baseTX) * Only 4 active 10GbaseSR links, one of which is being transitioned to 40G next week * Five active 40Gbase-SR4/SR2-BIDI links, soon to be six. Most of these are eventually going to migrate to 100G too * Two 100Gbase-SR4 links Once I put the XL710 in SKIPJACK, the microscope bench workstation, there will only be three 10G links left. These are going to the trigger crossbar (which really only needs 1G but I put a 10G SFP+ cage on it because the FPGA transceivers could go that fast so why not), my work laptop via a Thunderbolt dongle, and the mac mini via a media converter to the single 10GbaseT link in the lab (apple start putting sfp cages in these things c'mon). It's an interesting "bandwidth desert" space where I've got a lot of hosts on the really low speed side that need connectivity but don't move a lot of data (mostly SCPI interfaces on test equipment but also things like security cameras, wifi APs, etc) and a bunch of really fast stuff, and not much in the middle. Is this a common scenario for other folks' networks? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…xr5j Unplugged and re-seated both the QSFPs in the cages, and the MTPs in the sockets. And cleaned the MTPs with a fiber cleaner. RX power reported by the switch is -1.95, -2.93, -2.62, -2.72 dBm which seems normal. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Set up this OEM approved cooling solution. Temps dropped by 10C or so but still getting 570 Mbps in / 138 out on iperf3. On a 40Gbase-SR4 pipe. Something is definitely wrong. https://files.ioc.exchange/iocexchange/media_attachments/files/116/574/732/766/052/930/original/17782daed6223d3c.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/116/574/733/143/439/207/original/f92f6eb906d9824e.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg 🎶🎶 maybe you Could be A purple monkey in a bubble gum tree... npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a6yp I have to be able to take it off every couple years when work makes me test something that talks to it, I just want to be very very sure it's not phoning home in the meantime npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Does anyone make a LOTO for DC barrel jacks? Found my echo dot while cleaning up the lab earlier and I feel like I really should have a lockout on the power source npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk Maybe for DDR5 modules. Have you seen what Digikey wants for loose DDR4 ICs? $300+ for a single 16Gbit IC npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Progress! CI jobs for two consecutive commits dispatched by GitHub commit hook. First one had some minor issues, I fixed the CI script, then pushed a new commit before the first build had finished running. If everything works, we should get a full build of both commits soon. I've started work on the infrastructure for artifact uploading but need another day or two to get that all wrapped up. https://files.ioc.exchange/iocexchange/media_attachments/files/116/565/734/298/291/923/original/2091e189e76c2118.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg This will get better when the rack kit for the SPD3303X-E comes in but for now it's just sitting on a shelf. Now I have a DUMPTRUCK plus the STM32MP2 x Kintex-7 test board all wired up with power, jtag, annd serial console for remote firmware/gateware dev work. Free bench space, coming soon (slowly) https://files.ioc.exchange/iocexchange/media_attachments/files/116/564/862/860/662/894/original/2a0fa17e03a65a46.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/116/564/863/541/664/179/original/ccc6319ae7e0dce5.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…thd8 that sounds like something a scopehal filter could do. You'd need to write a boundary scan decoder to go from the jtag scans to digital waveforms for each IO, but then you could run the existing spi decodes on top of that. Complex chains of tunneled protocols is something we can handle with ease given the right intermediate blocks npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg It's been a while since I've done web stuff. Did I screw up anything too horribly here? https://github.com/ngscopeclient/scopehal-ci-scripts/blob/main/api/github-hook.php This is a web hook that is only triggered by the 'push' event on ngscopeclient/scopehal-apps. Goal is to ensure that a) nobody but github can trigger builds (to prevent DoSing the CI platform with a ridiculous number of builds etc) b) a compromise of GitHub's webhook infrastructure can trigger builds of real commits in the repo, but not run arbitrary shell commands on the CI runner or pull from an untrusted fork (i.e. no shell command injections etc in the branch/commit strings which will be fed to a zillion bash scripts downstream) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…ffys seriously, i love raw vulkan with minimal wrappers for compute acceleration... it's almost as low level as CUDA but it's not absurdly heavyweight tooling wise and is portable to anything from a Haswell-era integrated GPU to a modern nvidia monster to a macbook air npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…ffys apt install libvulkan-dev Problem solved? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…f8cg i want nothing to do with a floating hotel full of casinos and sick/intoxicated boomers. Now, a stint on a container ship or bulk carrier where I stay in an extra crew room from one port to another and basically act as an apprentice member of the ship's crew, learning about navigation and engine maintenance and whatever? I'd be all over that. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Did you know that "TOYOTA" is comprised entirely of letters that are symmetric about the vertical axis? There's a dealer near Seattle that has huge 3D letters on the sign that you can see from both directions. But when you're across the highway it says ATOYOT instead. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t9xu if i did somehow have ~4x the generation capacity i in fact do, I'd have a different problem though... Anything that can store tens of MWh of extra energy can let it out again if something goes wrong. But that's a problem i would save for somebody else because I'm on a net metering plan that resets at the end of March which conveniently aligns with when solar production really picks up for the year. So if i had a ~72 kW peak solar farm instead of the 18 I do in reality, I'd just throw my extra power at the utility to use for other customers and draw down my negative bill balance over the winter. The vast majority of our power here in WA is renewable anyway (hydro and wind for the most part) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…t9xu I burn all of my surplus overnight, there's nothing to save for later anyway npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg 398 kWh solar generation for May so far and it's not even noon on the 8th. This is more power than I generated during all of February (393 kWh) lol. Solar season is definitely a thing. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Hmmm... How likely are platform specific memory safety issues in ngscopeclient/libscopehal? I'm thinking "not very" since almost all of the OS-specific stuff code is in third party portability libraries. I ask because right now we do all of our CI builds as optimized release builds with the intention of creating nightly builds other people can download and play with. But I want to do ASAN+debug builds to catch memory safety issues during tests (there was at least one that this could have caught in the past). The question is, do we double up *all* of the CI builds, using twice as much time/power? Or is it sufficient to do a *single* debug/sanitizer build, on one supported platform (probably one using llvmpipe to avoid monopolizing a real GPU)? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I was hoping I'd be sub $700 for April but didn't quite generate enough juice to do it. May started out strong with four days of >60 kWh solar generation (which counted as part of the April billing cycle) before some clouds rolled in, so we'll see... May around here tends to be the transition between the monsoon season and cloudless summer weather. Hoping to hit below 3 MWh imported in May, so let's see how that goes. Here's some graphs from my analysis spreadsheet showing my demand vs utility rates over the last few years. https://files.ioc.exchange/iocexchange/media_attachments/files/116/529/636/620/185/035/original/c9af5918369a39b5.png https://files.ioc.exchange/iocexchange/media_attachments/files/116/529/639/468/136/893/original/324b3adc555abe65.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Got the official power numbers from my utility for the April billing cycle. 3572 kWh imported from grid, 200 kWh overproduction exported, for net 3372 kWh consumed/billed. That is an all-time record for lowest power consumption (at least back to January 2024 which is the oldest bill I have easy access to). Too bad it's also an all-time *high* for price per kWh - the effective price per kWh after taxes and fees hit 21.7 cents, a 15.4% increase since the start of the year and 53.9% since January 2024. Even so, the $731 bill for 3372 kWh is the smallest since I paid $722 for 3983 kWh back in July 2025. And that was an outlier, going further back the next time I had a bill that small was $618 in October 2024 for 3998 kWh. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I wonder if a voltage regulator at the local utility was having some problems? A couple weeks ago I saw much larger than normal variation in mains voltage than I've ever seen before, both high and low, then it cleared up. https://files.ioc.exchange/iocexchange/media_attachments/files/116/523/621/552/627/448/original/76f20bc04a0fd293.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Enterprise Role Play (ERP), sometimes also Enterprise Resource Play: A unique form of fetish role play. Unlike more popular fantasies such as boss/secretary focused on power relationships in an office environment, in ERP the business processes themselves are central to the scenario. ERP participants can create elaborate scenarios involving fictional purchasing departments, legal teams, contract negotiations, and more. Large group ERP scenarios sometimes even extend to the point of renting out vacant space in an office park and acquiring demo licenses of SAP or a competing software package to make the fantasy more realistic, or even traveling to a remote ERP group's dungeon to roleplay a merger or acquisition. As with more conventional roleplays in the S&M context, consent is critical in ERP. If participants are expected to invest significant real-world money in software licenses, make sure this is agreed upon by everyone in advance. The outcome of all merger scenarios should be pre-briefed; attempted hostile takeovers of another dungeon are extremely frowned upon and can result in participants being banned from future events. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg For comparison... my 16 GHz LeCroy oscilloscope puts out 40 Gsps * 4 channels * 8 bits of raw ADC samples, not counting the flatness corrections done in gateware/firmware. That's 160 GB/s or 1.28 Tbps of raw samples. That would even fit in NVLink 2.0 much less the current gen4/5 stuff. Imagine four channels of 16 GHz bandwidth waveform data straight into a (very large) GPU nonstop... We'd have to do a hell of a lot of optimization to ngscopeclient to keep up and probably add multi-GPU support but it would be so much fun lol. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg You know what would be really nice (but nobody is ever going to build)? Oscilloscope that replaces the ungodly slow USB3/1000baseT PC interface port with NVLink. Forget PCIe and Thunderbolt... 900 GB/s of bandwidth straight from the ADC to my GPU? Sign me up. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Whenever me and my wife are driving somewhere together and are backing out of a driveway, making a turn at a sketchy intersection, etc whoever is in the passenger seat always acts as a second set of eyes calling out traffic or "clear right" etc as appropriate. From what I've seen this is common practice in military and fire department circles but pretty rare in the civilian world for some reason. Not sure why, better situational awareness definitely makes things safer. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Another beautiful cloudless day (TF2 heavy nom noise) https://files.ioc.exchange/iocexchange/media_attachments/files/116/511/288/938/815/010/original/2fbaf3fd32416471.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/116/511/290/617/190/808/original/4565668b02e7083a.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Stress testing the R9700 a bit with a gigapoint of waveform data (512M point differential capture sent to me a while back by some folks at @nprofile…vxj5 ). The GPU-accelerated CDR PLL and eye pattern runs on the entire dataset in under a second (although it does use 26 GB of VRAM in the process... the GPU CDR needs a *lot* of scratch space with ultra deep memory, something I want to optimize eventually). And even with the entire 512M points on screen with full intensity grading, dragging and scrolling it around is interactively fast (noticeably jerky but still somewhere around 5-10 FPS). As soon as you zoom in a bit, it's buttery smooth. https://files.ioc.exchange/iocexchange/media_attachments/files/116/510/162/123/212/645/original/692690581127ef2d.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Did i put this in backwards or something? The fiber isn't clicking https://files.ioc.exchange/iocexchange/media_attachments/files/116/505/962/353/332/164/original/ec525353f8d27397.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n it claimed submersible and i certainly got it pretty wet over the years. Pretty sure it's been submerged at least once. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n air quality + IP rated might be harder since you'll need the sensor exposed npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n doesn't exist afaik npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I have a pair of end-of-life phones (CAT S61 and S62) with FLIR Lepton thermal cores in them. Anybody know if there is a good way to disassemble them to salvage the thermal modules without destroying them? I don't care about the rest of the phone, it's gonna end up in ewaste. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I just tried to ctrl-O to save a file in a GUI text editor. I think I've been spending too much time in nano lately npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk lol moss is native to this area the grass is probably what doesn't belong npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk the yard is like half moss already I just need to get rid of the grass and buttercups lol npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…3tsk i would like to replace our grass with moss... Never needs mowing, nice and soft npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Weird things that happen when you have a 100GbE pipe to your desk. 8 Gbps of sustained network traffic and the network monitor is like "yeah you're not using much bandwidth" Also I think there's a 32-bit overflow or something in xfce4-netload-plugin because the rate shows 0.00 Mbps when I get above some threshold (not sure what it is exactly but it's in the 15-40 Gbps range) https://files.ioc.exchange/iocexchange/media_attachments/files/116/497/247/334/128/502/original/8f0c619c80aec6bf.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…k7h5 you could probably write one without too much trouble but all of the ones I've seen, despite being freely downloadable, have restrictive termss attached npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…r9vg I run the vast majority of my stuff that opens a socket to the internet in VMs that I can reboot much more casually. But also I'm mostly running single-user systems. very few kernel bugs are RCEs, those are major headlines and the kind of thing that *would* get me to do an out of cycle reboot. But something that lets you privesc to kernel while running as a normal user really doesn't matter to me. If you pop my workstation you a) can get all of my files and data, root doesn't buy you much else and b) it's a dev box I almost always have a root shell open or am going to su/sudo in the next few minutes to do something you can keylog. The goal is to prevent an attacker from getting code exec as my local user in the first place not preventing root once they do that. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Do normal arch users just reboot constantly? I'm trying to imagine the UX of installing a random package and having vulkan suddenly stop working until you reboot because your kernel driver and userspace are out of sync or something like that npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Using Arch as a CI runner has been quite the interesting journey due to their packaging workflow and the fact that installing any new package effectively brings in a full system upgrade with it. An upgrade that can include some combination of kernel, nvidia kernel module, and userspace Vulkan stack. Which can result in Vulkan context creation failing with errorIncompatibleDriver until you reboot and everything is in sync again. So now the "spawn VM" script has special cased logic for Arch that patches, shuts down, and restarts the VM before actually launching the build on it https://github.com/ngscopeclient/scopehal-ci-scripts/blob/main/vm/spawn-vm npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…rues Intel XL710 -> Mellanox ConnectX 6. Haven't checked specs but it's likely faster, I think the old NIC was a gen3? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Well this was not expected. The 100G optics I ordered for my desk came in, and swapping the pipe to my desk from 40 to 100G gave a huge improvement in Ceph performance. But I don't understand *why*. Baseline config from earlier in the year: client on 40G, cluster nodes on dual 10G, 1558 MB/s on linear reads Moving cluster nodes to 40G, client on 40G: 1864 MB/s Moving client to 100G, cluster nodes on 40G: 3787 MB/s. The confusing thing is, even 3787 MB/s is only about 30 Gbps, so after protocol overhead I would expect it to fit comfortably in 40G. Why can I get this performance with the client on 100G, but not on 40? https://files.ioc.exchange/iocexchange/media_attachments/files/116/485/423/725/240/394/original/9cc10ec6167dd1c0.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…scs2 silver chloride plus sodium chloride and potassium bitartrate. I think (don't fully understand the theory of operation) the NaCl improves the extremely poor solubility of silver chloride slightly while the tartrate is ... Doing something to improve deposition and ensure a shiny smooth deposition (apparently after deposition you're supposed to wipe it down with just aqueous potassium bitartrate which somehow cleans the surface) npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…scs2 I've pretty much standardized on SMA for everything. My VNA and vector sig gen both have N ports that have permanent SMA converters on them. The BMAs on my big lecroy scope are converted to 2.92 or SMA any time I don't have an active probe on them. The BERT has 3 channels of untouched 2.92 on it, but the one channel I use most often for slightly slower work has a 2.92 to SMA adapter on it. At some point I might put a 2.92 connector saver on another channel npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…scs2 i would prefer sma it's likely getting a n to sma adapter semi permanently installed npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…scs2 I'm gonna be buying a r&s nrp18t soon but not for work, for my own lab mostly as a cal standard for other equipment npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Chat is it normal to bring personal standards into work to calibrate their equipment against? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Anybody familiar enough with Supermicro main board architecture to know what they're using the little Lattice CPLD for? Just IO expansion for the BMC or what? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Testing the silver chloride based plating powder on some PCB samples that I milled. It plates bare copper as well as, interestingly, ENIG coated surfaces but doesn't seem to deposit on non-metals. I milled a cavity into layer 2 on this scrap board (ignore the solder paste granules this board has been used for stencil testing too and I didn't bother fully cleaning lol. I used a combination of a lint-free swab and wooden toothpick to rub the plating composition over the surface. Plating quality deep in the cavity near the edges was defintiely sub-par, you can see the middle area is brighter looking compared to the edges because I was able to rub it more completely. But if I was trying to do rework or wire bonding to this it would probably be good. Gonna take it into work tomorrow and test if it is in fact wire bondable (and how well it stands up to oxidation etc when heated) https://files.ioc.exchange/iocexchange/media_attachments/files/116/475/022/391/964/946/original/5e120af59fb33043.jpeg https://files.ioc.exchange/iocexchange/media_attachments/files/116/475/022/392/910/293/original/ca9363165f0955b2.jpeg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…4424 yes RHEL is what the big eda folks run for linux, fedora is close enough we expect it to work on RHEL despite not officially testing npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…4424 We do have some, yes. Not sure how many. Arch has caused me a lot more pain than Fedora to date, mostly due to random package updates causing breakage but also the recent llvmpipe saga causing the GitHub release status to show as failing for the past few months (I might just disable that test suite on GH for now). npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg So now we have builders for * arch + nvidia * debian 13 + nvidia * debian 12 + nvidia * ubuntu 26.04 + llvmpipe * ubuntu 24.04 + nvidia * win11 + nvidia Fedora is next on the list as soon as I fix an issue around updating the msys2 runtime on the Windows build... npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg I ran a few quick calculations on power consumption: measuring at the UPS, the baseline consumption of the lab a minute or so before kicking off a CI job was 3828W. During testing it hovered around 3900-3950, with a peak of 4007. Using worst-case numbers assuming (4007-3828) = 179W extra power consumption during the build compared to idle, sustained over 17 minutes, a build would use about 0.05 kWh of power, which as of my last bill would cost me about one cent. Since the actual build is not running at that peak power the entire time, the actual energy requirement is substantially less. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg OK, the Arch runner is now set up and working after my rather annoying tangle with llvmpipe. The entire six-job build ran for 17 minutes. I could probably optimize it further: right now the Windows and Ubuntu 24.04 builds are among the slower ones and they share the same GPU forcing them to run sequentially. If I shuffled around which VM ran which job, I could probably fine tune a bit. Max concurrent jobs was four, three using nvidia cards plus the Ubuntu 26.04 using llvmpipe. I was watching YouTube videos in a SSH+VNC session to another VM on the server the whole time and it didn't stutter or slow down noticeably, suggesting that I wasn't overloading the server. I think my earlier problems with performance of other VMs during builds were due to the default xcp-ng scheduler granularity being "CPU" not "core"? After changing that things seemed to be a lot better. Was it maybe allocating the entire 32-core CPU to a single VM at a time or something in that mode?? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n well i dont have easy access to anything else mesa supported on this vm (or any arch instance i have access to) and nvidia doesnt use mesa. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n I was able to initialize vulkan and run a couple of shaders without any problems; 13 of my 17 unit tests crashed with weird pointer or memory corruption looking faults in code that seemed to be llvmpipe's JIT binaries from my SPIR-V. When I put an nvidia card in the same VM, it runs without issue npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n The crash I was getting was segfaults deep inside LLVM-generated code with no symbols, and a thread named "llvmpipe". I don't have a full vulkaninfo dump from the VM at that snapshot handy but here's a subset of the info https://dashboard.ngscopeclient.org/tests/920 npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n well i dont even have a display server *installed*, this is a headless VM, so it shouldn't be confused by that npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n there is no x or wayland server running so i dont think there is any mesa? or is mesa involved in the vulkan stack still even when nothing is being drawn? npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…a65n I do not have any AMD cards in the VM server at the moment only nvidia. So my options are currently llvmpipe or a GTX 1630. Down the road when I shuffle some stuff around and put a 100G NIC in the box, I am considering trying to squeeze an AMD in to enable testing on a larger cross section of platforms npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Is anybody using llvmpipe on Arch Linux with Vulkan? Have you tested recently? I'm seeing all kinds of horrible segfaults of trivially simple shaders in ngscopeclient + llvmpipe with Arch on both my own infrastructure and GitHub Actions. When I put a nvidia card on my Arch VM and use their Vulkan driver instead, everything works fine. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg 65.1 kWh generation today, another record (beating 60.3 from last Saturday) and up to 940 for the month. From about 10:30 to 14:45 I was fully self-powered. One more good sunny day - which tomorrow looks like it should be - and I should break the 1 MWh mark for the month. If the weather is as good today for the rest of the month, I could get as high as 1.3. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Alder Lake isn't far off but i need to find the chip first and they're new enough to still be a bit pricey npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Tukwila is iirc an entire server so even though it's close by i really don't want to buy and lug one around just for the photo op npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg i want to visit the Nehalem river soon but need to acquire the right generation of Xeon first npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Velkommen til Poulsbo! Intel Poulsbo is a 130nm Atom chipset that was widely hated due to the near nonexistent Linux support for the PowerVR SGX535 GPU it included, rather than an Intel in house microarchitecture. I'll decap and post die photos at some point but I wanted to visit the namesake with the intact board first. https://files.ioc.exchange/iocexchange/media_attachments/files/116/462/101/092/033/416/original/06fcb38303c32c26.jpg https://files.ioc.exchange/iocexchange/media_attachments/files/116/462/101/293/803/781/original/3e447de4b4ffd112.jpg npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg @nprofile…7l00 HIPAA doesn't prohibit collection of information, only how it can be disclosed once it's collected. A lot of ambulances have cameras in the back too. There are plenty of legitimate uses besides the "safety/security" justification that's often used; it lets you replay an incident and debrief it to find things you might have missed in the heat of the moment that could have been done better. I know of one service (Parker County) that uses body cam + ambulance cam footage for internal debriefs on all of their cardiac arrest / CPR calls. This helps improve patient outcomes and seems like an entirely reasonable use for the data; it's only being shown to people who were there anyway and is just serving to jog their memory. If the patient consents to a broader release of the footage, of course, then they can do whatever the patient allows them to. Which is how you get really cool videos like this https://www.youtube.com/watch?v=p_Fp2hhUPK8 that run through the entire call end to end. They actually have a couple of different ones on this particular call with various analysis and narration by the medics who ran the call, their medical director, and some other folks at the agency. npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Using the solar company's 9 MWh/yr rough estimate for generation since I don't have actual numbers for the year yet, and my current power price rather than what it was when I quoted, and the actual rate of price increase, extrapolating... 2026: $1944 savings 2027: $2439 2028: $3062 ... 2033: $9532, total since install $39.2K That's roughly 8 years to breakeven, not 18. Of course, who knows if power prices will keep climbing at this rate (and how much I can cut my consumption between now and then with some of the other upgrades I have planned). I'm also not looking forward to what the same math extrapolates would be a nearly $60K/year power bill in 2033 if I can't cut my usage dramatically! npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg Looking at the trend, I don't see it getting better soon if ever. I generated ~0.7 MWh last month which means that my actual consumption sans solar was more like 4.8 MWh. Back in December 2025 (pre solar) I paid $920 for about that much power, but the rate went up 14.8% between December and April so had I used that much power in April it would have cost me $1056. In April 2027 if I get another 25.5% price jump like I did between April 2025 and 2026, the same consumption would be $1326. https://files.ioc.exchange/iocexchange/media_attachments/files/116/450/564/670/453/269/original/283cb17b4a623659.png npub1cddglts94qutscms0qpmk87lel9m8xku7q0wr20u2th5fxvvunqqxz9vpd Andrew Zonenberg The solar company estimated my array would take 17.8 years to pay off. But that estimate was based on a 3.78% per year rate escalation. Actual power usage and bills: April 2024: $668.87 for 4.48 MWh April 2025: $740.52 for 4.29 MWh April 2026: $889.36 for 4.12 MWh Despite me *reducing* consumption by ~10% over those two years, my bill went *up* by over $220.