skysight-inc/HackerNews huggingface dataset:
OMG, that's hilarious. I use them, and I know what my prices are, but I'd never noticed that the page called pricing doesn't actually have any.
The tech stack was a weird quote. This is significant:

> In theory it's microservices, but the reality is that there are so many circular dependencies that it works like a monolith

But lambda/go/dynamodb does not force this situation.
Show HN: Nfig – API for AI Agents to Browse and Do Tasks on the Internet
Hi HN,

We’ve built an API for AI agents to browse, click, and do tasks on the internet. My cofounder and I had early access to GPT-3 when it launched, and we were stoked by it. That’s when we decided to build a tool to make UI automation faster and more reliable with AI. Years later, here we are with Nfig.

Nfig converts natural language instructions into actions in a browser, and you can try it for free here: https://app.nfig.ai/.

With constant iterations and training, we’ve been able to bring down the cost per request/step to $0.005, which we believe is the lowest in the space.

We’re stoked about where AI agents are taking us and believe web interaction will be a core part of most agents. So, we wrapped it around an API that everyone can use to build their agents.

Use Cases We’ve Heard:

• Showing live demos
• Creating product video recordings for sales and support questions
• Automating market/candidate/prospect research from multiple sources
• Testing your own software
• Building APIs for websites that don’t offer one
• Providing in-app customer training

Personally, I think there’s so much more—it’s all about imagination! Looking forward to hearing your feedback and seeing what you’ll build.

For more details, check out our blog post: https://blog.nfig.ai/introducing-nfig-cm3wmvfa0005gjdc76tmby...

Come join us on Discord and let’s build together! : https://discord.gg/Zg3BkvvQwP
Automattic Clones Premium Plugin
Elon continues to baffle by avoiding bankruptcy.
I have driven a model 3 and it is hands down the worst 45k (CAD) car I’ve ever driven. Horrible ride quality, uncomfortable seats, terrible (in my opinion - beauty is in the eye of the beholder, I suppose) and slightly dangerous interior, not really all that fast compared to other cars in the price bracket. I’ve also ridden in one with 100k km and it was falling apart - even ignoring the interior, the suspension was horrid (you shouldn’t need new shocks and springs all around after less than 100k lm of driving), the paint was faded to crap, panel gaps were notably worse than when the same car was new.

They are a 15k car at best with 20k worth of batteries masquerading as a nice car. They’re not. They’re a reasonably cost-effective EV, compared to the rest of the market, but they’re not even close to gas cars in the same price range when it comes to anything other than cost per mile.
China also subsidizes the car and battery industry and in their case, it seems to be working just fine. So a blanket statement of "state subsidies = bad" does not tell the whole story.
The author's last post they referenced is a bit bizarre. I don't think that some overly simplified and error prone std library APIs is a particularly compelling reason to dislike a language. I didn't read the entire thing though because it was extremely long
"recall" is a legal term, it means the vehicle is not road-legal and requires immediate action.

Doesn't really matter if it hw, sw or maybe even the owners manual that needs to be changed ASAP.
In few days there will be another 3.4.x branch release (3.4.7), which addresses this exact problem - https://github.com/pawelsalawa/sqlitestudio/issues/5119
I'm not sure I agree. From the perspective of a customer, not being able to drive the car due to it being unsafe is the part that matters, not where and how the manufacturer has to fix it.

