1195725856 and other mysterious numbers
chrisdown.name
chrisdown.name
$ echo 'obase=16; 1195725856' | bc | xxd -r -ps | od -cb
0000000 G E T
107 105 124 040
0000004
$
Looks like HTTP. $ printf '%032x\n' 1213486160 542393671 | xxd -r -ps | xxd -g4 -c16
00000000: 00000000 00000000 00000000 48545450 ............HTTP
00000010: 00000000 00000000 00000000 20544547 ............ TEG
$ >>> 1195725856 .to_bytes(4, 'big')
b'GET 'I work on image processing; when we get an image we don't recognize, we print out the first few bytes in hex & ascii. Often, it's an error message or HTML error page. The user's code takes the results of an HTTP fetch and sends it to us, forgetting to check for errors.
oh, well...
Thanks for reminding me that other folks are old, too. I hadn't heard anyone mention it in years.
> I guess this means 1213486160 is going on my list of magic numbers. Also, it means that 2008-06-14 23:29:20 UTC is, in a strange sense, "HTTP time". If you see either that number or that date (with possible adjustments for your local time zone) showing up in your life inexplicably, this might just be why.
Also, we did this debugging. Years ago.
(No, I don't work there... any more.)
the entire company trends towards peak levels of procrastination, doing literally anything and everything to avoid the unspeakable horror of having to write a few paragraphs of BS marketing speak ads for their fellow employees
there, fixed that for ya.
I hate perf! All want to say is Jill does great work, Joe does ok work. Bill might need to work on something else has he doesn't seem into it.
Instead I'm told to write several paragraphs of ad copy trying to make unique and interesting sentences that don't sound the same but basically all say the same thing "Jane does good work". They want specifics like
"Vlad's work on the ABC protocol really took things to the next level. If it had not been for his tireless effort on the ABC protocol discussion list it's likely a different spec would have been ratified and we'd all be stuck with 6 months more work in our implementation."
Now (1) I didn't actually know that because I was head down working on my own stuff so I had to go spend time 30 minutes looking that shit up and (2) That's one out of 6 paragraphs, and everyone better sound completely unique like it was meant to be presented in a magazine.
And, when it's all done it was worthless. What I wanted to write
"Vlad's great, he does good work and I like working with him"
Is all they really wanted to here but the "process" is instead a huge waste of time for everyone.
Ugh, I can relate so strongly. Right now I'm supposed to be filling out my mid-year performance sheet, including team success goals, team player actions, effective communicator actions, achieving business results actions, business goals, personal goals, individual development plan, etc. I've been working on it for 2 days and have hardly anything done. This kind of work is so incredibly difficult for me. It is supposed to be written with maximum business jargon. I'd rather put in a week of all nighters writing some code than working on this.
A similar-ish technique for when I'm stuck trying to figure out how to phrase something: rubber duck saying it without the constraint of needing it to sound fancy/formal/academic/smart, and then remove all the "likes" and make it concise.
I think my biggest problem with writing is that i can’t get into the conversational flow and build sentences block by block. It’s exhausting.
As a manager in one particularly toxic org, you had to strike a balance where you showed constant forward motion, but not too much. Too little and you'd be tortured with meetings with a PMO, too much progress, you'd be declared a genius and the PMO would either appoint you as a "champion" to get shit done or take your people away.
Not really. They're ammo for whatever the manager wants to do with the target of your review. Management can spin this feedback to fit the agenda. They can also serve as a paper trail for managing someone out.
Of course, the same guy fired me with no notice and no severance on the last day of the month (Wednesday), but as the termination documents helpfully pointed out, my health insurance stayed good until the end of the month.
Humans seem to have a tendency to leverage complexity (adding layers until we can't see the bottom anymore) to keep ourselves engaged, so maybe superstition is a side effect of that.
And the problem is, because our brains find patterns in everything, and most readily in our own behaviors, it doesn't take too much iteration for us to go "wait, there's a pattern right there! that makes sense!!1" even when the result is comprised entirely of logical fallacies and chicken soup.
I never got to the point of not strongly disliking the experience of writing reviews, but I was able to make things a lot easier for myself by regularly sharing anything quantifiable related to my work, since I could just look back at what I had shared. It also worked decently well as a forcing function, as I used the heuristic "feels like I have shared anything quantifiable in a while" for "am I sure I'm working on something valuable?"
Note that the above is purely about how I managed the actual experience of writing reviews as an IC at FB, not whether or not it's optimal. My personal opinion is probably that it's a wildly suboptimal system that's still orders of magnitude more effective than not having one at all (for me).
It's back now. Thanks!
EDIT: My browser cached your redirect. Opened in private and I'm OK now.
> I guess this means 1213486160 is going on my list of magic numbers. Also, it means that 2008-06-14 23:29:20 UTC is, in a strange sense, "HTTP time". If you see either that number or that date (with possible adjustments for your local time zone) showing up in your life inexplicably, this might just be why.
That seems to be the URL now.
printf("%d\n", 'GET ')
1195725856I haven't quite figured out how to incorporate that into my philosophy. I'm still pretty damn sure I don't want your exercise in fundamentals to be running in production, but I also don't want to be surrounded by people who only know how to look things up.
so both hex and dec representations got me (close numbers)
many protocols and simple ciphers use similar methods btw.
There are locking issues, time sync issues, permission mapping issues, there are bugs in kernel and usermode drivers, there are conflicts between clients and servers from different vendors, there are bugs in implementations of standards (and different standard versions), there are varying degrees of support, there is always an intermittent network outage that causes hard to detect bugs, you have to decide between hard and soft process locking for i/o threads, performance turning for either throughput or speed, sync or async, export security rules, encryption or no encryption (and does everything you use support it), to say nothing of dedicated or shared network gear, finding an admin to run your expensive enterprise gear implementing the server (open source nfs implementations are a joke and lack critical features), or basic maintenance like expanding storage or replication. The list goes on and on.
For everything else (in production), NFS is a PITA, and most other networked filesystems should be avoided for similar reasons. Again: other solutions exist that provide the same functionality but do it without the inherent problems. Usually they are ignored because someone wanted to cut cost, or because legacy. Ask a storage engineer or infrastructure architect.
I've been both, and known hundreds. I'd love to hear about this solution you have that has the same functionality (your words) as a network/distributed filesystem, same compatibility, same semantic richness, same consistency, etc. without any of the tradeoffs. What are you selling?
If you don't want to roll your own OSS solution (and I wouldn't recommend it) most modern SANs have all those features and more, available via a variety of interconnects and protocols (including shared volumes). Real replication, real snapshots, real encryption, real RBACs, and not going over the same interface as random network traffic. Storage manufacturers even offer custom drivers for K8s or VMware so you can control the persistent storage for your cloud apps directly from your orchestrator's control plane, or manage it in your SAN.
Until quite recently I was a maintainer for one of those. I've worked on two others. One more isn't done, two more are unmaintained, two more will trash data in specific ways I have identified to their developers, and HDFS isn't even a real filesystem. Also a couple more are proprietary. We're nowhere near "same functionality" here.
> most modern SANs have all those features and more
A SAN is not a filesystem, so it fails the "equivalent functionality" test again. No, that's not a "No True Scotsman" fallacy because you set the goalpost and it hasn't moved. If it's not mountable, not shared at file granularity, or not writable at byte granularity, it's not equivalent to NFS. You're also mixing cluster, network, and distributed filesystems in a way that makes me doubt your ability to comment cogently on their strengths and weaknesses. I developed a SAN-based filesystem at EMC, it made sense at the time (no later than 2002!), but nowadays it's utterly insane to posit that as a serious alternative. But at least now I know what you're trying to sell, so thanks I guess.
If your project is greenfield, it is absolutely insane to require NFS's functionality in your design. Using NFS outside of production is okay, because when it ends up sucking, it won't sap your engineering time or budget or restrain your ability to scale. (Until non-production is a giant performance testing lab, and then NFS's suckitude does indeed restrain your business)
FTFY