Adrian Chadd's Ramblings
- Posts
- 317 from 14 Apr 2008 to 29 Oct 2026
- Posting
- monthly (8 in the last year)
- Kind
- personal blog
- Feed
- https://adrianchadd.blogspot.com/feeds/posts/default
2026 4
- Code Challenge Interviews are Dead, or "Why the fuck were companies doing these in the first place?"
- Why just switcharoo'ing RAM on a RPI isn't guaranteed to work, or "wait, you have to do WHAT to get DDR to work?"
- The great 2024/2025/2026 tech firings, and what happens to all that clue
- Being accused of taking down a Data Centre, or "what happens when adrian is the only one who isn't oversubscribed on power?"
2025 5
- Installing a 32k DS1386 into an SGI Indy that expects an 8k DS1386
- Blinking the SGI Indy Power Light
- Reverse Engineering the SGI Indy Monitor Detection, or "thank god someone added SGI indy / indigo 2 support to MAME"
- A tale of an SGI Indy, a Sony power supply, and how to keep the fan spinning
- Installing FreeBSD-15 directly on an SSD, or "wait this 2007 era AMD K8 1RU server doesn't boot from USB flash?"
2024 4
2023 3
2022 11
- Who's the /BOSS on the Amiga 2000 ?
- damnit i slipped and (mostly) built an amiga 500
- Installing a kickstart ROM adapter in my Amiga 1000, or "Nothing works, and nothing makes sense"
- Fixing a third commodore plus/4, or "god damnit adrian stop it"
- Getting new simgen backdrops on my amiga 500
- It took me WAY too long to get this gotek to work...
- Amiga 1200 - Kickstart 3.1.4 upgrade, but not upgrading to AmigaOS 3.1
- At least cross compiling for the Amiga 500 is easier than the 16 bit DOS mode PC stuff
- Getting stuff onto the Amiga 500, or "holy crap please include bootstrapping serial file transfer utilities in your OS"
- Hacking up an Amiga 500 for 1MB chip RAM and 512k slow RAM
- Figuring out how Amiga 500 RAM expansion projects work
2021 2
2020 6
- Repairing and bootstrapping an IBM PC/AT 5170, Part 3
- Repairing and bootstrapping an IBM 5170 PC/AT, part 2
- Repairing and bootstrapping an IBM 5170 PC/AT, part 1
- RFI from crappy electronics, or "how's this sold in the US?"
- Fixing up ath_rate_sample to actually work well with 11n
- I'm back into the grind of FreeBSD's wireless stack and 802.11ac
2019 3
2018 3
2017 7
- More TS-440S hijinx, or "ok, what if you wanna homebrew a digital hookup?"
- FreeBSD and APRS, or "hm what happens when none of this is well documented.."
- Fixing up TS-440s rigs
- gqrx, direct sampling configuration, shortwave/AM reception, etc
- gqrx on freebsd
- Bringing up 802.11ac on FreeBSD
- (finally) investigating how to get dynamic WDS (DWDS) working in FreeBSD!
2016 7
- FreeBSD on a tiny system; what's missing
- Musings on bringing up services on freebsd-wifi MIPS devices, or "why cross compiling is important"
- Debugging TDMA on the AR9380
- Updating the broadcom driver part #2
- Updating the broadcom softmac driver (bwn), or "damnit, I said I'd never do this!"
- Why's my laptop running so hot? Or Firefox, pandora, and 1 million syscalls a second.
- On being able to reflash your own devices, or "wow, millions of devices are potentially vulnerable."
2015 15
- Fixing up the QCA9558 performance on FreeBSD, or "why attention to detail matters when you're a kernel developer."
- Fixing up the RTL8188SU/RTL8192SU 802.11bgn driver (rsu)
- As requested: progress of AR9170
- Porting a wifi driver from openbsd - AR9170
- FreeBSD now has NUMA? Why'd it take so long?
- The importance of mentoring, or "how I got involved in FreeBSD"..
- RTL-SDR on FreeBSD, or "hey, cool, I live near an airport, I wonder if ADSB works.."
- freebsd-wifi-build, or "wait, you can run freebsd on atheros MIPS access points? where do I get that?"
- Intel DDIO, LLC cache, buffer alignment, prefetching, shared locks and packet rates.
- Using the arswitch ethernet switch on FreeBSD
- Cache Line Aliasing #2, or "What happens when you page align everything"
- cache line aliasing effects, or "why is freebsd slower than linux?"
- FreeBSD on the POWER8: it's alive!
- TDMA (somewhat) working on AR9380 chips
- On profiling HTTP, or "god damnit people, why are all the open source tools slow?"
2014 12
- ... mmm emulators.
- More RSS UDP tests - this time on a Dell R720
- UDP RSS update: ixbge(4) turned out to have issues..
- Receive side scaling: testing UDP throughput
- Receive Side Scaling: figuring out how to handle IP fragments
- Application awareness of receive side scaling (RSS) on FreeBSD
- Hacking on Receive Side Scaling (RSS) on FreeBSD
- Why oh why must people think backdoors == NSA? Silly people.
- Meraki Sparky boards, and constant resetting
- Adding chipset powersave support to FreeBSD's Atheros driver
- Porting over the AR8327 support
- Hacking on Mindwave for fun and .. fun
2013 21
- Experimenting with zero-copy network IO in FreeBSD-HEAD
- Doing arduino development on FreeBSD-HEAD
- So, FreeBSD on the AR9344? What happened?
- The gymnastics required to just do a "HALT" for MIPS..
- Finding low hanging fruit with PMC, or "O(wtf)" ?
- This blog post is mostly so i dont
- Profiling on superscalar architectures, or "no, instruction counts don't necessarily matter nowdays.."
- Why, oh why am I seeing RST frames from FreeBSD when I have a high connection rate?
- Hacking on the Intel 10GE driver (ixgbe) for fun and .. not-crashing
- Doing traffic with the Carambola 2..
- Making the AR9330 SoC wifi, or "how it feels doing things right.."
- Working on Bluetooth Coexistence
- So long, and thanks for all the fish!
- The fitbit, or "making me aware of all the exercise I'm not doing"
- Trying to implement A-MSDU support, or "what happens when things aren't done in the right order."
- A FAQ about today's FSF release
- Slashdotted!
- Today's Journey: Making AP mode power-save work better
- Hey, look, it's lots of atheros NICs in one laptop
- AR9380 support on FreeBSD; why it's taken so long..
- Why PCI latency timers matter..
2012 16
- Be careful of adding debugging, as microseconds count..
- Getting TDMA working on 802.11n chipsets
- Making the AR5210 NIC work in the office..
- Power save, CABQ, multicast frames, EAPOL frames and sequence numbers (or why does my Macbook Pro keep disassociating?)
- Lessons learnt from fiddling with the rate control code..
- Filtered frames support, or how not to spam the air with useless transmission attempts
- Reading rate control information from userland..
- Don't let anyone tell you that FreeBSD doesn't "do" 802.11n:
- A tale of two sequence numbers, or "when QoS seqno and CCMP PN don't match up"..
- FreeBSD, Netflix, CDN
- Fixing BAR handling and handle corner cases of things..
- FreeBSD/arm -
- And the winner of the most committing committer to src/sys over the last 12 months is ..
- The initial introduction into "it's the NIC, stupid!"
- Concurrency in the TX path and when it all falls down..
- .. and the price of packaging up software? Billions.
2011 35
- FreeBSD on the TP-Link TL-WR1043nd!
- FreeBSD 802.11n update: 27 November 2011.
- FreeBSD is now doing (even more) 802.11n..
- Sitting in a hotel, getting stuck beacons..
- I know this is old..
- FreeBSD vendor summit - November 2011; Sunnyvale, California
- Wireless update - 802.11n development
- Wireless update - DFS wrapup
- FreeBSD: DFS update
- Unintentional side-effects - IPv4/IPv6 load balancing..
- Lusca update: IPv6 server work is now working
- Lusca development update - IPv6 is almost working
- Implementing 11n TX aggregation, why it's not so easy..
- Uninformed programmers, or "stop assuming virtual memory is awesome."
- AR9287 update
- AR9287 support is now in -HEAD
- The count of Monte Cristo
- AR9160 11n performance - finally!
- FreeBSD-HEAD on the PB92 + AR9280
- AR913x support in -HEAD, or TP-Link WR-1043nd
- Oh god, so much wireless hardware..
- 11n TX and RX experiments..
- (More) wireless hackery
- More wireless hackery
- AR9280 TX errors - why it's important to care about how your hardware works..
- This is for Emily..
- The end is nigh..
- Week 1 - stuff seen randomly about
- Space Invaders!
- Sleepless in New York..
- AR9280/AR9285 support now working
- AR9220 support; why AR9280 is broken
- LUSCA ipv6 - almost there (again!)
- Lusca and IPv6 - almost there
- What am I going to do now?
2010 37
- 802.11n update - WPA works
- Saturday night @ ucc: 11n hackery
- A productive night at the computer club ..
- Now that exams are over ..
- FreeBSD 802.11n: aiee
- bsdbox - take #1
- Antenna Diversity: Ubiquiti SR-2
- FreeBSD/MIPS: AR9132 and AR9100 wireless support
- LUSCA and IPv6
- FreeBSD/MIPS: AR9132 porting
- Satellite instead of NBN? Hello latency..
- Authority-by-being-employed-by-Google, rather than by-reproducable-data
- More IPv6 hackery..
- FreeBSD/MIPS on AR71xx / Routerstation Pro: NIC alignment/size bug fixed!
- Cacheboy: Firefox Release 3.6.4
- HTTP parser/management changes
- Unit testing using ATF
- The best news is sometimes no news..
- Modifying the HTTP header parser in Lusca
- State of the Cygwin/Windows port!
- Hunting down method_t bugs..
- Today's fun bug: invalid swap metadata
- Lusca update: important bug fixes, portability work
- Lusca and HTTP parsing..
- Lusca Logging, revisited
- Improving the access logging code
- Currently reading: "The Science of Programming" by David Gries
- Some more Lusca Profiling..
- Why are some Squid/Lusca ACL types slower than others? And which ones?
- Open Source Economy?
- Lusca: more reorganisation, new features
- ibook hackery, or "why apple probably did the magnetic connector stuff."
- Lusca: more reorganisation
- FreeBSD-current on the RouterStation Pro
- PS3 hacked! Or, "I'd pay extra for a totally open PS3."
- Hardware hackery: Adding IO to an Amstrad CPC
- The Origin Of Nerd Phrases, or Robert Heinlein
2009 82
- The ACMA blacklist, and can it be distributed securely?
- On filtering proxy/anonymizing servers..
- Filtering via BGP, and why this doesn't always quite work out..
- How does a proxy interfere with throughput?
- People who don't understand an arms race aren't doomed to repeat it...`
- Why would more than 10,000 URLs be a problem?
- .. summary from Retro Night, take #2
- More issues with Lighttpd
- Cacheboy Update / October/November 2009
- Cacheboy downtime - hardware failures
- Just few lusca related updates all of
- Lusca updates - September 2009
- My current wishlist
- New project - sugar labs!
- Cacheboy presentation at AUSNOG
- Cacheboy status update
- Canada node online and pushing bits!
- Cacheboy is on WAIX!
- BGP aware DNS
- Squid-3 isn't a rewrite!
- Updates - or why I've not been doing very much
- Preparation for next release; IPv6 checklist
- Updates - rebuild logic, peering and COSS work
- Caching Windows Updates
- VLC 1.0 released
- Storage rebuilding / logging project - proposal
- Current Downtime/issues
- New mirror node - italy
- Lusca in Production, #2
- Lusca-head pushing >100mbit in production..
- Lusca-head in production with tproxy!
- And the GeoIP summary..
- A quick snapshot of Cacheboy destinations..
- Seeking a few more US / Canada hosts
- Another day, another firefox release done..
- Migrating to Lighttpd on the backend, and why aren't my files being cached..
- New mirrors - mirror2.uk and mirror3.uk
- More profiling results
- LUSCA_HEAD (as of today) is in production
- More brain-damage code..
- More traffic!
- mirror1.jp.cacheboy.net - mozilla!
- Mozilla 3.0.9 release..
- Changing tack - more modularisation?
- Fixing the disk code, part 4
- Fixing the disk code, part 3
- Lusca and Cacheboy improvements in the pipeline..
- Fixing the disk code, part 2
- Fixing the disk APIs (or, reading Squid-1.2 code)
- Lusca snapshot released
- lusca release - rev 13894
- Documentation pass - disk IO
- Mirroring a new project - Cyberduck!
- Mozilla 3.0.8 release!
- Async IO changes to Lusca
- shortcomings in the async io code
- New Lusca-head features to date
- Googletalk: "Getting C++ threads to work right"
- Another open cdn project - mirrorbrain
- Example CDN stats!
- wiki.cacheboy.net
- More "Content Delivery" done open
- Filesystem Specifications, or EXT4 "Losing Data"
- Breaking 200mbit..
- GeoIP backend, or "reinventing the wheel"
- Downtime!
- minimising traffic to the backends..
- Cacheboy Outage
- Cacheboy is pushing bits..
- Cacheboy CDN is online!
- Lusca and BGP, take 2.
- Lusca and BGP
- Lusca development, and changes to string handling
- Where the CPU is going
- Eliminating copies, or "god this code is horrible"
- Eliminating copies, or "god this code is horrible"
- Tidying up the http reply handling code..
- Refcounted string buffers!
- More profiling!
- FreeBSD TPROXY works!
- TPROXY support
- next steps..
2008 44
- Cacheboy-HEAD updates
- Reverting IPv6 for now; moving forward with structural changes
- Working on NNRP proxies, or writing threaded C code..
- Updates!
- Serving IPv6 from Cacheboy-1.6.PRE2
- Cacheboy IPv6 update
- IPv6 ACL code, sort of!
- Cacheboy-1.5: IPv6 DNS servers
- Upcoming Cacheboy-1.5.PRE3 development release
- Standalone HTTP header parser!
- IPv6 core merged into cacheboy trunk
- Merging sockaddr_rework into Cacheboy trunk
- Cacheboy IPv6 (phase 1): More Updates!
- IPv6 tcp proxy success
- Cacheboy IPv6 (phase 1): Updates!
- Benchmarking is available!
- Commercial work updates!
- Surviving polymix-4..
- Threading Squid - initial observations
- Commercial projects and such..
- Watching things evolve..
- Cacheboy: shuffling around the DNS code
- The Squid Callback Data Type
- libevent httperf!
- Initial Profiling!
- First milestone - code reuse!
- Why memory allocation is a pain in the ass..
- Cacheboy-1.3 (.1) released; short-term future
- Current CPU usage
- Updates - comm code, etc
- Async IO related hackery
- More reorganisation..
- cacheboy 1.0 released
- FreeBSD port update
- Revalidating objects in Polygraph
- Cacheboy PRE6 is out
- Error page update, phase 2
- Errors shouldn't be ugly
- Where is my CPU time going? (or how to divine useful information from oprofile)
- Solaris Event Ports for Network IO
- Knowing what your allocator is doing..
- "Dial before you Dig"
- Development thus far
- Experiences with Google Code