If you're opposed to it based on the assumption that it wouldn't take as long, I agree that might be true, but by that logic we should be categorizing _all_ recalls based on length (regardless of whether it's a software update or otherwise), since I'm not convinced that the average length of time until a problem is fixed will always be perfectly split with the software ones being super quick and the ones that would need to happen in person being super slow. What if the mechanics are already aware of how to fix the issue and can do it the same day, or if the software issue turns out to take a long time due to the developers needing a lot of time to fix the bug?

If you're opposed to it purely from the perspective of linguistics and "recall" sounds like "return to the manufacturer", I think I'd disagree due to the word "recall" not being super commonly used for that in other circumstances. If anything, the other usage of the word that springs to mind most readily to me is recalling someone or something "from service", which I think fits perfectly here.
The main take away, to my mind is "are we measuring the right things?"

Like, is the system helping to maximize happiness distribution within humanity while maintaining biodiversity in its highest concomitant expectable dynamics?
> Because they're Go experts, they know the cost of using Go upfront, and they're equipped to make the decision whether or not it's worth it

Well maybe not.

If I’m an expert in only Java 6, I might not be aware of all sorts of useful features that other languages have, such as sum types, traits, type inference… I only know one side of the trade off.

I might be vaguely aware of those ideas and dismiss them because I can’t imagine how they would fit in my Java 6 workflow.

And yet when some of them arrive in later Javas, I begrudgingly use them. Years later I can’t imagine how I ever lived without them!

We’ve seen this play out so many times.

Remember when lambdas were just for weird functional languages?
Honestly, people in real life are petrified about interest rates going up and losing their job. They don’t give a shit about global conflict. Not one person I’ve come across has even mentioned it in the last year.
Discussion (59 points, 2 days ago, 47 comments) https://news.ycombinator.com/item?id=42224398
Valuation has no relevance to the layoffs. The valuation is down because brands left due to Elon's politics.
How does that work in the US they pump papers out as evidence of exceptional ability or something along those lines? I thought that mattered for entry visas not for residency.
Not at first. They'd be too happy cheering.
This isn’t going to happen
thx, looks cool!
As far as I know, no executives received “millions of dollars in bonuses”. What is your source? And in Sweden and Europe, people are usually not paid in dollars :)
Quarterdeck MagnaRAM Review (1997)
They chose Russian gas over nuclear. It's not their fault Putin was a madman, but Trump warned them this would happen, and they decided they don't care and carried right on.

I guarantee you if Europe heeded Trumps warning and cut Russia off instead of outsourcing energy production to them, Ukraine would not have been invaded. Even today, there is still Russian gas flowing through Ukraine into Europe. It's unconscionable, and Europeans should be ashamed that they elected such traitors for leaders.

Putin invaded because he thought nobody would do shit, because everyone was signalling nobody would do shit. Biden said he won't do shit and stopped selling weapons to Ukraine and lifted Russian sanctions. Obama did not do shit the last time with Crimea and Donbas. Germans were laughing at Trump who warned them that Putin will start shit if they continue like this, and for the most part, Europeans just increased their dependence on Russian gas.

The moral culpability here could not be clearer. Of course Putin bears ultimate responsibility, but he was empowered and encouraged by spineless corrupt pathetic western leaders.
The barrier to entry is far too high for most people. A safe, minimal dosage that will help in cases of severe deficiency can be had with an inexpensive pill and negligible time investment.

Regular blood tests and dosing is expensive in mental effort, time, and money.
NV bought manufacturing equipment for $2B from China, now left in the lurch during bring-up, supplier dragging their heels, sending 3rd rate support engineers. Of course, China doesn't want to support a competitor in Europe...

Classic rogue state hybrid warfare, just as cut cables in baltic, also by Chinese. Plausible deniability all the way.

https://www.newsweek.com/baltic-cable-sabotage-nato-1988689
Not in that case: https://sifted.eu/articles/northvolt-bankruptcy-investors-cr...
When I started trying to teach myself Rust, the error handling story fell apart on me very quick.

Like as soon as I wanted to try and get sensible reporting in their, suddenly we were relieving libraries, adding shims and fighting mismatched types and every article was saying the same thing: haha yeah it's kind of a problem.

I'm very, very unsold on explicit error handling compared to exceptions for practical programming. The number of things which can error in a program is far larger then those that can't.
> I think expecting "textual" correctness is unreasonable.

Of course you think that, you don't have to rely solely on closed captions! It's usually not even posed as an expectation, but as a request to correct captions that don't make sense. Especially now that we have auto-captioning and tools that auto-correct the captions, running through and tweaking them to near-perfect accuracy is not an undue burden.

> if you spoke the caption out loud, it would sound pretty similar to what was spoken in the video.

