after smart money then moves to predicting the period of the oscillations, …
188 karma · joined April 10, 2018
lyra@omg.lol
after smart money then moves to predicting the period of the oscillations, …
RetryKV implements the KV methods by delegating to the underlying client. But before it delegates an immutable request (e.g., range), it sets the request retry policy to repeatable [3].
Retries are implemented with a gRPC interceptor, which checks the retry policy when deciding whether a request should be retried [4].
The Jepsen writeup says a client can retry a request when “the client can prove the first request could never execute, or that the request is idempotent”. In my (cold) read of the code, the Go client stays within those bounds.
For non-idempotent requests, the Go client only retries when it knows the request was never sent in the first place [5]. For idempotent requests, any response with gRPC status unavailable will be retried [6].
Unlike jetcd, the Go client’s retry behavior is safe.
[1] https://github.com/etcd-io/etcd/blob/main/client/v3/kv.go#L9... [2] https://github.com/etcd-io/etcd/blob/main/client/v3/retry.go... [3] https://github.com/etcd-io/etcd/blob/main/client/v3/retry_in... [4] https://github.com/etcd-io/etcd/blob/main/client/v3/retry_in... [5] https://github.com/etcd-io/etcd/blob/main/client/v3/retry.go... [6] https://github.com/etcd-io/etcd/blob/main/client/v3/retry.go...
You could (e.g.) annotate all key fields as IDENTIFIERs. Client code can assume those will always be set in server responses, but are optional when making an RPC request to create that resource.
(This may just work in theory, though – I’m not sure which code generators have good support for field_behavior.)
Location: San Francisco Bay Area (Oakland)
Remote: yes
Willing to relocate: no
Technologies: Rust, Go, TypeScript, Kubernetes, AWS, Terraform, GraphQL
Résumé/CV: https://lyra.engineer/resume.pdf
Github: https://github.com/silverlyra
Email: lyra+hn [at] omg.lol
I'm an experienced infrastructure and full-stack engineer. Over my time working at Medium, I led the redevelopment of its production environment, migrating the whole site and all services onto Kubernetes, and facilitating safe continuous deployment for all engineering teams.
I can serve as a tech lead of a team or a project, working across a company to get things done, and also as a staff+-level IC in smaller companies or greenfield projects.But I don't know of any other way this would happen.
When you create a Worker with the worker_threads module, Node spawns a new V8 isolate in the same process: https://github.com/nodejs/node/blob/v20.12.1/src/node_worker...
It’s much more isolation than C threads – the entry point for a thread is a whole module (not a function), and threads must use message passing to communicate. They can share memory, but only via [Shared]ArrayBuffer objects. They're in the same OS process, but each have their own global process object.
But I think it'd meet your need for an in-process isolated execution environment, which you can terminate from the main thread after a timeout.
They did build out fast charging – but at some locations, the local electric utility couldn't support it:
> While the company had installed its own charging network as part of the electrification push that started in 2021, some older airports, such as New Jersey’s Newark, don’t get enough power from the electricity grid or lack the infrastructure to support the number of so-called Superchargers that Hertz needed to get EVs back on the road in a half-hour or less. Once a Tesla was returned to those locations, Hertz employees often had to drive them for miles to find a Supercharger[…]
The image of Hertz staff driving around Jersey, searching for an open supercharger any time a Tesla needed a fast turnaround … tragicomedy.
I would think that only a gradual pilot rollout of Tesla rentals could have saved this from getting out of hand. Instead they ordered 100,000 full-price Teslas, and congratulated themselves on getting a lock on a market … a market which proved to be much smaller and more expensive to serve than they'd imagined.
curl -sL https://github.com/backblaze-b2-samples/cloudflare-b2/raw/main/README.md | head -n 1
# Cloudflare Worker for Backblaze B2
yes, it's a worker Location: San Francisco Bay Area (Oakland)
Remote: yes
Willing to relocate: no
Technologies: Rust, Go, TypeScript, Kubernetes, AWS, Terraform, GraphQL
Résumé/CV: https://lyra.engineer/resume.pdf
Github: https://github.com/silverlyra
Email: lyra+hn [at] omg.lol
I'm an experienced infrastructure and full-stack engineer. Over my time working at Medium, I led the redevelopment of its production environment, migrating the whole site and all services onto Kubernetes, and facilitating safe continuous deployment for all engineering teams.I can serve as a tech lead of a team or a project, working across a company to get things done, and also as a staff+-level IC in smaller companies or greenfield projects.
it sounds ironic, but much of the shift to suburban development patterns in the USA was indeed driven by the Great Migration into cities – specifically, the migration of formerly-enslaved Black Americans out of the rural south and into cities. US public policy was very explicit about disinvesting in cities and destroying vibrant urban neighborhoods, replacing them with freeways and parking lots.
today, large portions of US cities are zoned for exclusively single-family homes, and other zoning requirements like parking minimums, and minimum setback and lot sizes continue to slow urban, transit-oriented redevelopment.
my high school made sure I knew how to use both a band saw and a stand mixer; why not a courtroom? that's a systemic failure we could yet address
I would love for this thread to accomplish something other than meta rifraff, so — I’ve never worked as an Apple Store floor sales person, but:
> In the 90's, a USB cable was just four braided wires – literal copper wires which link copper pins in your [computer] with your [printer]. Two of them carried the data, and the other carried power and ground. This worked, and it was an affordable, easy-to-implement standard which spread like dandelion seeds on the wind.
> Now in the 2020's, we have USB-C. Have you ever had a kind of “friend” who tries to be “everything to everyone“? Well, that‘s USB-C.
> We fixed some things with USB A and mini – er, micro – B, like how hard they were to plug in, and how you invariably seemed to find yourself holding them upside down more than 50% of the time!
> And, well, engineers being engineers, and USB standing for universal serial bus, we tried to also solve all other problems at the same time. Like you couldn’t use a USB cable for video, or to power an air fryer.
> So, these days, USB cables are more than braids of copper wire. They are “active” cables! meaning they have a microchip inside. Even our cables became little computers.
> And we kept backwards compatibility with USB, so that if you use a plug adapter, you can take an original 90’s USB mouse and plug it right into your brand new iPhone n±1!
> Or nowadays, you might grab the wrong cable in your kitchen, and plug your toaster oven into your iPhone. yikes! I know you came in to the store today with a simple-seeming question, and we’ve been standing here now for minutes, and I apologize – but now I hope I can answer your question about why this cable isn’t recognized by your new phone.
> When an active cable is plugged in, the chip inside the cable “negotiates” with the chip inside the device. For a device you hold in your hand and use without thinking about it, like your phone, we have made the negotiator more stringent than we did in our tablet. :)
you speak of a “secret” Made For iPhone program as if that’s still some conspiracy – https://mfi.apple.com/
my read of the article is that the EU commissioner advised Apple that if the company attempted to negate the USB-C regulations by only allowing full access to Apple devices connected via a cable with an Apple-approved MFi chip… that indeed they would be held accountable by the EU. had that been the case, it would be Apple continuing its regime of connector control over its users’ devices, as it has done up til now by insisting on MFi-certified Lightning cables
> It was rumored in February that Apple may be planning to limit charging speeds and other functionality of USB-C cables that are not certified under its "Made for iPhone" program. […] In response to this rumor, European Commissioner Thierry Breton has sent Apple a letter warning the company that limiting the functionality of USB-C cables would not be permitted and would prevent iPhones from being sold in the EU when the law goes into effect.
I would posit that a commenter with a sincere wish to dispel “conspiracy theories” might instead take a moment to do that search themselves instead of posting this (pardon me) inflammatory remark!
the heavy investment that goes into those plants incentives operators to drive (and staff) them 24/7, but there are hidden social costs (negative externalities) of having so many people out of diurnal rhythm. maybe massive solar power buildout, with sharply cheaper daytime electricity, would relieve people from working “graveyard shifts” – and maybe that’d be a good thing
All that time spent staring at code that could have been more readable, or writing style guides and reformatting code, is now spent doing what we were trying to do in the first place. And now, speeding up the time we wait to apply formatting or check it in CI by rewriting it in Rust™ gives us a bit more of that time back. :)
Meanwhile, whose interests are served by future unicorn founders being plucked away from the liberal arts, or from the connections and experiences they would’ve had in college with people very unlike Peter Thiel?
It seems to be about wanting to know who you're talking to when providing free support for an open-source project, and whether the person submitting an issue is using the project for personal use or within an organization.
> If I don’t know who you are, am I enabling you to build the new Turkish censorship infrastructure, or helping you implement [Russian internet blocking] more efficiently? These are two examples that actually happened by the way.
I am still kinda salty about it; I was proud of the writing and presentation samples I sent in, and was hopeful I was a good fit.
What possible end could that serve? I am baffled by the idea that succeeding via open access to their infrastructure is not a serious long-term goal for Google.
For a company who ostensibly is existentially interested in developing at least one meaningful complement to it advertising business, of all the things https://killedbygoogle.com/ over the years, why the domain registrar? The cost to developer trust vs. the cost of ongoing operations – did they not even have that conversation?
Now I imagine how I would've felt to have my registration transferred to – I can't even recall who bought their customers – and I try to imagine putting faith in trusting GCP products with a startup idea, where ostensibly their second-mover advantage could let me move faster in greenfield development ... and I throw my hands up. This is a company acting like it places no value on goodwill, not even from a bare bean counter perspective.
I guess I'll stick to AWS (and more bespoke cloud offerings).
> Today, we’re sharing an update about our ongoing audit with the U.S. Internal Revenue Service (IRS), [… which has been investigating] how we allocated our income and expenses for tax years beginning as far back as 2004. […] The IRS says Microsoft owes an additional $28.9 billion in tax for 2004 to 2013, plus penalties and interest.
I still write env bash shebangs to this day, in his honor. Happy to hear there's progress towards ending this archaic separation.
Configuration for all supported packages is stored in files under /etc/config in UCI's own text format, and OpenWRT's init scripts generate service-specific config files based on the UCI settings when the service is (re)started. For example, to configure Samba, users don't edit smb.conf directly, they set UCI settings like samba.workgroup, sambashare.path, etc.
There's a `uci` command-line utility to read and modify settings, and UCI forms the basis for the OpenWRT web interface.
debconf does something similar for Debian packages, though I haven't seen any packages that use debconf to completely supplant vendor configuration formats the way UCI does. https://en.wikipedia.org/wiki/Debian_configuration_system
You'll need to see which availability zone ID (e.g., use2-az3) corresponds to each zone in your account: https://aws.amazon.com/premiumsupport/knowledge-center/vpc-m...
edit: AWS identified this as a power loss in a single zone, use2-az1.