MurphyA/hacker-news huggingface dataset:
by talos_ | 2025-05-06 19:54:09+00:00
Agreed on this view! Sharing some similar thoughts

Paraphrasing a virtuous music band reflecting on their discography: "the first album was about what we could; the second one was about what we should"

It also aligns with Gell's philosophy of art. Here's a wikipedia exerpt:

> Gell argues that art in general acts on its users, i.e. achieves agency, through a sort of technical virtuosity. Art can enchant the viewer, who is always a blind viewer, because "the technology of enchantment is founded on the enchantment of technology"
by insane_dreamer | 2025-05-06 19:54:38+00:00
> Instead of using these funds to advance the education of its students, Harvard is engaging in a systemic pattern of violating federal law. Where do many of these "students" come from, who are they, how do they get into Harvard, or even into our country—and why is there so much HATE? These are questions that must be answered, among many more, but the biggest question of all is, why will Harvard not give straightforward answers to the American public?

What is this? You'd expect the Sec of _Education_ to be able to write above a sixth grade level, or at least hire people who know how to write.
by pdimitar | 2025-05-06 19:55:10+00:00
I don't speak for anyone else but I'm not using `unwrap` and `expect`. I understand the scenario you outlined but I've accepted it as a compromise and will `match` on a map's fetching function and will have an `Err` branch.

I will fight against program aborts as hard as I possibly can. I don't mind boilerplate to be the price paid and will provide detailed error messages even in such obscure error branches.

Again, speaking only for myself. My philosophy is: the program is no good for me dead.
by kccqzy | 2025-05-06 19:55:45+00:00
The Result type isn't really enough for fun and easy error handling. I usually also need to reach for libraries like anyhow https://docs.rs/anyhow/latest/anyhow/. Otherwise, you still need to think about the different error types returned by different libraries.

Back at Google, it was truly an error handling nirvana because they had StatusOr which makes sure that the error type is just Status, a standardized company-wide type that stills allows significant custom errors that map to standardized error categories.
by mfrye0 | 2025-05-06 19:55:53+00:00
Right, I saw that. ChatGPT does the same.

My question is how you can confirm the entity you're referencing in each source is actually the entity you're looking for?