Yes, but most deaf people can't do that. Even if they can, they shouldn't have to.
this actually sounds interesting. do you precreate the workers beforehand and then just keep them in a stopped state?
Even async in Go isn't that good, ultimately. You can't monitor channels, you can't properly react to errors, you can't shutdown and restart them. A panic in a channel will kill your program. Etc.

It's "we learned about green threads and didn't bother to learn anything else" approach (also prevalent in many other languages)
Do CS degrees make sense in an A.I. World?

No, nor does it matter that it's not A.I. nor that it's not fundamentally useful for replacing humans. What matters is cost reduction for businesses who leverage the technology. Why bother hiring six SWEs when you can hire three and make them clean up a "prompt engineer"'s work?
russia is currently invading ukraine using russian and north korean soldiers with the aide of iranian and chinese weapons. russia has supported pro russian candidates in elections using social media propaganda through chinese apps like tiktok helping people like hungary’s viktor orban or 2016s donald trump get elected. they also likely will get an unknown romanian pro russian leader elected as well. russia has supported houthi rebels and has promoted the war in syria. russia has put in place and supported the pro russian break away state of transnistria that has disrupted moldova.

we are in a world conflict. the west has used it for war profiteering as they send all their old weapons to ukraine so they can buy new ones from their friendly local defense contractor.
Of course, everyone is subsidizing their industries, especially the US and China.

I never made a blanket statement that all state subsidized are bad, I just pointed out some cases of major EU failures which you took as a blanket statement.
I'm curious: is there a particular reason for this very specific workflow? Is there an advantage I'm not seeing over Ctrl+T, type url, press Enter? Or is it just the way you do it?
Assuming "function that blocks" means "the carrier thread must wait for the function to return" and "the whole thing" means the carrier thread, then core.async doesn't really have this issue as long as e.g. a virtual thread executor is used.

There is a caveat where Java code using `synchronized` will pin a carrier thread, but this has been addressed in recent versions of Java.[1]

[1] https://openjdk.org/jeps/491
Even taken at face value:

> Most people don’t buy a truck to haul.

But if they do need to haul or tow something, they can.

> Most people don’t buy an off-roader to go off road.

But if they do need to go off-road, they can.

> Most people don’t buy a sports car to race.

Sports cars can be enjoyed (relatively) legally on the street. Quick acceleration combined with very good handling and a sense of connection to the road is a feeling you can enjoy at 55mph. Many people won’t drive their sports cars to the limit, but they are still a more enjoyable driving experience than a regular car for people who care about that.

A cybertruck can’t really haul things, it can’t really tow things, and it can’t be that fun to drive. I hope it’s at least comfortable, but based on my experience with their other vehicles, I doubt it.
In Lockdown mode there's only: "App Store" and "App Store & Known Developers".

There is no "open anyway" button when using Lockdown mode.

edit: interestingly the button suddenly appeared. Perhaps you need to keep the privacy&setting screen open.
New Mining Startup
Hey, I'm the head of ops at Durin, and I wanted to share what we're up to. Mining is prbly not the first thing that comes to mind when you think "cutting-edge," but it's the backbone of modern life—from the phone in your pocket to the building you're sitting in.

Although mining is the most basic industry in human development, the tech hasn't really evolved in the last 66 years. We're still using drilling methods from the 1950s, which is kinda wild when you think about it.

Opening a new mine is a massive investment, anywhere from $100 million to $3 billion. But before that, you've got to explore, and that's where things get interesting (and expensive). Drilling holes 500 meters to 1.5 kilometers deep isn't cheap—around $200–$300 per meter. Do the math, and a single hole can cost a quarter million dollars, and you need hundreds of them. Plus, there's a huge skilled labor shortage.

At Durin, we're building automated drilling equipment to speed up and improve mineral exploration. Think of it as bringing Silicon Valley tech to an industry that's been kind of stuck. We have to make mining sexy.

We're retrofitting and operating our own drilling rigs in the field and will soon build our own from scratch. By automating much of the grunt work, we're aiming to boost drilling efficiency by 90%. We're just getting started but moving fast, thought some of you might find this intersection of tech and traditional industries interesting.

