Add extra stuff to a "standard" encoding? Sure, why not.
http://rachelbythebay.com/w/2023/09/19/badlib/ [rachelbythebay.com]
2023-09-24 02:14
tags:
development
library
turtles
Hold on. protobufs do not work that way! They don’t have their own framing. That’s why recordio was invented, and countless other ways to bundle them up so you know what type they are, how long they are, and all of that other stuff. The actual binary encoding of the protobuf itself is bare bones! So what’s up with this length byte?
Feeds, updates, 200s, 304s, and now 429s
http://rachelbythebay.com/w/2023/01/18/http/ [rachelbythebay.com]
2023-01-20 22:05
tags:
admin
development
web
The carrot basically is: if you have a well-behaved feed reader, you will continue to be able to discover a new post on my feed in a reasonable amount of time. This is most people. Most people do it right. Thank you for that.
The stick is: if you do not, you will not. It will take considerably longer to notice something’s different out here.
That simple script is still someone's bad day
http://rachelbythebay.com/w/2022/04/05/pipe/ [rachelbythebay.com]
2022-04-19 03:58
tags:
sh
unix
What’s this? The second part of the pipeline still ran? Of course it did. It’s *already running* at the point that the reader fails. Its stdin is hooked to the stdout of the other thing, Unix-centipede style.
Push some big numbers through your system and look for bugs
http://rachelbythebay.com/w/2021/02/03/bits/ [rachelbythebay.com]
2021-02-07 00:05
tags:
bugfix
development
testing
Why does this matter? Okay, let’s say you have a JSON message where you pass around the unique ID of some object in your system. Let’s further say that your system “mints” IDs out of a 64 bit number space, and it spreads them around, so large numbers can turn up every now and then. What happens when you finally get an object ID with a value of 1152921504606846976 and put it into a message?
retvals, terrible teaching, and admitting we have a problem
http://rachelbythebay.com/w/2020/12/06/forked/ [rachelbythebay.com]
2020-12-10 08:36
tags:
development
programming
Really though, this is everywhere. It’s not just that one class. It’s not just that one school. It shows up all over the place. The vast majority of pages about this kind of stuff manage to convey it incorrectly. It’s clear that not only is the horse out of the barn, but the cat is out of the bag, and the whole damn menagerie has cut loose and is running down Broadway singing show tunes. You just can’t expect people to do the right thing when the right thing is implemented this way. Too many people have voted with their feet and have decreed that they are just going to not check, and whatever happens, happens.
Popular posts from leaky bug-tracking systems
http://rachelbythebay.com/w/2020/03/05/bugs/ [rachelbythebay.com]
2020-03-08 02:52
tags:
development
links
My web server logs referrer data whenever it’s available. It means I pick up a bunch of attempted referrer spam from some crazy Kyivstar GSM blocks, but it also means I can see when certain sites link to me. While this has shrunk over the years as browsers curtail what data they’re willing to convey to foreign origins, it’s not quite dead yet. Watching this over the past year or so has showed me that a handful of my posts are apparently very popular in bug tracking systems. I see quite a few inbound visitors from various corporate JIRA systems, and even a couple from some GitHub issue tracking pages.
This is certainly an interesting way to make a best of list.
The day when starting a receiver fixed the transmitter
http://rachelbythebay.com/w/2019/11/13/sdrlag/ [rachelbythebay.com]
2019-11-14 16:56
tags:
hardware
investigation
perf
wifi
Have you ever tried to do something, but had it fail and weren’t really sure why? Did you then try to fall back to doing something you could actually measure in order to then get a handle on the problem? I had something like this happen quite a while back with some software defined radio stuff. Here’s how it went.
Possibly timely items from my reliability list
http://rachelbythebay.com/w/2019/08/01/reliability/ [rachelbythebay.com]
2019-08-02 18:16
tags:
admin
development
programming
Time zones, leap seconds, oh my.
I like this much more than the typical falsehoods list because it actually explains the problem and gives a hint about the solution.
Some items from my "reliability list"
http://rachelbythebay.com/w/2019/07/21/reliability/ [rachelbythebay.com]
2019-07-23 02:12
tags:
admin
development
networking
programming
web
I’ll list some of them here and some of the thinking behind them. Just about everything here has happened at some point in time, and probably has happened more than once... way more than once.
I like a lot of this. Very much.
On the other hand, if you only need 53 bits of your 64 bit numbers, and enjoy blowing CPU on ridiculously inefficient marshaling and unmarshaling steps, hey, it’s your funeral.
The night of a cascading failure
http://rachelbythebay.com/w/2019/01/20/quiet/ [rachelbythebay.com]
2019-01-22 01:08
tags:
admin
development
networking
programming
Remember that as you read through this story, you knew about the intrepid engineer and their “mytest2” change because that’s how I laid it out. The people who had to fix the problem initially had no idea it traced back to that, and not just because there are thousands of changes going on at any given moment. They also couldn’t log in to even SEE the list of changes, and then when they could, the list *broke* because of the bug. They also couldn’t even page each other initially, because, well, again, everything was broken.
source: L
Potholes to avoid when migrating to IPv6
http://rachelbythebay.com/w/2018/12/30/v6/ [rachelbythebay.com]
2018-12-31 05:53
tags:
development
networking
Is your parser still going to work?
Times 77.
Strings are hard!
The other kind of "flash" that we used to worry about
http://rachelbythebay.com/w/2018/12/26/flash/ [rachelbythebay.com]
2018-12-27 21:42
tags:
networking
retro
social
tty
unix
If you’re now thinking “hey, I bet I could use that to put random crap on the screen of the other person by crafting my own talk request packet”, you’re on the right track. Your chat request to the other person specified details of how they were to connect back to you. What if you supplied utter garbage?
Small stupid things that make up my dev environment
http://rachelbythebay.com/w/2018/12/21/env/ [rachelbythebay.com]
2018-12-23 05:21
tags:
admin
development
unix
ux
One disclaimer: I don’t expect anyone to appreciate all of this, and I expect quite a few will reject all of it. That’s OK.
Private peering issues and focusing on the end user
http://rachelbythebay.com/w/2018/08/24/peering/ [rachelbythebay.com]
2018-08-26 23:32
tags:
admin
development
networking
They eventually determined that yes, it was something wrong with the private link between the site and that one ISP, and particularly, it was at the far end. There was nothing the company could do in terms of twiddling things on the link to fix it. Moreover, it seemed like most people were happy to leave it with that: “problem isn’t us, it’s them, so screw ‘em, they’ll fix their shit and people will be able to get to us again”.
Fortunately, at least one other individual buried in the team which handled such things was not willing to just leave it like that. Sure, the ISP may have made a massive mistake, but why make the users suffer? They don’t deserve it.
A variation on not your fault but still your problem.
What's the size of that vector, anyway?
http://rachelbythebay.com/w/2018/04/26/size/ [rachelbythebay.com]
2018-06-01 17:02
tags:
cxx
programming
Here’s a short example program. Try to predict the output before you compile and run it.
Optimizing your talking points
http://rachelbythebay.com/w/2018/04/28/meta/ [rachelbythebay.com]
2018-05-23 20:30
tags:
development
ideas
“People shouldn’t write crap code”
I agree. People shouldn’t write crap code. However, despite our powers combined both wishing for this, it still happens.
If you can’t spot the person making mistakes, it’s you. :)
Timeless writing by other people about workplaces
http://rachelbythebay.com/w/2018/04/24/links/ [rachelbythebay.com]
2018-05-17 18:51
tags:
business
development
essay
life
links
strftime's alpha-sorted man page vs. well-meaning people
http://rachelbythebay.com/w/2018/04/20/iso/ [rachelbythebay.com]
2018-05-13 00:03
tags:
c
development
docs
Alpha sorting is still probably the best option. I’m not sure how one could reasonably implement “utility” sorting. The solution perhaps is to limit the amount of stuff requiring documentation to make it easy to read.
Hanging the Linux core dump pipe helper
https://rachelbythebay.com/w/2018/04/29/core/ [rachelbythebay.com]
2018-04-30 20:52
tags:
linux
systems
Two posts in a week. Core dumps trending up.
source: L
Attack of the broken feed reader
http://rachelbythebay.com/w/2018/04/12/badfeed/ [rachelbythebay.com]
2018-04-30 01:59
tags:
admin
development
networking
swtools
web
It pulls yesterday’s post? Why? You already pulled it... yesterday! And a couple dozen times already today!
This isn’t breaking anything since it’s all static content and it’s coming from RAM on my end, but come on, it’s pointless. This makes no sense. Knock it off.
I’ve seen the same and am similarly annoyed. If you need to scrape a site, is basic competence too much to ask?
Developers should consider the impact their software will have, but I also think users should monitor their automated systems more closely. Don’t just check all the boxes and let it rip.