skysight-inc/HackerNews huggingface dataset:
> Cool. Could someone, maybe an ex-googler, comment on which parts of these work well and which don't?

TBH most of this stuff is transferrable and even "common sense" in most of the companies you've worked for. Similarly how Google's SRE book is actually a very good collection of battle won experience on how ops can keep systems more reliable and running.

The book is written in a way that you can easily throw away advice that you don't think useful.
Did you ever fully acclimate? After 3 years at 6000 ft I still had lower blood oxygen than at sea level. (per apple watch, so take that with a grain of salt)
PSA: These are the same people who took over development of Audacity an added telemetry to a previously FOSS workhorse. Should be a special level of hell for folks who mess with the kindness of FOSS, in my opinion. Real vampire shit.
Why is this a bad case for using the median, which is normally pretty resilient to influence from outliers?
Seriously. I'm here bitching about 6:30AM and a 45 minute ride to school!
Hopefully when the entire article is an answer to exactly the question you're asking in the comments there is a little leeway.
I fear that we do ourselves a disservice by trying to draw physical-world analogies - if a roofing contractor screws things up, it's really easy for a non-roofing-contractor to see: the roof leaks. You call the guy and point out the leak so he fixes the leak.

What's the equivalent of "leaky" software? Users can observe bugs, and they can observe slowness. Experienced developers know that what we call "poor quality" code is more prone to bugs and slowness, which they _do_ care about. They don't (and shouldn't) care about maintainability, they care about functionality: we should keep harping on performance and testability rather than esoteric "quality".
You're looking for "HumanEval" tests. Not saying this is the best way to test it, but it's the only standard test I know of that code models are compared with and are commonly benchmarked for

The current best models you'd want to try that I'm aware of is WizardCoder(15B), Starcoder(15B), and replit's code model(3B). Replit's instruct model is interesting because of it's competitive performance while only being a 3B model so it's the easiest/fastest to use.

Perhaps interestingly none of these are based on LLama

https://github.com/abacaj/code-eval - This is a large mostly up to date list of benchmarks

https://huggingface.co/WizardLM/WizardCoder-15B-V1.0 - has a chart with a mostly up to date comparison

EDIT: License-wise I think you might be able to commercially use Replit's model and Starcoder, I don't think you're allowed to use WizardCoder outside of academic work.
This is awesome. Coming from dealing with lots of Ruby, JS, and Python, having a built-in version manager that you don't really have to think about is amazing. Being a compiled language makes this simple too. Go is such a phenomenal language and the core team are doing a great job of stewarding it.
There's this atmospheric event. It's called a hurricane. They hit Hawaii all the time. If these homes are not getting inundated with some of the storms that have hit the islands, they aren't going to get inundated any time soon by mere sea level rise. And you can always raise homes.
Okay, so make the lambda's binding refer to several of those 'structs' and have .( dispatch to the correct one based on the airity at the call site.
UMG, Sony, Capitol File Copyright Lawsuit Against Internet Archive
Because wrapping HNSW is just that easy. Same with all the ChatGPT-based tools popping around a dozen a week, it's just easy to throw something together and see if it sticks.
Deeply toxic to human lungs.
I agree. Too often on Stack Overflow are incorrect answers upvoted, and correct answers are absent or buried.

With ChatGPT, when it provides incorrect answers I've had good luck explaining the error. ChatGPT usually revises answers into useful output.
I thought that the more high status the company would indicate better technology stacks and better quality of engineering.... but all the high status seems to do is pull in people who are really good at politics and doing promotion based development which is kind of counter to the science aspect of computer science.
Perhaps, but to me everything you put in your comment above just sounds like bad engineering practices in general and not something particularly related to Google processes.

E.g. things like "do feature work on a branch and then code review/run PR checks before merge", "have unit test coverage (being a hard balance to judge what is sufficient coverage)", "have useful comments" - absolutely none of these things I associate with "Google engineering practices", and many of them definitely predate things that were specifically done at Google.

Things I think of when I think about Google practices are things like ensuring data is infinitely horizontally scalable, monorepos, etc. Those things are all scale-specific.
Hopefully, Veilid can help solve the “on its own little island” effect of a decentralized platform.
Commodity prices are at about their 25-year mean according to https://tradingeconomics.com/commodity/crb , which suggest we are not running out of things. The climate is warming, but it is a gradual process that humans will adapt to. In much of the world air pollution has been decreasing -- for U.S. data see https://gispub.epa.gov/air/trendsreport/2022/#introduction.
When you have a billion dollars to your name, you no longer get to play the victim card. ANY problem you have is tractable. You could have an entire team of the ten best psychologists in the country surrounding you at all times and keeping you grounded in reality and ethics and humility.

At the point you are a CEO, being "crazy" is a choice. More than that, mental illness is almost never an excuse for bad behavior.

You don't need to have empathy for the billionaire who has spent their entire life grifting and surrounding themselves with cheerleaders to feed their ego. Ego isn't a mental illness, every living human faces their ego, but most aren't allowed to feed it because they have to interact with a cruel reality. Nobody put a gun to Elon's head and forced him to make as much money as possible through lies and grift.
Ironic, isn't it? The same people that will sing "They paved paradise to put up a parking lot", are also against any effective measures to prevent that turn of events.
I have this exact same problem.

Went from GHP/Jekyll (2012), to GHP/Hugo (2013), to GHP/Hexo (2014), to headless WordPress/React (2017), to Ghost (2018), to Netlify CMS (2019), to Vercel/Gatsby (2020), to Astro (2021), to custom Elixir/Phoenix (2022), to Micro.blog and Substack (2023)... (dates are approximate within ~6 months)

I'm still debating what to do next. My motivations go back and forth between "learn some new tech" and "write the dang thing".

Either way, I'd really like to stick to something for more than a year. Ideally I'd separate my "site" and "blog".
Tests, comments and code reviews is not something unique to Google. It's a commonly accepted practice. There might be some dark corners, just like there are people who perform version controlling with ctrl+c, ctrl+v technique, but it's not a norm. I don't think that many people would argue against basic software development rules. However being Google is much more than writing tests and doing code reviews.

Being Google means having a team which writes source control management system for you.
Regarding the embedding vectors - is there a maximum limit to their dimensionality? Also, can you share insights into how the precision remains consistent at 99.9% even with high-dimension vectors?
I was sad to find that the author proclaimed "just write SQL" then fell into the trap of modeling his data as objects.

If you're going to model your data this way... you might as well use an ORM.

A better way is to just just write SQL (or datalog) and model our data, from DB all the way up to the application, as relations rather than objects.

Rather than re-hash, this idea has previously been discussed on HN here: https://news.ycombinator.com/item?id=34948816
Definitely a singular and fascinating work. I produced a free ebook edition for Standard Ebooks: https://standardebooks.org/ebooks/ludwig-wittgenstein/tracta...
See the comments in other threads where an actual topic of contention was presented and accordingly follow up discussions could be had. The reason for the HN Guidelines is to foster good conversation. "Did you read the article" doesn't.
While I can't say for sure, one or the reasons I seem to recall from the Python 3 transition was that the Python 2 design was pretty much a dead end. There where so many limitation and wrong design choices that it would keep the language from moving forward. That does seem a little aggressive, but it does feel like Python picked up a lot of steam once Python 3 was viable (something that happened way earlier than many care to admit).

Our code base wasn't huge at the time, a few 100.000 lines of code. Getting everything running was a week of work for three people. Sure many had way more complicated code, and some depended on some idiosyncrasies of Python 2 making thing more complex, but a lot of people acted like the Python developers shoot their dog. Mostly these people either simply didn't want to do the work or their particular niche was made ever so slightly more complex... or they depended on unmaintained libraries which is bad in it's own way. Python 3 was always going to be able to do everything Python 2 could, yet a large groups of people acted as if that wasn't the case.

Still not the best transition ever devised, we had to wait until 3.2 to get the speed to a point where it's wasn't an issue for all but the largest users.
The whole Nodejs ESM thing is the result of a bunch of different parties - Node, Typescript, Babel/Webpack/etc - with a lot of influence over the ecosysten with conflicting priorities. This is the price of truely "open" standards. One of the reasons why it's such a mess was due to bending over backwards maintain backwards compatibility.

It's a mess. It's frustrating as a user/developer. Go has it significantly easier by having just one central organising factor behind the ecosystem. If there were multiple Go implementations, some moving faster on the spec (or even ahead of it) than others, then you would find the same pain there also.
It would suffice to track their charge/discharge cycles. GPS seems like overreach, and ought to be vulnerable to court challenge.

Somebody else suggested taxing tires, but that would be hard as tires are obtainable out of state.

The underlying facts of road maintenance are that basically all of road maintenance (except that attributable to erosion of the roadbed) repairs damage caused by heavily-loaded trucks. Objectively, road damage goes exponentially with axle load. Cars' axle loading is so far below that of laden trucks as to to be wholly negligible. Thus, the justifiable taxation for road usage, if any, should fall on truck operators.

Car owners benefit from truck traffic about equally with non-owners, however many cars they have, but moreso if their income is higher. So, the legitimately defensible way to pay for roads is straight from the general fund.
I wasn't aware. That's a real bummer, and a good example of the numerous kinds of gotchas that make this transition much more painful than it would otherwise have to be.

The more I learn about IPv6, the more I dread it.
Old code becoming a compiler error sound like a backwards compatibility issue to me.
The answer has always been fairly simple. Allow users the choice to opt in if they'd like to. Transparency is key.
> The newer properties have to compete with older properties that charge less because they pay less taxes.

In reality the market sets the rental price

tenants won’t pay more because your taxes are higher - tenants set the price with the money they are willing to spend on housing
Yes, but what energy is transported here?
Not sure why this requires GPS rather than odometer reading/reporting. IIRC NZ did (does?) odometer reading based taxation on diesel vehicles because so many diesel vehicles are off road only.

That's fundamentally the same problem: you're ostensibly taxing road users to cover road maintenance (except fuel taxes don't cover the whole amount), and EV vehicles aren't paying those taxes but are clearly using the roads.
I'm not sure what you're trying to say. But there is a targeted program for low income seniors, the California Tax Postponement Program. It's been on the books since 1977. Many states have similar laws, eg. the NJ senior freeze.

Prop 13 is wholly unnecessary.
We also have a robot court system where warrant applications are examined in cases get thrown out all the time for improper search and seizure. There have been tons of cases where falsified data has been discovered causing hundreds of cases to be reheared
If folks are curious about what it was like fighting spam back in the early 2000s, I used to work at a firm that was contracted by some of the big email providers.

Our job was to take spam, identify who was sending it or, at a minimum, who it was advertising for and then forward that on to the law firms of the email providers.

This was right around the time that spam legislation was coming out so it was interesting to see how it was being applied directly to people we found.

I write a lot more detail about it here: https://twitter.com/alexpotato/status/1208948480867127296
Kind of implies that the whole “if a lion could speak…” thing is bunk. I can understand my cats non verbal communication pretty well.
It'd be great if more people had the audacity to say they've solved all problems in an academic field and then leave that field, instead of referring to that popular image that shows how your PhD is only a small dent/addition to the large circle of human knowledge.
Judge rules in favor of Montana youths in landmark climate decision
I've consistently gotten the impression that the difference between high performing organizations like Google and less high-performing organizations is that Google doesn't just _say_ they do this stuff, they actually do it, too. (Or, at least, they used to).
Its called reddit
That's sensible ways of doing things obviously. The can? approach is very similar to the Canada lib IIRC. I'll probably try some of those.

But the best non-business code I like is the one I don't have to code, commit and maintain.

You don't need voters for the example I wrote earlier though, in fact I don't remember the last time I had to write one.

But I think it's more a functional vs OO discussion and we know how those goes ;)
A new phone? Didn't they just need a new battery?

Batteries for the affected models if I recall were $50.
The “policies don’t scale well” section is inaccurate.

There are plenty of policies floating around that don’t scale well, and plenty of migrations that are still forced on internal users rather than handled magically by the migrating team. The reality is that Google is such a big company most of these fly under the radar of whichever person actually enforces these policies, and it becomes a whole thing to escalate up to whoever enforced them, and then there’s potentially a political battle between whatever director or VP is in charge of the bad actors and the enforcer (ideally they get away with not allocating HC to the internal migration and amortize it across all their users, so that HC can work on flashier stuff).

I think one reason Google has a proliferation of bureaucracy and red tape is that they do not “review” postmortem action items very formally. They are only reviewed as part of the larger incident postmortem review process and the tooling is way overengineered such that performing that review beyond a perfunctory once over isn’t easy to do. So you end up in a situation where “we need to do something” and whichever person handled the incident has to suggest a way to make sure it doesn’t happen again - the easiest of which is to introduce some CYA process. The other reason is that non-coding EMs introduce processes to show some kind of impact on their team.

Also, the existence of the monorepo, global test runs, forced migrations, etc makes it so maintaining a mothballed project incurs some inherent engineering costs - IMO it’s a non-negligible reason Google kills products that could instead simply exist without changes. It also makes it so Google doesn’t really “version” software generally speaking.
I applaud your optimism, but my prediction is more along the lines of constant introduction of new features via online software update, affecting not only the infotainment (I hate that word) system but also the car's basic functionality, lots of bugs and security vulnerabilities, leading to cars that may be simpler mechanically but are more unreliable than ever. And yes, you'll have to buy it and rent it, or it won't even roll out of the driveway.
By reverse proxying. Run a load balancer on a single machine and have that reverse proxy connections to their destination.

But what if you insist on not using a proxy for whatever reason?

When people say "NAT", they're usually talking about SNAT/MASQUERADE, i.e. NATing outbound connections. What you're asking for here is port forwards/DNAT, i.e. applying NAT to redirect an inbound connection.

If you want to NAT inbound connections, you can do it without NATing outbound connections. Essentially: you don't need to "NAT", you just need to port forward.

Honestly, I think you should just suck it up and use different hostnames for different services, because running all of your services on one IP is really bad for security since it makes it much easier to enumerate every service you're running -- it only takes scanning 65k ports on one IP to find them all, rather than 65k ports on 2^64 IPs. That's the difference between megabytes and yottabytes of port scan traffic.

(If you NATed outbound connections to also come from this IP then things get even worse because every outbound connection from any of your machines immediately informs the server of the IP needed to make an inbound connection to you. That's a completely unnecessary security sacrifice.)

But if you're going to run everything on one IP without proxying, you only need port forwards to do it, you don't need to run the network on some local IP range too.
This is spot on for 99% of companies out there.
Zip Bomb as a Service
but do not make the mistake I have: to believe doing this will get anybody to accept that you understand, or at least this has been my experience so far.
There's a huge carve out for if a journalist is being investigated for criminal activity themselves
I'm not sure that's a relevant distinction. If you take the stance that a major version has to mean breaking API compatibility with the previous major version, semver style, then their statement is equivalent to saying "there will never be a go2". If you don't take that stance, then their statement leaves open the possibility that, fifty years from now, we'll be at go1.102 and someone will say "hey, these numbers are getting pretty big, maybe we should just call this next release go2"; and that's fine. That's literally and exactly what Linux does; when the number gets big, it becomes easier to type smaller first number, so rename version to smaller first number. Its not semver, but semver doesn't have a monopoly on how software must be versioned, and leaving room in the language today to do that is totally cool.
OK, thanks for these details and the link! Somehow I remember the title, but not the content :-) That'll be an interesting read.
My thinking was that there's been court pushback against dragnet requests on Google, etc but would that apply to data the government has mandated drivers provide?
Zoom is just disappointed the ToS change went viral, and that their reputation is privacy friendly enough for that to even matter.

I wonder if Teams would face similar uproar, assuming that bit isn't already in the ToS.
I did a brief stint in the transit industry, working on very large scale bus route scheduling & optimization. It's a tough problem to solve, but manageable as long as you don't do something silly like drastically cut the number of busses and drivers because you are expecting the routing/scheduling system to work miracles.
Well === was added to make up for deficiencies in == so seems reasonable that saying == is the default that does things incorrectly.
Great, but they already lost user trust. Many will never install or use Zoom again.
Sounds like Snopes.com
Rather ironic when the propogandists rant and rave on their TV about how Russia don't need the West etc ... unless they want their population to live on nothing like North Korea it seems you really can't decouple yourself from the rest of the world.
Apple also did a similar thing with OSX/macOS a few years ago - instead of making everything 10.XX they bump the major version (first number) every year now, continuing on from the 10 that the X represented, as if each version is the same increment as the jump from Mac OS 9 to Mac OS X (which was a jump to an entirely new codebase)

Android did that too, much earlier starting with 5.0. Previously the major version was something of an indicator of a major visual/conceptual redesign. 3.0 was the tablet version, 4.0 was the move to the holo design language, 5.0 was material. Then they just kept bumping the major version every year since.

I also assume it's just for marketing reasons.
Sounds like it was distributed as well
>The market forces are sufficient

Try explaining that to people who lost tens of thousands of dollars or more in missed transactions due to Google's fuckups. I'm sure they will be consoled that one day if the right fairy farts in the right direction google will stop screwing people over in this particular way.
We have run out of land where people want to live.
As the world becomes increasingly connected, individuals from various walks of life embrace the opportunity to transform coffee shops, co-working spaces, and stunning beaches into their workspaces. While the digital nomad lifestyle offers unmatched flexibility and the thrill of travel, maintaining productivity can pose a challenge.
That would also mean Earth moving around the sun would create such waves?
For Mark Zuckerberg's Threads, the real rival is still TikTok – not X
so become irreplaceable or be turned into a commodity...?
That was somewhat different from the way the internal stuff was numbered. You'd still see "1.5" and "1.6" everywhere when you asked the JVM for it's version. 8 was when the JVM started matching the marketing (IIRC, might have been 9).
There already must be a arity check at some point, no? If the type contained the set of airties the lambda accepts rather than just the singe one, all the same type checking could be done when it's already done.
Polycarbonate synthesis using photo-on-demand interfacial polymerization method
Hopefully there should never be a repeat of that now that they have strongly encapsulated jdk internals. My understanding is that (nearly) all of the migration headaches from 8 to 9 were caused by libraries that were using improperly using jdk internals.
No, you're mixing up export and extern.
It seems really odd how all of these Ozempic articles have been popping up recently. Feels like there’s some shilling going on
JWST spots giant black holes all over the early universe
Thanks a lot for all the answers! Many of them are outside of my math skills but I appreciate the different ways this was explained. Thanks!