MurphyA/hacker-news huggingface dataset:
by the_duke | 2025-05-08 05:55:18+00:00
Compilation / type checking depends on a lot of trees of typed data, and operating on those tree nodes. That's something where a statically typed language with custom data structures that allows for optimised representations makes a big difference, and where a lot of the fancy optimisations in v8 don't work so well.

There is a reason Typescript moved to a typed language.
by dmckeon | 2025-05-08 05:56:31+00:00
I agree. Here's a different perspective:

Bloated and crafted software - a rant:

The state of software is the state of the structures of primitive societies: some in cave shelters, some under roofs of sticks and leaves, some in mud huts.

We talk of Cathedral and Bazaar, but there are very few carefully designed Cathedrals of software, and those probably have plenty of barely hidden flaws.

The Bazaars are all around us, jammed together, spreading for miles and miles, tent walls and roofs billowing in the breeze, all awaiting a strong zephyr to carry many of them away, and leave most of the rest in ruins.

What software needs is building blocks. Bricks of uniform size, easily joined together. Concrete masonry units. Tilt-up walls. Trans-oceanic shipping containers (connex, seabox).

Solid, composable, engineered, units. We should be able to pull a well-known and heavily tested package or function to use, just like a contractor would call for a delivery of 200 8x8x16" CMU blocks, and be able to expect they will get just that, with no gaps, weak spots, or broken webs.

But, no , all of us software crafts-folk want to carefully create our very own artisanal version of whatever library functions, that are needed for the project at hand. In a world that could be made of solid concrete blocks, we are crafting our very own adobes, with our own special blend of straw and mud, and we think we have advanced far beyond the folks living in mud huts.

Some of us will say they are master masons, crafting cathedrals out of hand cut stones, each carefully measured and chiseled, and each stone unique. We're still duplicating effort when we could be using commercial off-shelf libraries. And all the while the project deadlines go zipping past as we try to craft our way to local perfection.

All I can suggest as a solution is a multi-government and multi-corporate effort to design and build fairly universal functions, libraries, and packages that are robust, exhaustively reviewed by humans, and tested thoroughly. I won't ask for provable correctness, yet. :-)

Would the result be an Ada on steroids? Depends on who is involved.

Choice of language should not matter. The APIs would matter, a lot. A few competing teams would be a possibility. Passing several existing functions to an AI, with a "do like these, only perfectly" might be useful, or useless.

And yes, then we would have 15 competing standards. https://xkcd.com/927/ (Well, we probably already have at last 1,500, so, go figure.)
by pembrook | 2025-05-08 05:58:40+00:00
The fact that rich engineers on hacker news would be flirting with bolshevism as their ideology is just endlessly funny to me. I know it’s just people parroting the emotional “vibe” of their political tribe on any given day, but it’s so ironic.

Beyond the obvious moral decay of cheering on murder at all, and the fact you’re in the privileged class of the richest nation on earth, the idea of targeting the replaceable middle managers of said system is so silly. As if committing random acts of terrorism will somehow force Americans to democratically design a better system? Fear is just another recipe for more ballooning costs (see the TSA).

I guess I find this so amusing because leftists love to fetishize European healthcare without understanding in European countries the government is much more aggressive about denying care than any US insurer. They actually have to keep costs sane for their system to continue existing.
by hapticmonkey | 2025-05-08 05:59:59+00:00
It's sort of sad how these tools went from "godlike new era of human civilization" to "some commodity tools for marketing teams to sell stuff".

I get that they are trying to find some practical used cases for their tools. But there's no enlightenment in the product development here.

