Profile cover photo
Profile photo
Dave Taht
singer, pianist, guitarist, writer, experimenter, theorist, hacker, maker, faker - in no particular order, on any given day. And I also write code.
singer, pianist, guitarist, writer, experimenter, theorist, hacker, maker, faker - in no particular order, on any given day. And I also write code.

Dave's posts

Hi. My name is dave. "Hi, dave".
And I've now gone a month without checking facebook once.
"Yea, dave!".
And I feel fine. If it wasn't for my faith in emacs and irc, I'd have not got to this day....

Post has attachment
Awesome new #bufferbloat fighting tool enhancement of the month: Now flent can not only measure flows out of band, but the tcp metrics themselves, directly - we can peer into the cwnd without a packet capture!

Maybe I'm just dumb. Every compiler, lib writer and their mother goes around creating "the worlds fastest memcmp" routine - which checks for less than, equal, or greater than, often does a fixup at link to call a pretty big routine to do this.... Why is there no "memeq"? Is the answer so obvious than I'm missing it?

What if all you care about is two segments of memory are identical? And you are comparing short stuff (like, in my case, fixed length 8 or 16 byte ipv6 prefixes)?

bool memeq(x,y,const size);

should I just cast something to a structure and do struct a == struct b? Does the compiler figure out that all I want is memeq?


should boil down to "xor" on an arch with 128 bit registers. Or two xors and an or on 64 bit ones. Or four xors and 3 ors, on 32 bit ones. But I don't think it does.

Post has attachment

I have been dealing with all sorts of issues around expiring #ipv6 address
lifetimes and routes of late, mostly in lede-project, but also discovering
holes in coverage in mainline linux tools also.

Recently I did a:

ip -6 route replace blackhole fd89::1/128 proto 50 expires 600

This was a "in case I have a coronary while trying to fix this flood
upstream, expire the blackhole so the next sysadmin still alive can
deal with it" idea.

It didn't work - expires never made it to the kernel, as shown my ip
monitor nor by expires expiring anything. Which caused much puzzlement
later after my blood pressure came back to normal and my brain started
working again.

Now, off to poke at iproute. Joy.

Post has attachment
The ironic thing, is I can't find chips 2,3,6. They are in the house somewhere....

Post has attachment

Post has attachment
A great deal of the bufferbloat research has taken place on incredibly cheap machines, on no budget at all. For example, the second lab I'm building up for wifi ATF testing consists of:

c.h.i.p ($9)+ case ($2) + battery ($14) = $25 each
odroid c1 + case battery = $84
(there are bunch of different wifi routers around: if you only count the ones that worked, about $600)

I have 6 actually - but they are so small, I've temporarily misplaced 2 of them!

Despite these guys being so tiny they run a vpn, webserver, babel, and bind9.

Post has attachment
Worth it just for the gothic font. I really wish the gaming industry as a whole would stand up and help users fight with the ISPs to make their networks better.

Post has attachment
Wait while more posts are being loaded