Some links:

www.durin.com
jobs.durin.com
I would certainly argue against the claim that explicit error handling is far overkill.

Where I agree: It forces you to think about all of the possibilities your code might generate. (This is more of a C question than it is with other languages)

However, when abstracting blocks of code away, you don't always need to handle the error immediently or you may want to handle it down the stack.

You're giving up a lot of readability in order for the language to be particular.
The article is great. The bigger picture, of course, is that it’s always “pick your poison”.

On one hand, say, I love operator overloading, I love how Python does it (once you satisfy an interface, its operators Just Work).

On the other hand, I can appreciate the choice not to do it at all because half of the ecosystem will do it, and another half won’t. Also, it would require implementing function overloading, and it is a can of worms.

Or generics and rich type systems, which all come with their own tradeoffs. I hear that Rust cajoles you into tinkering with the type system, and wach tweak requires refactoring of more codebase than anyone would like (don’t take my word for it, it’s just what I heard from a few different sources). I know that Nim is so expressive that it can be annoyingly trivial to be too clever and run into a valid edge case that will make the compiler barf and die. Go sidesteps the issue by not wading into that territory, and that may be perfectly okay, albeit verbose.

It’s always picking your poison, so I guess check your tolerances and allergies so it doesn’t kill you before you get the job done…
It's actually very rare that it should be the caller who has to handle the errors.

Go, however, forces you to spread your error handling over a thousand little pieces with zero overview or control of what's happening.

Rust eventually realised this and introduced try! and ? to simplify this
...you know that that's not true, neither for x64 nor RV64, and my comment was sarcastic, right? Both can only straightforwardly address ±2 GiB from the instruction pointer; beyond that, it's "large code model" all over again, with the same inelegant workarounds that's been rediscovered since the late sixties or so. GOT and PLT versus pools of absolute 64-bit addresses, pick the least worst one.
> I've mentioned "leaving struct fields uninitialized". This happens easily when you make a code change from something like this:

Really? Are you not using gopls? It absolutely will warn you about this. And the mutex case. And a lot of the other similar criticisms.

> Go not letting you do operator overloading, harkening back to the Java days where a == b isn't the same as a.equals(b)

In languages that have it I've never used operator overloading to produce anything good or that was obviously better than just using methods.

> The Go toolchain does not use the assembly language everyone else knows about.

Honestly I've never noticed or had to care. And you can build plenty of things that don't require CGO.

The whole "gnostic" tone in language articles on HN is becoming overbearing. There are parts of the language to criticize but couching it in this "lies _we_ tell ourselves" and somewhat kitchy writing that presents minor matters of taste as fully existential issues makes this an unsatisfying read.
Not sure why Go is compared to Rust all the time, whilst most appropriate comparison is Java.
This is what I’m seeing in social media elsewhere - reports of difficulty getting good support from Chinese suppliers.
Welcome Weary Traveller
Why PostgreSQL major version upgrades are hard
If Europe as major part of the West continues to fail this is going to happen

- Russian influence will rise and dominate at least major parts of Eastern Europe

- China will expand its footprint in Africa and increase its ambition in Asia

- US and Japan will become more isolated than ever
The Uyghurs slaves making your iPhone are grateful that you discussed how much better off the world is.

Some serious "but who will pick the cotton vibes".
> Leibniz challenged “humanity to participate in the work of striving toward perfection,”

> Because the world is the creation of a perfect being, it can achieve only the “best possible” state short of divine perfection.

That's a lot of presumptions: That the creator is perfect, there is even a perfect, what I (Leibniz) call perfect is the god's/gods' perfect, ... while not giving a frame of reference.

I find this a common theme for those who are struggling to marry religious beliefs with logic.
>It’s also true, however, that the platform is in serious decline, and that’s partly due to the product becoming more and more shitty over time.

A vocal minority of leftists moving to Bluesky isn't a decline.
So does this mean that if you dial down your contrarian thinking, you might feel less lonely?
The 7 years thing is from the idea I have heard that after around 7 years the functional life of the battery is effectively over.