If this is already the part of the s-curve where these AI tools get diminishing returns...what a waste of everybody's time.
by mitechworld | 2025-05-08 06:01:35+00:00
As a solo-founder of https://flowyBoard.com, I've used heavily Cursor and chatgpt. My app is very heavy on the front-end side and especially css animations. Here is my conclusion, Cursor is very good duplicate and extend your current structure in the project. So in the beginning you need to be careful about the solutions suggested by Cursor. When the problem is deep, you have to do tests and ask cursor multiple times to reform it. Chatgpt is good when the problem is deep and you know which part of the code is the problem.
by franze | 2025-05-08 06:02:05+00:00
I use thisismy and thisismy-desktop to combine code - full repos + and specifications as Megaprompts into the LLM - mostly currently Gemini 2.5 Pro as we are talking ~500k tokens

full files, JIRA tickets with is/should, DRY/KISS refactorings and root cause analysis are done this way

full files are usually just copy/pasted, everything else added for cursor as in insttuctions
by extr | 2025-05-08 06:02:49+00:00
To answer your question directly "it depends". There are a lot of different subtasks to coding. Defining requirements, sketching/discussing architecture, coming up with a technical plan, executing it, creating tests, etc. Different interfaces are better at different things. Cursor/Windsurf agentic flows can be great at well defined tasks that are directly actionable within the abstractions of the existing codebase. If you want to build new things, you need to be a little more methodical, and this can mean using chat interfaces to have a dialogue with AI.