An example I ran into recently is Vast (https://www.vastspace.com/). There are a number of other notable startups named Vast (https://vast.ai/, https://www.vastdata.com/).

I understand Clay, which your Websets product is clearly inspired by, does a fair amount of matching based on domain name or LinkedIn url.

If Websets is doing fuzzy or naive matching, that's okay. I'm just trying to understand the limitations and potential uses cases of your current system.
by adrian_b | 2025-05-06 19:56:39+00:00
The fact that many trans-Neptunian bodies have weird orbits is not a correct argument for the existence of an extra big planet beyond them in the present time.

It is only evidence that at some moment in the past there was something big out there, which has perturbed their orbits.

In 2024 there have been published a few papers which propose that a star has passed close to the Solar System in the past and its passage has caused all the unusual orbits that we see in the outer Solar System.

This seems more plausible than an undiscovered big planet.

https://www.nature.com/articles/s41550-024-02349-x

https://iopscience.iop.org/article/10.3847/2041-8213/ad63a6
by Etheryte | 2025-05-06 19:57:24+00:00
For me, Claude 3.7 was a noticeable step down across a wide range of tasks when compared to 3.5 with the same prompt. Benchmarks are one thing, but for real life use, I kept finding myself switching back to 3.5. Wouldn't be surprised if they were trying to figure out what happened there and how to prevent that in the next version.
by ryandv | 2025-05-06 19:57:29+00:00
There are patterns to address it such as creating your own Result type alias with the error type parameter (E) fixed to an error type you own:

type Result<T> = result::Result<T, MyError>; #[derive(Debug)] enum MyError { IOError(String) // ... }

Your owned (i.e. not third-party) Error type is a sum type of error types that might be thrown by other libraries, with a newtype wrapper (`IOError`) on top.

Then implement the `From` trait to map errors from third-party libraries to your own custom Error space:

impl From<io::Error> for MyError { fn from(e: io::Error) -> MyError { MyError::IOError(e.to_string()) } }

Now you can convert any result into a single type that you control by transforming the errors:

return sender .write_all(msg.as_bytes()) .map_err(|e| e.into());

There is a little boilerplate and mapping between error spaces that is required but I don't find it that onerous.
by theamk | 2025-05-06 19:57:55+00:00
how do they solve sudo's problems though? Exchanging "sudo" with "require-root-capability" or "start-privileged-session" will still have many of the same logic problems.

Unless you mean something like "capabilities are always inherited, and there is no way to increase them", which would mean that sudo-like scripts are impossible, and you need to start all-new session as root user for admin actions. Good news, it's already possible in linux - just don't install "sudo", and maybe set up SELinux to disallow all escalation. Turns out no one wants to do this though.
by jmyeet | 2025-05-06 19:58:00+00:00
I want you to imagine a scenario where China forms a military relationship with Canada and/or Mexico and builds a whole bunch of forward operating and missile bases along the US border. How do you think the US would react to that? Would we just accept it? Would the US say "hey, we don't get to decide what clubs our neighbours decide to willingly join"? Of course not.

We have evidence of this where the US almost triggerd nuclear war over missiles in Cuba, which again was a response to Jupiter nuclear missiles being stationed in Turkey.

So why would Russia be OK with hostile military bases all along its border?
by mirekrusin | 2025-05-06 19:58:05+00:00
But openai is stronger brand with free publicity - whatever they say/do will instantly show up the same day on all news across the world.

The "space" exists for months, there are no people with 10y expertise here, with their brand they can attract any talent they can wish for in this "space", no?

You can probably vibe code 80% of it in a week or two?
by nicce | 2025-05-06 19:58:11+00:00
Additions are easy. By default they are wrapped, and you can make them explicit with checked_ methods.

Assuming that you are not using much recursion, you can eliminate most of the heap related memory panics by adding limited reservation checks for dynamic data, which is allocated based on user input/external data. You should also use statically sized types whennever possible. They are also faster.
by 0x1ceb00da | 2025-05-06 19:58:12+00:00
Proper error handling is the biggest problem in a vast majority of programs and rust makes that straightforward by providing a framework that works really well. I hate the `?` shortcut though. It's used horribly in many rust programs that I've seen because the programmers just use it as a half assed replacement for exceptions. Another gripe I have is that most library authors don't document what errors are returned in what situations and you're left making guesses or navigating through the library code to figure this out.
by em-bee | 2025-05-06 19:58:23+00:00
when does your son come home and when (and what) is his next meal?

a sandwich is enough for a mid morning snack, but not for a midday meal unless the kids get another meal right when they come home. traditional wisdom has it that you should have a good breakfast and lunch, and a smaller meal for dinner. that's possible when the kids come home no later than 2pm but if they usually come home at 3-4pm or later then a sandwich is not enough to get them through the day.
by throwup238 | 2025-05-06 19:58:51+00:00
First the good news: There is a relatively well beaten path to becoming an independent consultant/contractor who gets to pick and chose their clients and projects. You probably won't work on intellectually challenging or stimulating projects 100% of the time, but you can schedule them so that there's usually an interesting contract running in parallel to the ones that reliably pay the bills. There will be dry spells where you have nothing but boring work but as you get better and have a proven history of delivering, that work improves.

Now the bad news: getting there takes a lot of work - most of it unrelated to technology - and requires a certain personality. You need to get out there and network till your ears bleed, get good at sales and marketing, manage the stress of not having a W2 salary and health insurance, learn how to bill clients and convince them to actually pay, maintain relationships with current and past coworkers, and a hundred other yaks you have to shave. It's death by a thousand cuts but if this lifestyle fits your personality, you can achieve a very interesting and varied career.

If you spend your college years and summers building out that network, you can even start this process shortly after graduation but it is very risky. Depending on how the job market looks in a couple years, it might even be the optimal thing to do (it's what I did after the 2008 GFC), but this is not a path for the feint of heart. It is hard and much more stressful than collecting a paycheck. I was personally relieved to get a FTE position after years of consulting.
by ModernMech | 2025-05-06 19:59:01+00:00
Okay I see the confusion. We are coming from different perspectives.

There are three main reasons I can think of for asking the Internet a question in 2010:

1. You don't know how to ask Google / you are too lazy.

2. You don't trust Google.

3. You already tried Google and it doesn't have the answer or it's wrong.

Maybe there are more I can't think of. But let's say you have one of those three reasons, so you post a question to an Internet forum in the year 2010. Someone replies back with lmgtfy. There are three typical responses depending on which of the those reasons you had f or posting:

1. "Thanks"

2. "Thanks, but I don't trust those sources, so I reiterate my question."

3. "Thanks, but I tried that and the answer is wrong, so I reiterate my question."

Now it's the year 2025 and you post a question to an Internet forum because you either don't know how to ask ChatGPT, don't trust ChatGPT, or already tried it and it's giving nonsense. Someone replies back with an answer from ChatGPT. There are three typical responses depending on your reason for posting to the forum.

1. "Thanks"

2. "Thanks, but I don't trust those sources, so I reiterate my question."

3. "Thanks, but I tried that and the answer is wrong, so I reiterate my question."

So the reason I drew the parallel was because of the similarity of experiences between 2010 and now for someone who doesn't trust this new technology.
by jessriedel | 2025-05-06 19:59:43+00:00
> A big reason is simply that managing a fleet in heterogeneous fashion as you're describing (different cleaning schedules for the cars) doesn't really make sense IRL.

Of course it does. Pre-Uber, we had both standard yellow cabs and black car services at different levels. (The main reason you see relative homogeneity within yellow cabs is that the government forces it by setting prices, not because of anything intrinsic about a fleet. Black cars are excluded from these rules.)

In shipping we can pay for different speeds and types of handling. On planes and trains we have different class tickets. In the rental car market, we have Hertz and we have rent-a-wreck. And even within Hertz, there are different car quality levels, which somewhat decreases flexibility (since you need to have more cars on hand than you would with a homogeneous fleet), but it's worth the upkeep to charge the wealthy customers more. Etc.

> Then please explain how cars would get dirtier as the service scales up? If today is already seeing the cars at full utilization, barring a cost-cutting measure that determined that cleaning less frequently would be a significant cost savings (which is a big assumption on your part), then we should be seeing roughly how clean the cars will be into perpetuity.

1. Tech prices come down, so the average customer willingness to pay for cleanliness comes down.

2. Services often launch with non-scalable attention to detail to control the initial public impression (eating the cost), and then relax over time.

3. Segmentation that's not feasible at the current scale but will be in the future.
by JohnFen | 2025-05-06 20:00:10+00:00
These are only my personal opinions and they may not be widely applicable, but...

The domain name "rootdb.com" makes it sound like the site is about databases. That's not a topic that I find particularly interesting, so I would have assumed that it's not for me from the start and probably would not have gone there.

I'm not a big fan of the organization of the site. When I first looked there, it was a jumble of miscellaneous topics. It wasn't even clear to me that it was a "forum" in the sense that I'm used to. (Still isn't, to be honest, but I probably missed something). Clicking on the forum link takes me to a search form. Since I'm new and not looking to search for anything, that isn't really helpful to me. I could be misunderstanding the purpose of this site, so forgive me if this is not a helpful thing, but what I'd love to see is the ability to browse by section with the posts in reverse chronological order. Being able to turn off the thumbnail images would be a bonus.

> Would you register if you visited our website? If not, why not?

I wouldn't unless I found myself using the site pretty frequently for a while first. Registration is a very big ask and I won't do it unless there's a very big reason to.
by forgetfulness | 2025-05-06 20:00:28+00:00
BigQuery ELT, the org I went to was rather immature in their data practice, and I sold them on getting some proper orchestration (Dataform, their preference over DBT, and Airflow), and keeping the architecture coherent.

I'd have rather stuck with Spark just because I prefer Scala or Python to SQL (and that comes with e.g. being far easier to unit test), but life happened and that ecosystem was getting disrupted anyway.
by mopsi | 2025-05-06 20:00:39+00:00
> I want you to imagine a scenario where China forms a military relationship with Canada and/or Mexico and builds a whole bunch of forward operating and missile bases along the US border.

How is that relevant? Nobody built any "forward operating and missile bases" in the entire Eastern Europe, and those that used to be in Western Europe have been largely dismantled in the decades that followed the Cold War. What "hostile missile bases" are you talking of? Can you name a single one?
by pdimitar | 2025-05-06 20:00:57+00:00
Don't know about your parent poster but I didn't take it 100% literally. Obviously if there's no memory left then you crash; the kernel would likely murder your program half a second later anyway.

But for arithmetics Rust has non-aborting bound checking API, if my memory serves.

And that's what I'm trying hard to do in my Rust code f.ex. don't frivolously use `unwrap` or `expect`, ever. And just generally try hard to never use an API that can crash. You can write a few error branches that might never get triggered. It's not the end of the world.
by eestrada | 2025-05-06 20:01:18+00:00
And that increase in LLM usage has resulted in an enormous increase of code duplications and code churn in said open source projects. Any benefit from new features implemented by LLMs is being offset by the tech debt caused by duplication and the maintenance burden of constantly reverting bad code (i.e. churn).

https://arc.dev/talent-blog/impact-of-ai-on-code/
by amlib | 2025-05-06 20:01:33+00:00
If you haven't used linux desktop for a while, even a year ago, try again. Use a bleeding edge distro like the latest Ubuntu or Fedora ideally running Wayland and you will be surprised how smooth and feature-full it has become, with gobs of high quality apps available with no finicky compile instructions or crazy installation steps needed to follow.

Whatever rough edges you may encounter will keep being sanded down at a speed I haven't witnessed since when linux was the hot new thing in the 90s. Linux desktop felt stale and abandoned trough-out the 2010s but nowadays its pretty marvelous how fast it's becoming a real alternative to windows and mac. I truly believe that if it had the proper developer adoption and first class hardware support from OEM vendors it would already be a true alternative.
by somat | 2025-05-06 20:01:37+00:00
early typewriters had no 0 or 1, you were expected to use I or O. So at least there they were the same letter.

There was a great article posted here not too long ago about the actual origin of the qwerty keyboard, spoiler, it was not actually designed to slow typing down. Anyway a fun fact found in that article was why "I" is where it is. An early adopter of the typewriter was a telegraph transcription company. and they wanted "I" moved near the end of the numbers so using it as a "1" they could type the 18 in 1875 quicker.

https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433...
by -__---____-ZXyw | 2025-05-06 20:01:56+00:00
Bit late here, but one point to consider is that people believe a lot of silly things when it comes to jobs. Maybe you don't, but still. Either through believing some cliche that people say, or letting some insecurity or fear have too much power over us, it can be easy to entertain fantasies about the workplace and our space of possibilities in it.

This is a very good and practical and humorous read on the subject. I suggest before you make any drastic decisions you try some of the stuff there, and see if you weren't nursing some illusions:

https://ludic.mataroa.blog/blog/ludics-guide-to-getting-soft...
by humbledrone | 2025-05-06 20:02:09+00:00
I attempted to preempt your question in the section of my blog post, "Why don’t you just pipeline the GPU code so that it saturates the GPU?" It's one of the less-detailed sections though so maybe you have further questions? I think the main thing is that since Anukari processes input like MIDI and audio data in real-time, it can't work ahead of the CPU, because those inputs are not available yet.

Possibly what you describe is a bit more like double-buffering, which I also explored. The problem here is latency: any form of N-buffering introduces additional latency. This is one reason why some gamers don't like triple-buffering for graphics, because it introduces further latency between their mouse inputs and the visual change.

But furthermore, when the GPU clock rate is too low, double-buffering or pipelining don't help anyway, because fundamentally Anukari has to keep up with real time, and every block it processes is dependent on the previous one. With a fully-lowered GPU clock, the issue does actually become one of throughput and not just latency.
by charcircuit | 2025-05-06 20:02:15+00:00
>"Being root" is just another name for the last option.

No, it's not. Take for example ping. If we want users to be able to always be able to use ping does that mean they need to be root? No, it doesn't. A privileged part of the OS can handle doing the raw socket and the unpriviledged user can talk to that part of the OS.

The key point is that some operations that require privileges are okay to expose to a user, but giving the user privileges for everything is dangerous.
by VladVladikoff | 2025-05-06 20:02:45+00:00
This sounds more like an influx of scammers than security researchers leaning too hard on AI tools. The main problem is the bounty structure. And I don’t think these influx of low quality reports will go away, or even get any less aggressive as long as there is money to attract the scammers. Perhaps these bug bounty programs need to develop an automatic pass/fail tester of all submitted bug code, to ensure the reporter really found a bug, before the report is submitted to the vendor.
by mattgreenrocks | 2025-05-06 20:02:48+00:00
I'm always impressed by the ability of the comment section to come up with more reasons why decent design and architecture of source code just can't happen:

* "it's too hard!"

* "my coworkers will just ruin it"

* "startups need to pursue PMF, not architecture"

* "good design doesn't get you promoted"

And now we have "AI will do it better soon."

None of those are entirely wrong. They're not entirely correct, either.
by cheema33 | 2025-05-06 20:04:17+00:00
> By the time my free trial ran out, VSCode had added a LLM chat interface in the sidebar.

I am guessing you are talking about GitHub Copilot when you say VSCode. GitHub Copilot is far far inferior product when compared to Cursor, Windsurf or Augment Code. Most people who try almost any Copilot alternative for a reasonable amount of time end up canceling their Copilot subscription. I did, after two months of using both.
by pbowyer | 2025-05-06 20:04:39+00:00
I trialled Cursor for a month and then Windsurf. Cursor read entire code files in while Windsurf would read the first 100 lines (or was it 50?), then the next 100, and often stop before it got to the part of the file with the method in which was needed.

So I went back to Cursor.
by charcircuit | 2025-05-06 20:04:46+00:00
>There is no other way to make things like modifying files directly under / possible

It doesn't need to be possible.

>change system configurations

You can have an settings app to configure the system.

>then you have Android

Which is much farther ahead than Ubuntu on security. Ubuntu needs to play catch up.

>but then you have certainly not enabled everything a user can do with sudo.

The goal is not to be able to do everything. The average user doesn't need to be able to do anything. Especially with their regular account.
by Arnavion | 2025-05-06 20:06:09+00:00
>many functions allocate memory and what are they supposed to do when there is no memory left?

Return an AllocationError. Rust unfortunately picked the wrong default here for the sake of convenience, along with the default of assuming a global allocator. It's now trying to add in explicit allocators and allocation failure handling (A:Allocator type param) at the cost of splitting the ecosystem (all third-party code, including parts of libstd itself like std::io::Read::read_to_end, only work with A=GlobalAlloc).

Zig for example does it right by having explicit allocators from the start, plus good support for having the allocator outside the type (ArrayList vs ArrayListUnmanaged) so that multiple values within a composite type can all use the same allocator.

>Also many functions use addition and what is one supposed to do in case of overflow?

Return an error ( https://doc.rust-lang.org/stable/std/primitive.i64.html#meth... ) or a signal that overflow occurred ( https://doc.rust-lang.org/stable/std/primitive.i64.html#meth... ). Or use wrapping addition ( https://doc.rust-lang.org/stable/std/primitive.i64.html#meth... ) if that was intended.

Note that for the checked case, it is possible to have a newtype wrapper that impls std::ops::Add etc, so that you can continue using the compact `+` etc instead of the cumbersome `.checked_add(...)` etc. For the wrapping case libstd already has such a newtype: std::num::Wrapping.

Also, there is a clippy lint for disallowing `+` etc ( https://rust-lang.github.io/rust-clippy/master/index.html#ar... ), though I assume only the most masochistic people enable it. I actually tried to enable it once for some parsing code where I wanted to enforce checked arithmetic, but it pointlessly triggered on my Checked wrapper (as described in the previous paragraph) so I ended up disabling it.