MurphyA/hacker-news huggingface dataset:
by bko | 2025-04-14 13:13:56+00:00
> I’ve written about the platform’s array of issues before, but, in summary, the removal of the verified public figures and the introduction of the new Blue Ticks basically allowed people to pay for engagement.

I think the alternative was worse. Basically unseen employees at Twitter get to make judgement calls on who is noteworthy, with not much objective reasoning. I've seen people with 1k followers have a blue checkmark and then others with hundreds of thousands of followers not have one. And you even had instances where blue check marks were removed as punishment.

The only reasoning that made sense was politics, if you were a left wing author with a self published book of poems and 1k followers you had a good shot at a checkmark, and if you were right wing, you would have that check mark dangled over you. No clear process. And considering how influential these social media platforms are and how checkmarks effect discoverability, it made a huge difference. Instagram had the same thing and there were even stories of "influencers" sleeping with Meta employees to get verified.

Now anyone willing to pay a few dollars per month can have the same reach. There's a reason Instagram basically has this pay to play model and I think it's far better.

Also the fact that Twitter is the only (?) social media that pays its creators directly. No convoluted process, just if you're verified you get a check every once in a while and from what I've seen it's pretty substantial. The idea that social media companies should pay their creators has been around a while. It seemed deeply unfair that these billion dollar companies were created on the back of free labor. Reddit had worthless "gold" as a reward, but come on. This was a huge long overdue development in social media landscape that I don't think gets enough attention.
by broken-kebab | 2025-04-14 13:14:33+00:00
It's normal flow of things in the industry, isn't it? It used to be an important skill for a programmer to optimize constantly. Tasks like "We need to cut halfkilobyte at least!" were challenging, and satisfying puzzles. And today you open a news webpage, it takes 1.5Gib and who cares? Typing speed used to be an important skill too, and nowadays one can be a decent software developer using two fingers. Memorizing names, and parameters used to be extremely important until autocomplete, and autosuggest appeared. I can expand this list to a hundred points probably.
by xeeeeeeeeeeenu | 2025-04-14 13:14:36+00:00
Right. We've had mass data collection tools for a long time, web trackers, CCTV, microphones etc.

But what AI brings to the table is how much easier it makes it to combine and analyse all that data, build peoples' profiles. It scales infinitely better than hiring human analysts to track someone. It's too cheap and too tempting.
by frognumber | 2025-04-14 13:15:00+00:00
#confidentlywrong

Most modern cameras can stream video to a computer through a proprietary protocol. These are implemented under Linux in gphoto2, and in other OSes, through some proprietary tool. During the great webcam shortage of covid, many companies made special, flaky Windows utilities to allow those to be used for web conferencing. Very few can natively as a USB Video Class (UVC) device. This is Canon's version:

https://www.dpreview.com/news/4796043082/canon-s-new-softwar...

Now, for Canon, it's a monthly subscription:

https://www.usa.canon.com/cameras/eos-webcam-utility

As a footnote: The general rule-of-thumb is about f/11 is where you start to notice diffraction limiting sharpness on full frame. That's a rule-of-thumb, and you're welcome to not step down below f/8, but calling f/9.5 "abysmal" is more than a little over-the-top. But no, a phone will not compare to a full frame with a $2000 f/1.2 lens. But it's quite competitive with a kit lens.
Ask HN: Port all Compute!'s Gazette games/apps via AI prompts to modern systems?
by amichail | 2025-04-14 13:15:11+00:00
For example, imagine a version of the SpeedScript word processor that runs from the Terminal on macOS.

A detailed description of SpeedScript—including its shortcuts and some screenshots—might be enough for an AI prompt to generate code for a version that uses Curses.

Would this be easy to do?
by CharlieDigital | 2025-04-14 13:16:29+00:00
Of course you push forward as a team, committal here I take to mean between two or more engineers trying to debate a technical option.

Why must every engineer have an opinion on every technical decision if there are no hard requirements? I may only have an opinion if there is a hard requirement.