I use RepoPrompt [0] + Cursor Tab Complete (since it's easily the best on the market), but I don't use the in-IDE cursor/windsurf agentic flows unless I have a small task I need doing where I can describe it perfectly. RepoPrompt is an underhyped context selection tool that includes

- A prompt formatter so you can easily dump it + prompts into chat windows

- A built-in diff format prompt template that gets auto-inserted so you can auto-apply the resulting changes.

- A unique "Chat" mode that's an API frontend for multi-turn conversations with dynamic code context, templated prompting, etc.

- An incredible "delegate edit" feature where the results of your conversation get sent to cheaper/smaller LLMs to actually enact. The cost savings and increase in coherency are unreal. It's not unusual for a single turn to generate something like 50 specific edits across a dozen files that are completely coherent.

Right now my main workflow is to discuss architecture with a context dump + prompt to o3, settle on a solution, build a PRD, give that to 2.5 Pro to create a more granular plan, make edits, then send it back to 2.5 Pro to delegate edits to Flash 2.0/DeepSeekV3/o4-mini. Not unusal to see it produce 20-50 edits across a dozen files with perfect coherency. Any fixups or minor things I do in cursor.

There are also the CLI agentic code tools. I find claude code to be like a more powerful version of the cursor agent flow. They're great for directed tasks that involve a lot of exploration, like understanding how you need to integrate with some submodule on the other side of the codebase.

[0] https://repoprompt.com/
by brrrrrm | 2025-05-08 06:02:59+00:00
> When using least squares, a zero derivative always marks a minimum. But that's not true in general ... To tell the difference between a minimum and a maximum, you'd need to look at the second derivative.

It's interesting to continue the analysis into higher dimensions, which have interesting stationary points that require looking at the matrix properties of a specific type of second order derivative (the Hessian) https://en.wikipedia.org/wiki/Saddle_point

In general it's super powerful to convert data problems like linear regression into geometric considerations.
by fhd2 | 2025-05-08 06:04:03+00:00
I settled on gptel, which is an LLM package for Emacs. It's kind of a mix of both approaches:

1. You have chats right there in the editor, easy to copy/paste and manage context/history without switching to a browser. You can also quickly add files or portions of files to the context or remove them again.

2. You can choose which model you want to use for what, granted you have an API key.

3. You can quickly highlight some code and ask for a change to it, which along with managed context is powerful.

I tried auto complete again and again but it doesn't work for me. At first I think "yeah, that's what I wanted to write", and then I have to look closer to realise it's not, and that completely breaks my flow and concentration. I can always write some pseudo code and proactively convert it to real code, I like to be in the driver seat.

Context management is really central to my workflow, I manage it like a hawk. Models tend to deteriorate as context content increases, in my experience, so I really try to keep it narrow.

For that reason, and because our clients didn't sign up for their code to be sent to Anthropic et al, I _mostly_ use models like I would use StackOverflow, not to generate non-trivial code I'd actually use.

But having the chats in my editor is really invaluable for me. Powerful text wrangling features make a difference in both speed and motivation.

I use it pretty heavily with pretty much only the high-end models and pay about $15 per month.
by jemmyw | 2025-05-08 06:05:42+00:00
I've been using cline and RooCode with vscode. It's significantly better than copy pasting. I work in a quite large codebase that has several different areas, and these AI tools are really good when I get a task in an area I'm not very familiar with, they'll perform searches and write a plan telling me where to start. I feel like I would do a similar job, but it can do it faster and will always do a comprehensive search and double check, where I might get lazy and jump in the first place that looks right.

Much more hit and miss for actually writing code. Sometimes it works.
by davgoldin | 2025-05-08 06:05:53+00:00
FDB seems to outperform, and out-scale most, if not all?

According to an old report, FDB can do around 75k transactions per core [0].

MySQL on same CPU (all cores) can do about 8k [1].

[0] https://apple.github.io/foundationdb/performance.html

[1] https://www.anandtech.com/show/8357/exploring-the-low-end-an...
by AlecSchueler | 2025-05-08 06:05:57+00:00
> If companies have too much influence, that can be changed.

So far it seems that it can't as long as these companies are using investors' money to lobby various governments.

> investors in oil companies are not "responsible" for warming – our consumption is.

Many people would happily use alternatives to lessen the impact of their consumption but there are companies more powerful than them trying to influence and limit their options.
by SequoiaHope | 2025-05-08 06:07:01+00:00
I did not write the production code but I imagine they are tracking the velocity and acceleration vectors using a kalman filter and lighting up the lights when acceleration is negative in the direction of travel. By tracking the velocity vector in addition to acceleration one can eliminate the effects or the driver turning their head. I.e you are not just looking for a specific accelerometer axis to go negative, you have to use a more complex filter to determine the actual physical direction of travel of the device even as it rotates, and check for negative acceleration in that direction. To learn more:

https://github.com/adafruit/Adafruit_AHRS

https://learn.adafruit.com/how-to-fuse-motion-sensor-data-in...
by danaos | 2025-05-08 06:07:17+00:00
I went from early bitcoin adopter to early bitcoin skeptic and despite missing most of the gains I have no regrets. During the early days the crypto space was concentrated to small online communities. People were mostly interested about the technology and the talk of price was limited, in the context "mass adoption". Nowadays it's about the price and the memes. Add to that the money laundering, energy waste and these abductions. Too many smart people work on these pointless projects instead of useful tech that benefits society.
by aussieguy1234 | 2025-05-08 06:07:33+00:00
I do this to copy files into the chat

`cat file.js | xclip -sel clip`

On Linux, this copies the whole file to the clipboard and I can paste it in.

This is considerably faster than using the mouse.

I can also get a code review done by getting the diff `git diff develop..feature/my-branch | xclip -sel clip`
by ninetyninenine | 2025-05-08 06:07:37+00:00
It is a good idea because it's the most fundamental idea.

You have two objects. A and B. How do you merge the two objects? A + B?

The most straight forward way is inheritance. The idea is fundamental.

The reason why it's not practical has more to do with human nature and the limitations of our capabilities in handling complexity then it has to do with the concept of inheritance itself.

Literally think about it. How else do you merge two structs if not using inheritance?

The idea that inheritance is not fundamental and is wrong in nature is in itself mistaken.
by lmm | 2025-05-08 06:08:31+00:00
> If you take the time to invest in a proper REST API first, odds are the endpoint may already exist, and you may not need to wait for a new backend build; not investing in a custom endpoint for every frontend change unless real-world performance requirements actually dictate it. You get tooling that is more mature and easier to maintain as a result, makes it easier for Product to experiment (remember: not forcing a backend change for every frontend change)

If it's a giant system where your backend/frontend/product teams are separate, maybe - but even then, they can run any custom queries they want on non-prod instances, so it's easy to do internal testing, and always including backend deployment when you do a prod release is not a huge burden.

I still think there's never going to be an advantage to doing N+1 queries - there might be cases where the performance difference doesn't matter, but an endpoint that returns precisely what you want would always be better if you could get it for free. And you can't really set up "aggregating" endpoints ahead of time, unless you pre-emptively create all N*N possible combinations, and that's going to go against having a "clean" normalised set of REST endpoints. Just like in a database schema, there's value in having every individual endpoint orthogonal and then doing the joining at query time, at least for a system under active development where you want to try new things without redoing your whole dataflow.

> not using a fad-of-the-month just because it came out of a FAANG.

I don't think it's a fad at this point - graphQL has been around for 10 years, the systems I've worked on have been using it successfully for about 5, and the design is built on what the likes of Thrift and gRPC were already doing where possible. There are, as you pointed out, multiple library implementations for many languages. It's popular because it works.
by rakejake | 2025-05-08 06:08:58+00:00
IMHO Inheritance (especially the C++ flavored inheritance with its access specifiers and myriad rules) has always scared me. It makes a codebase confusing and hard to reason with. I feel the eschewing of inheritance by languages such as Go and Rust is a step in the right direction.

As an aside, I have noticed that the robotics frameworks (ROS and ROS2) heavily rely on inheritance and some co-dependent C++ features like virtual destructors (to call the derived class's destructor through a base class pointer). I was once invited to an interview for a robotics company due to my "C++ experience"and grilled on this pattern of C++ that I was completely unfamiliar with. I seriously considered removing C++ from my resume that day.
by oezi | 2025-05-08 06:09:53+00:00
> is effectively free right now using my own API key for Gemini.

I think the cost is/was a big factor preventing many from switching from Chat-based coding to Cline/Cursor/Aider.

For my hobby projects I don't want to spend 3 USD to get some assistance which I can get for free through a monthly subscription (and some extra pasting).

Google is smart to offer a free use tier on API-usage which seems enough for agentic coding.
by muzani | 2025-05-08 06:10:10+00:00
A lot of the younger (recently ex colonial) nations actually had an agricultural/industrial revolution quite recently. Someone had a grandfather who lost the land of his ancestors to farming machines and vowed revenge. The attitude here is tech is a weapon and it's meant to take jobs and land. Who cares how much water or energy it uses; it's all ammunition. If I don't use it to take someone else's job, they'll use it to take mine.

If you read Robert Greene books, they have a twist ending like "the child who killed his uncle was Ivan the Terrible" or "the British underestimated Afghan pride". I feel like this idea might have a twist ending as well.
by const_cast | 2025-05-08 06:10:18+00:00
In my experience in enterprise code nothing really matters except the DB. From a performance perspective. The amount of compute you can save in application code is peanuts next to a poorly written query or worse, a poorly designed data model.

I've seen code take 10 minutes (yes, really) to complete a request. Naturally that's 99.99% database time. The application code, which was C++, was nothing. If we switched to Java or even Python nobody would notice.

What made that request so bad was so simple, too. No pagination, no filtering. Instead, it was done in the application code. Yes, really, grabbing hundreds of thousands of rows and then filtering them in for loops and returning less than 100. Original code written who knows when (our source control only went back to 2011 so it's anyone's guess). Probably at some point grabbing all the rows didn't really matter. But then the table grew and grew and I'm sure it's scope grew, too, and suddenly the performance was unbelievably bad.

Anyway, if you can write half decent SQL you're already leaps and bounds ahead of most backend developers. Half of backend developers avoid SQL like the plague, and it leads to doing SQL-like things in application code, which is just asking to start a fire in the server room.
by josephg | 2025-05-08 06:10:31+00:00
> The bottom line is, no one ever really used inheritance that much anyway

If you think that, you have no idea how much horrible code is out there. Especially in enterprise land, where deadlines are set by people who get paid by the hour. I once worked on a java project which had a method - call a method - call a method - call a method and so on. Usually, the calls were via some abstract interface with a single implementor, making it hard to figure out what was even being executed. But if you kept at it, there were 19 layers before the chain of methods did anything other than call the next one. There was a separate parallel path of methods that also went 19 layers deep for cleaning up. But if you follow it all the way down, it turns out the final method was empty. 19 methods + adjacent interface methods all for a no-op.

> The bottom line is, most people don't have any original opinions at all and are just going with whatever seems to be popular.

Most people go with the crowd. But there's a reason the crowd is moving against inheritance. The reason is that inheritance is almost always a bad idea in practice. And more and more smart people talking about it are slowly moving sentiment.

Bit by bit, we're finally starting to win the fight against people who think pointless abstraction will make their software better. Thank goodness - I've been shouting this stuff from the rooftops for 15+ years at this point.
by tikotus | 2025-05-08 06:10:40+00:00
I mainly use chat(GPT). I used copilot's free tier for a while. For making a quick low effort webpage with some nice styling it worked well. Probably better than chat, since it could touch all css, html and JS that are sprinkled around in different files. But that's not my main job. Overall, I think my work is mainly "deep" problem solving. I don't necessarily produce much code per day. The chat is a helpful aid for thinking, copilot not as much.

Another thing I've noticed is that writing the code myself has often a net longterm benefit. For a while I was generating all kinds of python scripts for converting data between formats etc. I'm not good with python, but LLMs are, so I just used that. Until I ran into a wall too many times. Eventually every "temporary script" kept growing until LLMs could no longer provide what I wanted, and then I was stuck. I would have to go through the whole code from start and internalize it fully to be able to get the thing done. I would have saved time doing it myself from the start. So now I mainly use the chat just to ask about available functions, syntax, etc, but rarely use the generated code. IDEs are not great for this kind of approach in my experience.
by cwegener | 2025-05-08 06:12:52+00:00
I think the Coplit plugin is probably the closest thing to an AI IDE that actually works. As per my other comment, I don't actually use any IDE to begin with, but one of my coworkers who uses VSCode has been very fond of the latest iteration of the Copilot plugin.

From your description of how this plugin works, I see why it works so well. It is basically just focusing on the essentials (populating the appropriate context) and then does as best as it can to get out of the way ( <- this part is really important I think)
by motorest | 2025-05-08 06:14:13+00:00
> And if the kid can't do that at a 3rd grade level at the end of 3rd grade, isn't it much better to have them repeat 3rd grade than to push then into 4th grade and hope something changes?

That's besides the point, and orthogonal to the discussion. If after 3 years a school system failed to teach kids how to read, that represents a failure of the school system. If a school system feels the need to hold kids back so early in hopes that subjecting them yet again to the same school system that already failed them will somehow improve outcomes, this means the same school system is not investing in fixing the real problem.

This is like buying bad tires. If a tire blows up, you can argue all you want that changing the tire is much better than keeping a flat tire on. But the root cause is that the tire blows up, isn't it? Changing a bad tire with yet another bad tire won't fix the problem, will it? The tire you just added will easily blow up again, and everyone else buying those tires will go through the same problem.

I repeat, advocating for holding kids back and even rejecting underperforming kids from the school system is a Hallmark of a deeply broken, unsalvageable system. The only purpose of these approaches is to falsify the actual quality of the work performed by the school system, and generating fraudulent statistics of success at the expense of throwing kids under the bus.
by stonogo | 2025-05-08 06:15:14+00:00
'Freeway' is a regional term, but the Federal Highway Administration describes them as limited-access with directions of travel separated by a barrier.

https://www.fhwa.dot.gov/planning/processes/statewide/relate...

The Federal definition of highway is basically any public road.

https://www.ecfr.gov/current/title-26/chapter-I/subchapter-D...