skysight-inc/HackerNews huggingface dataset:
Not really? Google's sustainability report gives datacenter energy usage and PUE, and you can approximately apportion energy usage per site to each site based on its size. David Patterson and his team have issued a number of papers and talks with precise figures for various ML tasks, such as "Carbon Emissions and Large Neural Network Training", "The carbon footprint of machine learning training will plateau, then shrink", and "GLaM: Efficient Scaling of Language Models with Mixture-of-Experts".
It still has the home button, which makes the screen smaller. No FaceID. And the camera is inferior.
An exception to this is precisely parsing and validation in which linked lists can and ideally should be populated consecutively (using an arena allocator). I agree that general purpose linked lists are rarely optimal but they are hard to beat for parsers where they hit a pareto sweet spot of implementation simplicity and good performance.
I was initially pretty unhappy with the price bump when the Axidraw was re-released by Bantam Tools (who purchased the Axidraw IP from Evil Mad Scientist). It went up $150! However, if you use Archive.org to look at the old prices on EMS's website, it's actually just the price of the Axidraw + the brushless servo upgrade kit (which now comes standard on it); I think they may have also added an auto-home improvement, and possibly other tweaks.

You're really paying for the dedicated use-case design (the pen carriage precision on the Axidraw is excellent) and the active software support both from the company and the community.
It's almost as if LLMs have become an integral part of a modern development workflow with or without your disapproval! There would be less friction without it.
Nice post, Dmitry!

Two suggestions: it’s not immediately obvious whether subsequent benchmark result tables/rows show deltas from the original approach or from the preceding one (it’s the latter, which is more impressive). Maybe call that out the first couple of times?

Second, the “using the single Vec but mutating it” option would presumably benefit from a reserve() or with_capacity() call. Since in that approach you push to the vector in both erroring and non-erroring branches, it doesn’t have to be exact (though you could do a bfs search to find maximum depth, that doesn’t strike me as a great idea) and could be up to some constant value since a single block memory allocation is cheap in this context. (Additionally, the schema you are validating against defines a minimum depth whereas the default vec has a capacity of zero, so you’re guaranteed that it’s a bad choice unless you’re validating an empty, invalid object.)

But I agree with the sibling comment from @duped that actually parsing to JSON is the biggest bottleneck and simply parsing to the minimum requirements for validation would be far cheaper, although it depends on if you’ll be parsing immediately after in case it isn’t invalid (make the common case fast, assuming the common case here is absence of errors rather than presence of them) or if you really do just want to validate the schema (which isn’t that rare of a requirement, in and of itself).