I gave an example below.

> Say we must choose where to get dinner. Japanese or Indian. Without constraints, I do not care. But if Antoine and Lin are coming and Antoine has a shellfish allergy while Lin is a vegetarian, I now want to commit because I like their company and Indian is the better choice. Why make a fuss about Japanese or Indian if I do not care unless there is actually a real reason to pick one over the other? I just want to go out to dinner and have a good time otherwise; I am happy with Japanese or Indian!

Do you see the difference? If Antoine and Lin are not coming, I will eat anywhere; I don't care -- let's have a good time! If Antoine and Lin are coming, I think we should pick Indian because they have requirements that we should consider -- let's have a good time!

It seems pretty clear to me that not every engineer must have an opinion on every technical decision to which they should commit when sometimes, the choice doesn't matter and it's easier to let the individual with a stronger opinion drive the choice because the other option is friction for no reason and expending energy debating made up constraints.
by simonw | 2025-04-14 13:16:31+00:00
Almost all software engineering systems are reversible. If a decision can be unmade later I find is a lot easier to accept committing to a decision despite not yet being 100% confident it's the best approach.

This works in collaborative decisions too: if someone still has doubts, ask them to "disagree and commit" to the new direction but promise them that you'll evaluate if it is working out in a fixed time period - drop something on the calendar in two weeks time for example.

Indecision paralysis is much more harmful to a project then picking an option that later turns out to be suboptimal.
by hnlmorg | 2025-04-14 13:16:53+00:00
I think the bust of the job market played a bigger part here. When IR35 originally came in, some companies would bump pay inside IR35 to compensate elsewhere risk getting poorer pol of talent. Since the job market crashed there have been fewer jobs all round, which has pushed the contractor market down too.

But you’re right that IR35 really hasn’t helped situations either.

Some of my friends have commented that the last few years has been the worst time in their 20+ years as a contractor.
by hectormalot | 2025-04-14 13:17:03+00:00
I don’t think that’s shady? When I was hiring contractors it was always project based with mutual understanding things could end quickly if the project or collaboration didn’t work out.

Yes, they get paid 1.5-2x, and that also prices in that it’s not always 100% utilization. Only once had a contractor oppose that, but that was in the context of (severe) underperformance.
by FeloniousHam | 2025-04-14 13:17:16+00:00
Data point of one: I'm older, and my experience with the apps was more than mostly positive. I hadn't dated in years, and with the exception of a couple clunkers, all my dates were fun and friendly. In every match, there was a lot of texting, and I put in a lot of effort.

Nobody was a swimsuit model, but I'm not either. I might be I've crossed the threshold where looks are less important than personality (looks are still important!).

Everyone I dated mentioned that their experience with the apps mostly sucked though.
by geye1234 | 2025-04-14 13:17:16+00:00
Yes, that was a bad way of putting things on my part. You are correct. Better would be "the basis of the Catholic Church's teaching, and the primary part of its teaching, is revelation".

To return to the main disagreement:

>> The objection to your point is that the teachings of Christianity are timeless if true.

> "The teachings of Christianity" are, in fact, not consistent across time or across subsets of Christianity at the same time

