HNHacker News
TopNewBestAskShowJobs

GauntletWizard

3,942 karma · joined April 20, 2010

Site Reliability Engineer

[ my public key: https://keybase.io/gauntletwizard; my proof: https://keybase.io/gauntletwizard/sigs/WLBbW433_lqvZr3EFcUj8sCaut00PcbdQ5dKfxC0TV4 ]

submissionscomments
GauntletWizard··on The Powers of Soviet Puppetry
It's merely a euphamism treadmill. Propaganda wasn't always a bad word - The US was proud of it's propaganda departments in WWII. The Office of War Information was quite explicit that it was propaganda, and used the term neutrally; It had both good and bad connotations

https://en.wikipedia.org/wiki/United_States_Office_of_War_In... https://cartoonresearch.com/index.php/walt-disney-classified...

GauntletWizard··on Ask HN: Freelancer? Seeking freelancer? (August 2024)
SEEKING WORK | Seattle | Remote OK

I am a Site Reliability Engineer (SRE), Google Style, with experience at both large and small organizations. I can help you build a Platform Engineering practice from the very beginning. I'm looking to help small dev teams increase their velocity by implementing best-practices of Devops: CI/CD, Kubernetes Deployments, and effective Monitoring frameworks.

Check out my recent talk at SRECon: https://youtu.be/dswPHnfGwlY

My resume: https://resume.gauntletwizard.net/ThomasHahnResume.pdf

My LinkedIn: https://www.linkedin.com/in/thomas-hahn-3344ba3/

My Github: https://github.com/GauntletWizard

GauntletWizard··on Missing Henry VIII portrait found after random X post
Existed is (can be) past tense. They knew it existed at one point and knew that they didn't know where it was or if it was now.
GauntletWizard··on Missing Henry VIII portrait found after random X post
It's not exactly random, but delay line memory[1] accesses are arbitrary with respect to where your program counter is or what youre trying to access- so the delay can appear "random"

[1] https://en.m.wikipedia.org/wiki/Delay-line_memory

GauntletWizard··on White House says no need to restrict 'open-source' AI at least for now
The problem is that the OSI's definition of "Open Source" AI doesn't match their definition of "Open Source" software, or really anything.
GauntletWizard··on Missing Henry VIII portrait found after random X post
I think "Missing" is a pretty poor choice of word for this; "Presumed lost to history" would better explain what's happened - Which is both incredible and terribly dull at the same time! Somebody connected the dots on the provenance of a quite old painting that was venerated, but perhaps not as much as it should have been, not far from it's last known location - At least in distance, if not time. Great detective work, and far more interesting than if it'd been lost or stolen and people were looking for it - This was a piece that people knew existed, but nobody was looking for.
GauntletWizard··on Ask HN: What's your preferred logging stack in Kubernetes
I did not say "Don't log anything". I said "Stop using logging", and I'll qualify that (though my original post already did) with "So much". You're using logging for a to of irrelevant actions, and you're trying to sort needles from haystacks when you're better off not piling on the hay.
GauntletWizard··on Ask HN: What's your preferred logging stack in Kubernetes
Stop using logging. You're using logging wrong and there is no using it right. Logging (unqualified) is for temporary debugging data. It shouldn't go anywhere or be aggregated unless you need to be debugging, and then it should go to the developer doing the debugging's machine.

Request logging should be done in a structured form. You don't need an indexing solution for this kind of request logging - It's vaguely timestamp ordered, and that's about it. If you need to search it, it gets loaded into a structured data query engine - Spark, or Bigquery/Athena.

Audit logging belongs in a durable database and it requires being written and committed before the request is finished serving - Logging frameworks that dump to disk or stdout obviously fail his requirement.

GauntletWizard··on Wikipedia was down
Seems to have come right back, but given how rock solid it is and what a bad week it's already been for the Internet it seemed notable.

https://downdetector.com/status/wikipedia/

GauntletWizard··on Doom on Playdate
Golang, for one. If you have a diamond dependency problem where two libraries want to use a common ancestors that's incompatible, you're screwed, but otherwise you've got a nice merkle tree of dependency versions built into the tooling.
GauntletWizard··on 12-hour timelapse of US flights hit by CrowdStrike
I would want to compare this to the same time lapse 24 hours before that. The sun is setting as the event begins, and it's hard to tell how much is the event and how much it's just that late night and early morning traffic is lower.
GauntletWizard··on QUIC File Transfer Service, a CLI and srv for transferring large files
Is it time to move QUIC past UDP yet? Does QUIC deserve it's own Protocol number? There's only one byte in IP for protocol number, so it makes sense to limit the number of applications, but I believe QUIC has reached that level.

https://www.iana.org/assignments/protocol-numbers/protocol-n...

GauntletWizard··on NFL is liable for $4,707,259,944 in 'Sunday Ticket' case
There's zero chance that the award amount will stand, but I hope it does and bankrupts the league.
GauntletWizard··on Ask HN: Who Wants a Penpal?
I'm a lonely computer nerd, and yet despite having made a lot of friends on the internet in my youth, I'm no longer willing to do so. The internet has gotten too weird and polarized, and quite frankly I don't like the people who share my interests. Most nerds are living in fantasy worlds, not just part-time.

The problem is one of degrees - Anyone you notice on a big site is likely posting very often - "Terminally online" is the word. The more niche you go, they are alternatively deeper into their own fantasy worlds. I haven't figured out how to arrange coincidence; Repeated coincidental meetings have long been studied to be the basis of friendship, and intentionally going to "meetups" where the attendance is common but not fixed is the best way to foster that.

Online matchmaking has been the biggest problem here - You are guaranteed a game, but you'll never run into the same people twice. Once upon a time you had localish communities form around servers that were low-ping to them, which really worked well - You were likely to run into the same people, and they were likely to be nearby but not so close that you'd have run into them anyway.

GauntletWizard··on Ask HN: What's (in your opinion) the best authentication method for web apps?
I like Oauth, I like x509 even more. I don't like Passkeys, which are an attempt to decomplicate x509 by hiding them under layers - The abstraction is by necessity leaky enough that passkeys are more complex for users to understand, and they're a combination of too many different technologies and modes.
GauntletWizard··on Ask HN: Freelancer? Seeking freelancer? (July 2024)
SEEKING WORK | Seattle | Remote OK

I am a Site Reliability Engineer (SRE), Google Style, with experience at both large and small organizations. I can help you build a Platform Engineering practice from the very beginning. I'm looking to help small dev teams increase their velocity by implementing best-practices of Devops: CI/CD, Kubernetes Deployments, and effective Monitoring frameworks.

Check out my recent talk at SRECon: https://youtu.be/dswPHnfGwlY

My resume: https://resume.gauntletwizard.net/ThomasHahnResume.pdf

My LinkedIn: https://www.linkedin.com/in/thomas-hahn-3344ba3/

My Github: https://github.com/GauntletWizard

GauntletWizard··on OpenDNS Suspends Service in France Due to Canal+ Piracy Blocking Order
Dns is a hierarchical recursive service. When you make a DNS query, such as requesting "www.google.com", you typically do not do the full resolution in your application - but you do make the DNS query on your application. What you instead do is make a DNS request to your configured "recursive" server, asking it to make further queries on your behalf if it doesn't know the answer.

We do something obviously silly for this exercise - we assume that all caches are cold, because the point of a recursive DNS server is mostly to act as a cache. So we'll be going through a bunch of queries that usually are simply answered from cache instead.

At the top are 13 "root dns servers". These return responses for top level domains, such as ".com". When you want to request www.google.com, first you have to ask who controls ".com". Your recursive server (just "you" from now on) sends a request to the root servers - "Who are the nameservers (ns) for .com?" Also written as "QUERY .com NS". The root servers will answer - "A(answer) .com NS 1.2.3.4 AA (Authoritative answer)". The root dns servers believe they are the authority for the "." Zone, because they are.

The recursive resolver, you, then use this knowledge. You ask a similar query of the ".com" nameservers - "Q google.com NS" they respond, giving you an authoritative answer for google.com "A google.com NS nameservers.google.com AA". But you don't know who the nameservers for google.com, how do you resolve this loop? DNS has a mechanism for that. It includes a few extra records, called glue records, to close the gap. "X(tra) nameservers.google.com 8.8.9.9"

Finally, you know who the nameservers for google.com are - You then send them a request. "Q www.google.com A(Internet Protocol)" you might instead send an AAAA request, for an ipv6 address, instead.

There's a ton more - Support for text records of arbitrary type, support for addressing schemes that no longer see use, etc. but thems the basics. You can run your own whole Internet, if you want to - Just build your own recursive server pointing at your own roots, and then host whatever you want on whatever up you want - Just don't expect to be able to connect to the real Internet at the same time. Also basically everything phones home and breaks. :shrug:

GauntletWizard··on Large Language Models are not a search engine
Sometimes, only sometimes, search engines direct you to a trustworthy, citable resource. LLMs are never a citable resource and usually mangle URLs.

It's not that I trust randos on reddit, it's that even when they're wrong, I can link someone to the same bad advice and it doesn't change on me, for the most part.

GauntletWizard··on My .gitconfig File Dissected
There's a bug in here: some git git commands will fail if you are in a subdirectory; i.e. git git add foo, because the behavior of ! Is to run those from the git root. My solution is:

  git = !cd -- ${GIT_PREFIX:-.} && git
GauntletWizard··on Took part in Apache ceremonies. schools expelled them for satanic activities
How stupid, ignorant, and bigoted. Still, I mostly fault the parents for not paying closer attention before deciding to send their kids to these private schools. It's fairly vile that anyone would build an ostensibly educational organization on reservation land with a belief that tribal religion is "satanic" in nature, but the parents chose to send them to this school - There's a large dose of "Caveat Emptor" and a smaller dose of "Sue them for fraud" depending on how much they were paying attention before sending their kids there.
GauntletWizard··on SCOTUS Rules That US Government Can Continue Talking to Social Media Companies
There could be no clearer standing than this case, consisting of several users who had their opinions censored and attorneys general representing the rights of the people. If neither group has standing, who does?

This was a base act of legal buffoonery. It is transparently bullshit.

GauntletWizard··on Paul Allen's Computer Museum to Be Auctioned
Now is a good time to be thankful for and get involved in the still-active computer history museums: https://computerhistory.org/ https://m.facebook.com/bloopmuseum/
GauntletWizard··on I kind of like rebasing
Branches should be small enough and short lived enough that they are atomic commits. Merge early, merge often, don't break things. Work on small pieces that don't change functionality, The missing part of this is that this causes you to need merge-trains earlier - You'll want to start "stacked" commits that are based on the pieces that are atomic but not merged. That sucks, because the tooling isn't yet great at handling that - It should be possible to mark and auto-rebase all your local branches in that dependency chain,
GauntletWizard··on TikTok confirms it offered US Government a 'kill switch'
This is the clearest reason yet to shut down tiktok; they fundamentally misunderstand the law and the point of the constitution. While I'm certain some administrations would love such a kill switch, any company that would implement one is inherently untrustworthy. The ability to oppose the government is perhaps the most foundational part of the American democracy.
GauntletWizard··on Marion Stokes, the Woman Who Spent over 30 Years Recording Every Minute of US TV
There's also the Paley Center for Media[1], formerly the Museum of Television & Radio, in New York. They are unfortunately not completionist, but they do have good taste in what they do archive.

[1] https://en.wikipedia.org/wiki/Paley_Center_for_Media

GauntletWizard··on $2.4M Texas home listing boasts built-in 5,786 sq ft data center
There are also a lot of Telcos building these sorts of buildings. Actually, having seen a video on this exact house[1], I'm pretty sure I've seen it before, too. "Built in the 90s by at+t" says the video.

[1] https://youtu.be/p1tjyleNCbs

GauntletWizard··on Why Google Takeout is sooo bad
It was good and good by design. I knew several of the people in the Data liberation front commercial, and they were serious about making it a worthwhile experience. https://youtu.be/QP4NI5o-WUw

Software tends to rot, though, and software at Google double so.

GauntletWizard··on F-35 Gen III Helmet Mounted Display System
5:1 and 10:1 is probably a ratio that the US can keep up with, militarily, in part because of how much the pork barrel nature of our spending means that sloshes around, and we're not hard-hit for those dollars. In wartime, we can both bring those costs down, and hopefully retool and rebuild the economy as we did in WW2 to flat out outproduce any enemy, but it's unlikely it can come to that.

What we're bad at is asymmetric warfare of the 100:1 and 1000:1, as Iraq and Afghanistan have shown.

GauntletWizard··on I've compared nearly all Rust crates.io crates to contents of their Git repos
No, Gentoo does something far from it - it builds everything on the host machine every time, more or less.
GauntletWizard··on Is there ever a good reason to disable swap?
Kubernetes insists that you disable swap. The reason is that swap messes with the accounting of memory usage. Kubernetes expects hosts to have a very direct action memory reservation. Containers have a memory request; if they are over this request when memory pressure hits, they will be killed. Because the swapped out pages are not included in the memory accounting[1] you can end up in states where nothing is over the request, even though you theoretically haven't overcommitted. This requires falling back to true random killing, which is to be avoided.

It's also based on observations of performance - for many moons, the performance hit of swapping was bad enough that it was never worth it to run two jobs concurrently that didn't both fit into ram together. The exceptions weren't even exceptions. Disk thrashing was a serious impediment and way to slow your whole fleet down.

Now with fast flash being so common, swap is probably actually a good thing for many workloads again, but only "many", and SREs would prefer you make that explicit by using memory mapped files for data that's of random utility, so that the OS can manage that pressure for you, understanding that those files don't need to be fully resident.

[1] This is an oversimplification that I don't remember the real truth of off the top of my head

← PreviousPage 10 of 34Next →