> The Li-ion battery typically has a lifespan of 300-500 charge cycles. Suppose a fully discharged lithium-ion battery provides 1Q of charge, and not considering the decrease in charge with each charge, the lithium-ion battery can provide or replenish a total of 300Q-500Q of charge over its lifetime. It can be seen that if charged to 1/2 each time, it can be recharged 600-1000 times; if recharged to 1/3 each time, it can be recharged 900-1500 times. And so on and so forth, with an indeterminate number of charges if they are randomized. In any case, no matter how you charge, the total amount of energy replenished remains constant at 300Q-500Q.

https://cmbatteries.com/comprehensive-understanding-of-lithi...
The goal of a scam is to make the scammer richer. Who gets richer in this case? No one. So that’s not a scam. I’m disappointed seeing that kind of accusations stated without evidences on HN, a forum about entrepreneurship and tech, where we used to celebrate success as much as learn from failure.
yeah. one of the goals was startup time, so It made sense to precreate them. In practice we never ran out of free machines (and if we did, I have a cdk script to make more), and inifnite scaling is a pain in the butt anyways due to having to manage subnets etc.

Cost-wise we're only paying for the EBS volumes for the stopped instances which are like 4GB each, so they cost practically nothing, we spend less than a dollar per month for the whole bunch.
Its still an mostly American phenomen. I've met plenty of people in my career who didnt learn CS and changed in the field later, mostly trough self education and interest.

In Switzerland if you make a second degree it's usually shortened and better payed. Plus often sub-financed by the state. I made my programming degree with people between 19 and 50.

Never did I meet anyone proclaiming doing a private certificate bootcamp thingy.
I don't read docs. Didn't get it to work the way I wanted... It needs simplification.
It's a great business. It's like Uber (which is worth $150 billion), but with 3x less costs. Taxi services are network effects that are extremely difficult to compete with, which is why the taxi industry is basically a duopoly now.
Have you seen China? Northvolts demise is completely orthogonal to the concept of subsidies.
I think this is exactly the right way to understand Go - it's targetted at building servers in environments where having strong consistency of code and a short ramp up time for junior engineers is valuable - i.e. it's perfect for all the big corp scenarios that Java was used for.

I think maybe the more common, but less helpful comparison of go vs rust comes from the fact that they are both part of a new wave of languages and that they both default to producing staticly linked binaries.
There _are_ two problems with Golang that I _would_ like to wave a magic wand and fix if that was a power I had.

1) Sum types (E.G. C/C++ union types) - Yeah, something similar to that should exist... it's syntax sugar over #2

2) 'casting' / reshaping perspective on data ; as long as something has the same struct size a programmer should be able to tell the compiler 'but this is actually that'. Which also implies a way of fixing the layout of a given data structure. I figure that's why Golang doesn't allow this already.

Yeah, 24 bytes (len, cap, pointer) per slice (dynamic array) has a cost, but if that really gets your goat use a fixed size array, or pointer/reference to such [n]thing.

3) Seriously, for a slice, make it like a map, a pointer/reference to a len,cap,blob - so that when I pass a slice by value I pass the WHOLE slice, not a COPY of len and cap and a reference to the slab. Current golang has the worst of all worlds with passing slices around, in that changes mutate, UNTIL it's resized or manually copied. The current design has the behavior it does to support slices of slices, which requires the pointer to the blob. A more complex scheme of a container behind the slice, and references to that could also work, but would be an entirely different datatype.
Seems like Zig is actually meeting much of the writer's expectations for good language design. Although I'm still not wholly convinced by it's move from LLVM and hell-bent desire for incremental compilation.
I would say it does; those tools rarely reimplement the functions you mention, but are abstractions on top of existing CLIs or libraries that do follow the UNIX philosophy.

This project in particular is not being sold as a drop-in replacement for ls.
https://web.archive.org/web/20241125110355/https://www.wired...
"pls" as in "please give me a list of files"? Does `sudo pls` negate the "please"? :p