The teaching of the Catholic Church, insofar as it is proposed as being part of Revelation, or as following logically therefrom, is timeless and unchanging. One reason is that Revelation is primarily about God (it's His Self-Revelation), who can't change.

Again, the fact that different Catholics believe different things (contrary to Revelation or each other), or that some teachings that are not proposed as being part of Revelation change over time, is irrelevant to this.

Obviously, if you claim Revelation is an "abstract ideal", then you are implicitly claiming it's false, or doesn't exist, which is an entirely different argument.

Are there any teachings that are proposed as part of Revelation, or as following logically therefrom, that have manifestly changed over time?
by ramesh31 | 2025-04-14 13:17:25+00:00
>Wow Objective C still banging.

Objective-C is a fantastic language. Apple is still writing tons of it. It's the C++ we should have ended up with. Protocol oriented programming is an absolute revelation if you've never been exposed to it before. And being a superset, the ability to seamlessly drop in and out of pure C within the same file is something no other language can do. It also happens to have the most highly cohesive, battle tested, well documented interface libraries in existence for native desktop apps with Cocoa/AppKit/CoreGraphics et.al.

One thing I've found recently is that Obj-C actually works extremely well with agentic coding tools too. Having header files is like a cheat code for them. You don't have to fill your context with implementation code; just the interfaces, and the agent can actually reason about an entire huge codebase.
by 5Qn8mNbc2FNCiVV | 2025-04-14 13:17:41+00:00
Using it right now, the community feels non-existent and the documentation is as barebones as it gets. Luckily my requirements are easy since I only need schema-based sharding so from an operations perspective, it's "just" managing one database clusters for each shard but I would just not use Postgres the next time and instead go with Vitess since at least you're not all on your own then.
by kbolino | 2025-04-14 13:18:38+00:00
I don't think the state of the art ca. 2007 was the same as it seems today.

For one thing, Go took a number of forward-thinking stances (or ones which were, at least, somewhat unusual for its time and target audience), like UTF-8 strings (granted, Thompson and Pike created the encoding in the first place), fat pointers for strings and slices, green threads with CSP (though channels proved to be less useful than envisioned) and no function coloring, first-class functions, a batteries-included standard library, etc.

The only things I can think of which Go did that seemed blatantly wrong in that era would be the lack of generics and proper enums. Null safety, which IMO proved to be the killer development of that era, was not clearly formed in industry yet. Tony Hoare hadn't even given his famous "billion-dollar mistake" talk yet, though I'm sure some idea of the problem already existed (and he did give it in 2009, a couple of years into Go's development but also before its first public release). I know others find the type system lacking, but I don't think diving hard into types is obviously the best way to go for every language.

If one were to seriously investigate whether expertise was valued by Pike et al., I think it would start by looking at Erlang/OTP. In my opinion, that ecosystem offers the strongest competition against Go on Go's own strengths, and it predates Go by many years. Were the Go designers aware of it at all? Did they evaluate its approach, and if so, did they decide against it for considered reasons? Arguing against C++ was easy coming from their desired goals, but what about a stronger opponent?
by kllrnohj | 2025-04-14 13:18:39+00:00
You don't & generally shouldn't be in the first place, in any language. Linked lists are a very niche data structure, so generic code should ~never be using them. So it's a moot question. It's kinda like the complaints about how hard a doubly linked list is in Rust - it's just not important because it's not something you should be using 99.999% of the time anyway.
by solardev | 2025-04-14 13:18:40+00:00
When I read this, the first thing that came to mind was "until you have to work with time zones". I generally enjoy working in JS, but it's such a pain point for me that I can't help but not think about it whenever I see a datetime.

It doesn't get as much mindshare as the problems with typing and frameworks and fashion trends and such, but my god, I've never seen a major, popular language with such poor support for basic time zone manipulation and storage. It is really really bad and won't be fixed until the Temporal API is stable and widely available: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
by Aachen | 2025-04-14 13:19:33+00:00
> We recently built our own network location implementation in the OS and are building our own network location database/service with full offline support.

Why build your own instead of working with BeaconDB? Or if you predate that project, vice versa: will this be an open dataset that other projects can use and contribute back to?

I tried looking up more info about it but DDG only comes up with forum threads about workarounds
by simonw | 2025-04-14 13:19:35+00:00
"I am.. overly verbose in tickets."

So am I, and I'm proud of it. I see a GitHub issue thread as effectively infinite storage for the ideas, decisions and research behind a change I make to a codebase.

Here's a recent example - 51 comments and they were almost all me talking to myself https://github.com/simonw/llm/issues/617
by AJRF | 2025-04-14 13:19:50+00:00
> "But now they seem to have lost traction and are likely to go out of fashion."

That is one way of looking at it - an alternative interpretation is that mobile development has hit a plateau.

I don't think someone starting an iOS or Android app today would pick Objective-C/Java, but maybe there are less mobile apps being made today?

To sum up what I am saying:

They won't disappear but they won't rise again.

Anyone got good data on this?
by varispeed | 2025-04-14 13:20:44+00:00
Maybe this is an issue with prompting? Some people get great results and other complain that the tool is useless.

If you explain the problem exactly as you would explain it to a junior coworker and gave it some handholding, it can save you a ton of time plus you don't have to actually hire such coworker. It also helps sharpen communication skills. If you cannot communicate what you want to Cursor, then most likely you cannot do that to human either, just that humans might be much better at getting the information out of you.

Just trying to say, I've been getting amazing results with Cursor as it is sparing me from doing some less "glamorous" tasks.
Show HN: BookStates – A better reading tracker and reading companion
by aditgupta | 2025-04-14 13:21:08+00:00
Hello! I'm Adit, the solo maker of BookStates.

This product comes straight from my heart. I’ve always believed that reading is more than just finishing books—it’s about how they shape us, quietly and powerfully. BookStates began as a simple tool to track what I was reading, but it quickly grew into something much more meaningful. It has reading streak, analysis of your reading patterns, thoughts to ponder after you complete a book, and some interesting ways for visual book discovery. I’d love for you to try it and tell me what you think. The native mobile apps are also coming very soon!
by hakunin | 2025-04-14 13:21:25+00:00
I find there's a good way to not commit, slightly different from this article.

There's a non-committal way of designing software that I think we should all strive to follow. It's not things like "let's use an ORM so that we can swap the database later" or "let's write abstractions over everything so we can swap everything later". It's more that you're trying to keep the code as simple and static as possible, naively doing the exact business function, and rarely generalizing. There are a few practices I've picked up over the years for non-committal architecture of this kind (for example: doing more at "build" time, passing the functions what they need instead of what you have, keeping IO in shell layer, and a few more). The goal is not to end up with a codebase that has foretold all the possible futures, but that implements just what it needs to do now in the most straightforward way, such that it's easy to read, understand, and change. I think this kind of non-commitment is the ideal to strive for. The less committed you are in this way, the easier it remains the change the codebase as it evolves, the less shackled it is with over-engineered "solutions".

It's deceptively hard to do this in practice. Everybody wants to implement their over-engineered "system for doing a thing" layered on top of the programming language. Sometimes we forget that the programming language itself is a great tool for expressing business logic.
by rincebrain | 2025-04-14 13:21:50+00:00
Really, all options obliterate morale.

Laying off people who you rank as "low end" on the acceptable performance scale, might mean you kill structurally important bricks that were not optimizing for being higher than "high enough" on that scale, and cannibalizes people working on anything valuable long-term but hard to justify to management short-term.

Laying off high performers means people don't want their head to be poking up, so they sabotage their own visibility to try being "good enough", while also killing people's motivations.

Laying off randomly kills people's morale directly worst of all, because that implies there's nothing they can do to change the outcome, and impotence is worse, arguably, than anything else for many people.
by franze | 2025-04-14 13:21:51+00:00
Use ChatGPT deep research to reasearch all details of SpeedScript and how it works and what it does.

Take this input and let Gemini 2.5. Pro write the code. (add the screenshots)

Maybe even let Gemini 2.5. Pro write a node/bash script to create the project and all files within it if you do just want to copy and paste one script) run it, create the project.

Open the folder in Cursor and run it. If you encounter bugs, let Cursor fix them.

Think you would be done in about 2h.

If you want to make it beautiful use Claude to improve on that side. Its the only AI that currently "gets" beauty.
by thr0waway001 | 2025-04-14 13:22:36+00:00
As a guy who started off as a PHP developer and graduated into a jack of all trades, with only so much time and different types of problems to solve, and before AI, the objective for me has been to economize my learning capacity and not double up on learning languages to solve the same domains of problems.

To that end, I’ve always seen Python and Ruby as similar except Python has all the data goodness and a slightly less popular web framework for which I could always fallback on PHP (Laravel) if I need a web framework that got it all.

Betting on Python a decade ago was a good use of my time.
by spicyusername | 2025-04-14 13:22:55+00:00
I really was just a fuckin cog in a mega corp.

Yep. One of the most unfortunate realities of modernity.

Your managers, or your managers managers, or their managers don't care about you. At all. If you ask them on the weekend, they'll decry that the things they are asked to do are horrible. but they'll still do it. Some gladly.

They are themselves cogs in the machine.

A machine that goes all the way to the executive class, and they really don't care about you. In fact, more likely than not, they detest you.

We all participate in this hostile culture, in various ways. Usually using the excuse that we need to pay rent, eat, find the work interesting, or with some other excuse that justify the means.

It seems like it's hard to do the right thing when you have something you want to buy or otherwise spent your whole life getting here, before realizing what here is.
by lelanthran | 2025-04-14 13:23:00+00:00
> If the node embeds the data item you can't link the item into multiple linked lists, but if the data item embeds the node(s) suddenly that's trivial.

Perhaps I'm missing something, but isn't it the other way around? In C, this is what I'd expect for the intrusive and extrusive:

// Intrusive struct user_data_t { struct user_data_t *next; struct user_data_t *prev; // The object's fields }; // Extrusive struct node_t { struct node_t *next; struct node_t *prev; struct user_data_t *payload; };

The intrusive one obviously can't be shared between lists.
by janice1999 | 2025-04-14 13:23:16+00:00
How do you define "production application" though? Customer facing? Running 24/7 to keep systems alive?

Python is great for making scripts, e.g. to process logs or quickly analyse and plot data for example. I've seen so many of these Python scripts and internal apps that are critical to customer support and keeping other systems healthy. They might not be in the critical path but they help with and speed up work.
by tlogan | 2025-04-14 13:23:45+00:00
I read somewhere that this experiment has sensitivity of 0.2 eV (I could be wrong here so please correct me).

What is this 0.45 eV then? Are they still running the measurements and trying get to 0.2 eV or this is maximum they can achieve?

[ I misread the original article explaining their equipment and project - their goal is to go all the way down to 0.2ev ]
by lightingthedark | 2025-04-14 13:24:30+00:00
Okay so in the multiple list case performance would actually be worse because you'd have a double pointer dereference. I was thinking you'd have the list nodes contiguous in memory so the first dereference would always hit cache but that's a bad assumption for a linked list.

Since you shouldn't reach for a linked list as a default data structure modern hardware anyway, I actually do see how this change makes sense for Zig. Neat!
by bko | 2025-04-14 13:24:34+00:00
Because it's where important information gets distributed and discussed

Because a lot of important people are on it

It's the social media platform that is the least "managed" by PR. In other words, you're more likely to have the person from the profile actually using the app rather than PR. I could imagine Mark Cuban is sitting on the can writing his on tweets, which is not true for his other communications.

Because you can actually get paid if you produce a lot of engagement

Or was your comment more rhetorical? Because there are valid reasons someone would use it.

Do you think you're more likely to get your speech censored on Twitter compared to TikTok, Instagram, Reels, Facebook, Bluesky, etc? I don't get this hangup like "oh they lied about free speech" when literally every other social media platform is worse.
by gatorcode | 2025-04-14 13:25:27+00:00
I’ve been in your shoes. I found three options to work (in worst to best order): 1) I become an “overnight expert” at the expense of my work life balance and frankly the system architecture long term 2) Pushed back on management with tangible risks: a rough estimate to implement is XX and we are not confident in the solution so that could result in rework cost or worse long term scalability/maintenance cost. We propose outside (could be another expert on another team) consultation to close the risk gap. 3) We need to reassign resource X who is our most knowledgeable in adjacent tech, this takes them off feature Y and we will do a spike of duration Z to verify our approach.

When you do #3 enough your management will appreciate you using existing resources, providing the trade-offs, and you will also up skill that person.