(Edit: I do wonder if you can still use serde and serde_json but use the deserialize module’s `Visitor` trait/impl to “deserialize” to an enum { Success, ValidationError(..) }` so you don’t have to write your own parser, get to use the already crazy-optimized serde code, and still avoid actually fully parsing the JSON in order to merely validate it.)

If this were in the real world, I would use a custom slab allocator, possibly from storage on the stack rather than the heap, to back the Vec (and go with the last design with no linked lists whatsoever). But a compromise would be to give something like the mimalloc crate a try!
Come on, Mozilla. I just want a browser. I type in an address, the browser shows me the page. You need money? Let me donate to Firefox so I don't have to continuously opt out of crap like this.
Pretty sure it was a hyperbolic No True Scotsman for comedic purposes.
Company towns are generally frowned upon in the US just like sympathy strikes.

> Sympathy strikes are generally legal in Nordic countries, unlike in the U.S. where they are largely prohibited.

Not much information available, but it wouldn't surprise me if the unions had a cause about doing business with companies that are Nordic + unionized. In which case, doing business with Tesla is in violation of it.

But I mean if Tesla doesn't want to be striked upon they should probably create some kind of contract that prohibts the other party from striking.
> Spoiler -- the cursor will be before the word "going," after the space.

That's optimal for the "insert a word" use case. What would you have it do?
I constantly see this take and I'm afraid I don't agree with it. Firefox is continuing to lose market share, and I think it's less anything they're doing and due simply to the fact that Google is a household name while Mozilla is not. When the user is already using a Google phone, email, search, maps, drive, and document editor, it follows to also use their browser. Simply being a solid browser isn't enough to motivate people to switch away. So I think they should try out some new interesting ideas in the hope that some of them take off. Now, I don't think this is the feature to do that, but I won't criticize them for trying.
Other number keys will give you different "views". While docked, these are screens like trading and so on. In space, you have the different viewpoints (and you can equip lasers on all of them :) )
Here's one example: https://www.google.com/about/datacenters/locations/st-ghisla...
In this case, they pull grey water (like the water you get from a clothes washing machine) from a nearby source, pump the water past the server's hot parts, and the water evaporates, absorbing heat in the process (https://en.wikipedia.org/wiki/Enthalpy_of_vaporization).

Alternatively, you can cycle closed-loop water through a chiller to a hot server and back, or just cool the air around the server (CRACs and CRAHs) using either water or refrigerant as the heat-carrying material.
Thanks much for the info! Sentiments like that make me hopeful for humanity.
I have a friend still using his 9 years later.

He is non-technical and it took some bullying to get him to max out the ram and cpu but he never imagined an 11" wouldn't be availbale in the future and assumed he'd upgrade.

The 11" was excellent. If there was a newer version, the bezels would be much smaller, and maybe a different kind of 12" could fit in it.

There is not much that is interesting after so many new devices, but an 11" or 12" would be something I'd want quickly enough to line up for it.
I'm convinced the people who came up with Haskell syntax were on some sort of bath salts.
It's "inventor's gate" not "shrewd businessman's gate".
nope. I misunderstood the graph and retract my previous comment.
wasm-gc when? Chrome and Firefox merged support months ago. So much cool tech is waiting on it.
What I learned from the object-oriented fad was that it doesn't matter: many developers will write bad code no matter what.

Making it easier to focus on low coupling and high cohesion (the retconned goals of OO since those principals were pulled into software about the same time simula was created) is not enough. Software writers actually have to do it, and do it without over-complicating what they've written.
Trump Leads in 5 Key States, as Young and Nonwhite Voters Express Discont (Cont)
This is important for our resources and connected to the (at least for me) very interesting field of reversible computing.
Empty/unset environment variables not, by default, being cause for immediate error and abort is the billion dollar mistake of the DevOps/infra world.
OpenAI debuts GPT-4o 'omni' model now powering ChatGPT
At Ramp support reports into product
There's only so much requirements can do to prepare one for a project. At some point there's diminishing returns on time spent spec'ing something out. And of course requirements can change, so some amount of flexibility in being able to pivot while work is in progress is ideal.

Building software is usually more of a process than a plan. This is in contrast of traditional engineering where you absolutely need a rigid plan to build something like a bridge or a building. Of course reality is messy and no plan will be perfect
>> Do other species measure, and optimize? Others use tools, but do they optimize?

They all do. Think of locomotion. Most every animal that can move has a few different ways of doing it. We can walk, or run. An eagle can fly direct or take a circuitous route between updrafts. A whale has sprint mode or easy cruise mode. We are all constantly optimizing how we move in order to minimize expended energy to accomplish a given task.
The goal is to structure the deal such that the minority shareholder doesn't "feel" oppressed. There is a value for X where that likely won't happen.

OP currently suffers from oppression by minority shareholder, and needs a solution. I gave one.
The thinking is: ‘Anything that the little guy does to get ahead is justified; but if the rich do the same thing, that’s unfair.’
There is no way on Earth that people playing by the existing rules of copyright law will be able to compete going forward.

You can bluster and scream and shout "Nonsense" all you want, but that's how it's going to be. Copyright is finished. When good models are illegal or unaffordable, only outlaws -- meaning hostile state-level actors with no allegiance to copyright law -- will have good models.

We might as well start thinking about how the new order is going to unfold, and how it can be shaped to improve all of our lives in the long run.
Why Are So Many Mexican Novels Set in Cantinas?
The Definitive History of Screensavers: 1961 – 1990
It's not just you, Next.js is getting harder to use
Well yeah you start with an educated guess and optimize once it’s live. So budget/etc moves fluidly and if discord audience 1 performs well it gets more budget. DSP I use doesn’t have discord inventory (if it exists?) but pretty much everything is optimized by deep learning outside of moving branding budgets around.
Using the ChatGPT macOS App
The hanima data center in finland does use salt water: https://www.businessinsider.com/googles-latest-data-center-i...
Woz, then?
My searching has become better than it has been in many years (although not as good as it was before Google started to degrade), but I also actively use Kagi's ability to weight websites so that some are deemphasized and others are emphasized. That alone has made a world of difference.
iOS 16 and I've not used a spell checker for years because it kept correcting my swearing & slang to something I didn't want to say. I did read your comment fully. I replied because I had personal experience that contradicted yours. The "it doesn't place the cursor beside the word I want" gets me a couple of times a week for a couple of years.
Comcast Plans Streaming Bundle with Netflix and Apple TV+
(It's HN humor.)
The growing scientific case for using Ozempic and other GLP-1s to stop addiction
1. GLP-1 drugs appear to dramatically reduce addictive drive across substances.
2. GLP-1 drugs can reach vastly more patients than existing medications and they have positive mental health benefits for anxiety and depression.
3. This is our first ever opportunity to make a big dent in the addiction crisis, which kills 770,000 people a year between opioids, cigarettes, and alcohol.
I was recently very annoyed by my immich server on my NAS doing constant writes to risk. I discovered that this was due to the use of the postgres notify backed socket.io plugin. It turns out while the notify itself does not use the WAL for any information, one needs to trigger a WAL flush for the notify to propagate. In my case this lead toa lot of unnecessary empty WAL writes. If you scale up applications or anyways have constant writes this won't matter. But for a home lab server this is suboptimal.
Yeah, and people having families is pretty rare: no more than a few percent of their market :eyeroll:. The issue isn't that people don't want it: almost everyone wants it! The issue is that the alternatives to the iPad for its use cases are almost precisely zilch, and so implementing this feature mostly serves to cause people to spend less money on redundant iPads.
That's what they are and have been for like 8 years. It's fine. It would be more productive to put it to good use on the browser. I'm not saying that they shouldn't have tried but... they did for almost a decade and they aren't remotely close to being able to sustain themselves without google. It's not defeatist to say that making up for the 600m$/year might be a bit of an unreachable goal at this point.

Chasing ghosts isn't more sustainable than the money from google. Yes it's a business relationship. but I'm not sure how they aren't completely "vassalized", to use your term, at this point already. It's not a potential problem, if google stops paying they would shutdown in a matter of months.

It's not a bad thing, Firefox as we know it wouldn't exist by now otherwise
I don't think it "shoehorns" you into that. It certainly doesn't stop you from doing it. That's the thrust of this page:

https://pages.cpsc.ucalgary.ca/~robin/class/449/Evolution.ht...

Where a simple program goes through levels of increasing complexity before arriving at:

fac n = product [1..n]
You are officially the only person in disney park-going history to prefer orlando Space Mountain over DL Space mountain. So painful, old, dark, and rusty.
If we look at the numbers, human-produced methane is produced 40% in agriculture, and only 35% from fossil fuels. Of course the fuels produce much more nasty stuff but we aren't talking about them here, and anyway we shouldn't focus on fixing only ONE thing. And to answer the other upset commenter, yes meat industry produces like 45% from the agricultural methane, but instead of inventing "anti-meat conspiracies" scientists look into actually reducing the methane production - for example seaweed-based cattle food can reduce it by 93% (yes you read that right). So yes, there are possible solutions and if they are successfully implemented they can bring a lot, just like the ozone layer erosion has been addressed by an international effort.

https://earth.org/sources-of-methane-in-the-atmosphere/

https://cropsandsoils.extension.wisc.edu/articles/methane-em...

https://www.agroscope.admin.ch/agroscope/en/home/topics/live...
I guess after the great unbundling comes the great rebundling.
> Her return message was “What hath God wrought.”

I had a vaguely similar feeling going from a 56k dial up modem to a campus 10mbps connection.
Something like 3 days per week is pretty much RTO.
Using spent coffee grounds to enhance concrete strength
I am fine with that.
Bad article, but energy efficiency due to its own custom TPUs and more mature/advanced datacenters is a big Google advantage.
Surely one can run some sort of Linux disto on these surfaces, no?

I would imagine support might not be 1:1 with all the features as Windows 11 might support, but probably good enough. It'd be a sacrifice I'd be willing to live with.
Surely playing whackamole with Google is harder than Mozilla?
An Empirical Model of Large-Batch Training
Languages for LLMs to Think In
Like the most of the content this llm was fed upon?
Highly unlikely. No way the US Army will put a nuclear reactor in a place that can be overrun by insurgents. Any other piece of equipment, you can put a stick of TNT next to it and detonate it on your way out of there. Not so with a nuclear reactor.
Ironically that seems promising. This could just be an engineering problem where the only people making the required laser equipment are only making lab/medical grade gear with enormous markups. It's possible someone comes up with a practical to manufacture solid state version that unlocks these displays for the masses.

There is one consideration however where one failure mode for this device includes a situation where the processing locks up and leaves the laser pointed at a single spot continuously, burning a hole and possibly starting a fire.
Missed a trick there: abbreviated title should have been Trump Leads in 5 Key States, as Young and Nonwhite Voters Express Dis(cont)
Trying to use an iPad to develop software (or do anything productive really) is always going to be a bad experience even if you can install runtimes. It's just not fit for that use case, and you're always going to be better off with an actual computer.
A great way to avoid these manias is to constantly appreciate the importance of how a program is mechanically executed by the processor.

For example, in OOP that means do you know what vtables are doing in C++ or how method dispatch works in Java? In Erlang do you know why those linked lists are like that and how it interacts with the garbage collector? Do your functional constructs for the JVM spit out nice optimised code or are they spamming all over the heap?

The moment people lose touch with these things they become highly susceptible to the nonsense that follows, as basically once you have made that leap everything is just magic.
How would you define optimization? As in time management? Making some process take less effort perhaps? I’d say my cat fits the bill. She seems to have a better sense of time and keeping to her schedule than I do. She has also figured out many optimizations for her life that make sense to her. For example her path routing ability while running full speed is pretty amazing, she manages to figure out routes that keep her on a vector enabling full tilt acceleration vs turning and walking around furniture like us humans do with our poorly optimize walking.
I didn’t expect there to be a privacy side effect of mostly migrating to Apple products. I use Safari on everything now.
That bodes well for the forthcoming Surface based on Nuvia/Oryon/Qualcomm.
This article is disingenuous with its Vec benchmark. Each call to `validate` creates a new Vec, but that means you allocate + free the vec for each validation. Why not store the vec on the validator to reuse the allocation? Why not mention this in the article, i had to dig in the git history to find out whether the vec was getting reallocated. This feels like you had a cool conclusion for your article, 'linked lists faster than vec', but you had to engineer the vec example to be worse. Maybe I'm being cynical.

It would be interesting to see the performance of a `Vec<&str>` where you reuse the vector, but also a `Vec<u8>` where you copy the path bytes directly into the vector and don't bother doing any pointer traversals. The example path sections are all very small - 'inner', 'another', 5 bytes, 7 bytes - less than the length of a pointer! storing a whole `&str` is 16 bytes per element and then you have to rebuild it again anyway in the invalid case.

---

This whole article is kinda bad, it's titled 'blazingly fast linked lists' which gives it some authority but the approach is all wrong. Man, be responsible if you're choosing titles like this. Someone's going to read this and assume it's a reasonable approach, but the entire section with Vec is bonkers.

Why are we designing 'blazingly fast' algorithms with rust primitives rather than thinking about where the data needs to go first? Why are we even considering vector clones or other crazy stuff? The thought process behind the naive approach and step 1 is insane to me:

1. i need to track some data that will grow and shrink like a stack, so my solution is to copy around an immutable Vec (???)

2. this is really slow for obvious reasons, how about we: pull in a whole new dependency ('imbl') that attempts to optimize for the general case using complex trees (???????????????)

You also mention:

> In some scenarios, where modifications occur way less often than clones, you can consider using Arc as explained in this video

I understand you're trying to be complete, but 'some scenarios' is doing a lot of work here. An Arc<[T]> approach is literally just the same as the naive approach but with extra atomic refcounts! Why mention it in this context?

You finally get around to mutating the vector + using it like a stack, but then comment:

> However, this approach requires more bookkeeping and somewhat more lifetime annotations, which can increase code complexity.

I have no idea why you mention 'code complexity' here (complexity introduced by rust and its lifetimes), but fail to mention how adding a dependency on 'imbl' is a negative.
Then yes
It sounds like it is group dependent. Some managers might insist on firm RTO. Hard to get to that level of nuance from high level numbers.
> Unless a company is being anticompetitive and actively blocking other entries into the same market, then they shouldn’t be punished with regulation for having a large share of a given market segment. This feels like punishing companies for having a better (or at least better marketed) product than the rest.

You are completely ignoring network effects in all of this. A company might not have the best product but since it has most market penetration/capture (which doesn't mean it's the best product, aside from some spherical cow-type of model) it can curtail most of the competition or simply buy it to stamp it out. While also imposing a very high bar of anti-competition behaviour ignoring that it can be achieved through salami slicing tactics.

Gatekeepers are of a size where they exert so much market power that it's not realistic for smaller business to compete with them even if they provide a potentially more valuable service to some customers of the behemoth. One has to abide by the rules of these market giants.

Example: Amazon competing with its sellers on its own marketplace, they can simply price dump their competitors since they don't have to pay a merchant fee to themselves, they can extract the data about best selling products and create an Amazon Basics version of it that will inevitably be cheaper than their competition. That's not a fair market practice.

Another example: Apple can bundle their services and sell through the App Store without paying the 30% fee to themselves, inevitably making their products more profitable (and potentially cheaper) than the competition simply because they are a gatekeeper.

> The gatekeepers are like forcing me to sell my competitors branded food from my store where my store is wildly more successful because I offer a better shopping experience.

No, you are a small fish, you don't exert so much power in the market, it's not about you, it's about a very different league of business than you are. I think that's the part you don't understand, with different sizes probably it's best to have different rules because of how much power they can hold, you are trying to apply a simple model very broadly when it's not how real markets work.

Even if you don't agree with Yanis Varoufakis I thoroughly recommend reading "Technofeudalism" to get some insights, at least to challenge the thesis, it's worth a read to understand what happens when these companies become gatekeepers creating their own fiefdoms.
«we are unlikely to come up with a magical technological fix to compensate for our bad behavior»

Bad behaviour... We have sinned, apocalypse is coming for us...

Wondering which magical technological fix they are talking about. Using bicycles instead of cars seems to me like replacing a technology by another. Home insulation and heat pump vs chimney. The choice of technology does matter I think... But I don't understand where is the 'magical'.
Wasn't aware that both old and new execs have Sales / Marketing background vs. Product / Engineering.

This is a stereotype bad signal but AWS has demonstrated otherwise (besides missing the AI boat, whose endgame is not clear yet.)
You need to run your SVGs through some path optimization! Your Axidraw is doing a lot of unnecessary traveling between lines. Check here: https://github.com/beardicus/awesome-plotters#vector-utiliti...