MurphyA/hacker-news huggingface dataset:
by Aurornis | 2025-05-17 05:15:25+00:00
I finally had time to read the code. The patch is unnecessary because this functionality has been in llama.cpp since 2023 if I understand this PR correctly: https://github.com/ggml-org/llama.cpp/pull/4312

Instead of offering a forked llama.cpp with the changes applied as commits, the repo wants you to run an `install.sh` script which checks out the master branch of llama.cpp without specifying a revision, then applies a short patch to it. This alone should be a warning flag that something is amiss.

There are 4 different patch files in the repo and 1 extra version of the patch as a Heredoc embedded in the install script for some reason. The script has two different versions of code to clone the repo and attempt the patch, too.

The install.sh script overwrites one of the patch files with another patch file with this line:

> cp patch/split_kv_quant.diff patch/fixed_kv_patch.diff

So the `fixed_kv_patch.diff` that is checked into the repo gets overwritten before being applied.

As far as I can tell, this is therefore the patch it's supposed to use: https://github.com/dipampaul17/KVSplit/blob/main/patch/split... (EDIT: I think it's actually this one, see comment at the end: https://github.com/dipampaul17/KVSplit/blob/main/patch/fixed... )

The only thing it adds is a "--kvq" argument which is supposed to let you set K and V quantization at the same time, but immediately above it are the already built-in arguments for setting the K and V quantization separately. Surely the author must have noticed the functionality already existed at some point while shuffling these patches around?

I strongly recommend that people do not run shell scripts from new repos like this, especially when the shell script is so convoluted.

The HN post has 200+ upvotes and the GitHub repo has collected 200+ stars and climbing at this point, but I think the content is misleading. The flagged-to-death comment in this thread calling out the problem was actually correct. It's also concerning that the author continues to respond to this thread but is avoiding any questions about the functionality already existing.

EDIT: I misread the shell script. I think it actually applies this patch: https://github.com/dipampaul17/KVSplit/blob/main/patch/fixed... After applying the patch it mysteriously overwrites the fixed_kv_patch.diff patch with the split_kv_quant.diff file but then does nothing with it. I don't know if this is the result of vibecoding or just someone carelessly editing code, but I'll reiterate that nobody should run shell scripts like this from unknown repos.

EDIT 2: I'm even more confused now. The install.sh script references the old URL for the llama.cpp repo ( https://github.com/ggerganov/llama.cpp ) which now redirects because it was changed some time ago. The patches attempt to modify arg parsing in common.cpp, but that code was moved to arg.cpp 8 months ago ( https://github.com/ggml-org/llama.cpp/commit/bfe76d4a17228bf... ). So this install script and repo appear to be based on code from ~2024 using options added to llama.cpp in ~2023. What is going on here?
by socalgal2 | 2025-05-17 05:15:59+00:00
I'm clearly not Dustin Curtis. For me, so far, LLMs let me check my assumptions in a way that is why more effective than before which is to say, I didn't or rarely checked before. I'd have an opinion on a topic. I'd hold that opinion based on intuition/previous-experience/voodoo. Someone might challenge it. I'd probably mostly be shrug off their challenge. I'm not saying I'd dismiss it. I'd just not really look into it. Now I type something into ChatGPT/Gemini and it gives me back the pros and cons of the positions. It links to studies. Etc... I'm not saying I believe it point-blank but at least it gives me much more than I got before.
by MichaelNolan | 2025-05-17 05:21:40+00:00
> You keep subdividing until you have as many districts as needed. (Sorry, I don't remember the name for this, but it was the best option I could find when I last looked into this topic more than a decade ago.)

It's called the SplitLine Algorithm. Here is what 2010 US would look like under it - https://rangevoting.org/SplitLR.html - It has some issues. like grouping people who are far apart together. (i.e., someone in rural Colorado gets grouped in with someone in downtown Denver)

I was always a fan of the "compactness" criteria, where you draw the most compact (circle like) districts possible. Like this - https://bdistricting.com/2010/
by motorest | 2025-05-17 05:22:24+00:00
> Why would you expect that a new revision can't cause existing code to compile?

For staters, because that would violate the goals and prioritites of the C++ as established by the C++ standardization committee.

I could go on and on, but it's you who should provide any semblance of rationale: why do you believe existing software should break? What value do you see in it? Does it have any value at all?
by asdefghyk | 2025-05-17 05:23:06+00:00
Given link requires a subscription , so not readable.

Should mention Hamas shameful treatment of Gaza people. Are very prepared to sacrifice Gaza peoples lives , building terrorist instructure beneath hospitals and schools. Hamas must of spent $Billions of dollars UNSRWA aid on tunnel networks and military infrastructure. Money that was supposed to improve Gazians lives. Why is it no neighbouring country will allow Gazians to come there. Hamas has publically written they want to kill all from Israel. Do Gazians support Hamas? Its hard for me to believe that they would, but it seems so? Hamas was recently killing the few Gazians for objecting to what they are doing.
by socalgal2 | 2025-05-17 05:23:20+00:00
I am waiting for the day (maybe it's already here) when I can talk to an LLM to practice my 2nd language. It can correct everything I say, it can talk forever, it can challenge me to use new grammar or vocabularly. Note: I can speak all day in my 2nd language with friends but I wouldn't give a business presentation nor could I explain, as a native, how something technical works. If I watch a TV show I might understand 30%-99% but the more lawyers/military/goverment/science parts there are the more it's beyond my current level.

Getting exposure there is hard. Talking to friends just means more practice with what I already know but an LLM could help me practice things outside that area.
by e3bc54b2 | 2025-05-17 05:24:18+00:00
The worse part is not even being trolled at AI roundabout. The worse part is gaslighting by people who then go on to imply that I'm dumb to not be able to 'guide' the model 'towards the solution', whatever the fuck that means. And this is after telling me that model is so smart to just know what I want.

Claude and Gemini are pretty decent at providing a small and tight function definition with well defined parameters and output, but anything big and it starts losing shit left and right.

All vibecoding sessions I've seen have been pretty dead easy stuff with lot of boilerplate, maybe I'm weird for just not writing a lot of boilerplate and rely on well-built expressive abstractions..
by topspin | 2025-05-17 05:24:39+00:00
> javadoc

Indeed. Many languages have something similar to Javadoc, yet somehow I haven't encountered anything quite as good as Javadoc, and I can't explain why or exactly how it's better. I admit I haven't tried that hard either. But I suspect it's down to the nature of the language and how, with well designed libraries at least (and not all are, certainly,) there is a nice decomposition of modules, packages, classes/interfaces and methods that leads to everything somehow having a correct place, and the Javadoc just follows. The strong typing is another contributor, where 90% of the time you can just look and the signature and imply what is intended. Finally, the old-fashioned frames based HTML typically used with Javadoc is a great benefit.

Also, I've found I experience less reluctance to author Javadoc for some reason. Again, part of this is due to strong types, and much of the legwork being correctly generated in nearly every case.

Lombok, when used with moderation, is wonderful. Mockito is magic, of a good kind. Maven still gets it done for me; I've yet to care about any problems Gradle purports to solve, and I think that's down to not creating the problems that Gradle is designed to paper over in the first place.

Today, if I had my choice of one thing I'd like to see in Java that doesn't presently exist it's Python's "yield". Yes, there are several ways to achieve this in Java. I want the totally frictionless generators of Python in Java.
by mizzao | 2025-05-17 05:24:42+00:00
Apparently, he also attempted to create a fake website to try to cover his tracks, registering the domain on Jan 12 2025, potentially to try to show that Corning was the company he worked with. This drew a WIPO complaint whereby Corning compelled transfer of the domain name:

https://www.wipo.int/amc/en/domains/decisions/pdf/2025/d2025...
by miki123211 | 2025-05-17 05:26:24+00:00
Those colons are symbols, and (as a non-rubyist), yes, I think they were a bad idea.

Ruby symbols (and atoms in Lisp / Erlang / Elixir) are a performance hack, they are basically "interned" strings. They're immutable and are mostly used for commonly-repeated values, e.g. names of keyword arguments, enum values etc. Unlike strings, they're supposed to be treated as a single, opaque value, with no other properties beyond the name they represent. Most languages don't give you APIs to uppercase or slice symbols, though you can usually convert to strings and back if you really need to.

The performance advantage of symbols/atoms is that they're represented as pointers or offsets into a global pool, which contains their names. This means repeated instances of the same symbol take up much less memory than they would as ordinary strings, as each instance is just a single pointer, and the actual name it represents is only stored once, in the global pool. Comparing symbols is also much faster than strings, as two symbols representing the same name will always have the same offset, turning an O(n) character-by-character comparison into a simple O(1) comparison of pointers.

It's really strange to me that so many high-level languages, which prize themselves on "developer happiness" and "mental compression" force you to think about strings in this way, out of all things.

I think there's something to be said for having a single character that can be used to represent identifiers as strings. Giving your internal string type an interned representation (with automatic interning of literals and a method to intern arbitrary strings) is also an interesting idea, though I know far too little about interpreter design to have an opinion on how much performance difference it would make. Conflating those two ideas together just seems like a really bad deal to me.
by surgical_fire | 2025-05-17 05:27:16+00:00
They are a replacement if your job is only to write code.

Especially if your code contains a few bugs, misconceptions, and is sometimes completely unable to fix mistakes, going back and forth into the same wrong solutions.

This is not to say that AI assistants are useless. They are a good productivity tool, and I can output code much faster, especially for domains I am very familiar with.

That said, these starry-eyed AI circlejerk threads are incredibly cringe.
by rtpg | 2025-05-17 05:27:46+00:00
I feel like hiring juniors still exists, because I still hear about loads of "boring" small startups that do the "we hire juniors and seniors".

Juniors cuz they're cheap and motivated (and potentially grow into very good team members!), seniors to handle the trickier stuff. Mid-level people don't get picked up cuz there's enough junior pipeline that the cost-benefit doesn't work out.

Thing is these companies tend to have, say, college pipelines and the like for juniors. Internships and the like. It would be really painful to not have internships lined up at "your local startup" in this day and age.

My impression is that a lot of the junior dev pipeline is in smaller places that don't show up in job boards in the same way as the rest of it. Maybe that's dried up too, but I have my doubts.

You still need somebody to work the robot, even if the robot is "doing the coding"!
by bigiain | 2025-05-17 05:28:10+00:00
> but you never know when you need those extra handful of bytes of memory I guess...

I guess on all those crappiest of 32 bit devices with 2.6 based kernels (which are practically unupgradeable due to vendor patches[1]) which will never make it to 2100 to the "year divisible by 100" check, because their time_t overflows in 2038.

On the plus side, that overflow turns the date into 1901, so perhaps they won't actually blow up due to leapyear bugs for another couple of years? That'll be a fun vintage computing archeological bug fix for someone.

[1] I am at least partly responsible for one of these products from a failed hardware startup I work at in 2012/13.
by ifellover | 2025-05-17 05:30:24+00:00
Absolutely agree. I really pushed it last week with a screenshot of a very abstract visualisation that we’d done in a Miro board of which we couldn’t find a library that did exactly what we wanted, so we turned to Gemini.

Essentially we were hoping to tie that to data inputs and have a system to regularly output the visualisation but with dynamic values. I bet my colleague it would one shot it: it did.

What I’ve also found is that even a sloppy prompt still somehow is reading my mind on what to do, even though I’ve expressed myself poorly.

Inversely, I’ve really found myself rejecting suggestions from ChatGPT, even o4-mini-high. It’s just doing so much random crap I didn’t ask and the code is… let’s say not as “Gemini” as I’d prefer.
by uwemaurer | 2025-05-17 05:32:25+00:00
Always great to see efforts to make working with data frames easier. Here are some similar data frame libraries for Java:

https://github.com/jtablesaw/tablesaw

https://github.com/dflib/dflib

My preferred way is just use duckdb java API. I didn't see anything better in performance/efficiency. Also a SQL query is often easier to write
by rex_lupi | 2025-05-17 05:32:27+00:00
'Traditional british tv' has produced some of the best shows to be ever made. The writing, acting and production quality of the 70s-80s classic british shows surpasses anything being produced these days in 4k. Spent so many delectable hours watching old shows from that era, some of them quite obscure. Modern shows feel like mass-produced in an assembly line, devoid of what one would call 'class'.
by js8 | 2025-05-17 05:35:10+00:00
Has the quality of art gone down since art was invented? Or has the quality of the written text gone down since writing was invented? I think the answer is clear no.

Humans have been trained on "human-generated data" (cultural artifacts) for centuries, and quality is not down. AI is only an accelerator of this process, but there is nothing inherent in creating "artifacts" that would pollute the original training data.

If anything, we should be worried about destroying nature, because that's the original inspiration for human-produced artifacts.
by wkat4242 | 2025-05-17 05:38:14+00:00
> Microsoft can more easily collect and analyze usage data, helping them better understand how users interact with Outlook. This allows them to make improvements, troubleshoot issues, and tailor the product based on user behavior.

I truly doubt this.

The "new" outlook is so much worse than the real one. There doesn't seem to be any interest whatsoever in providing a good user experience. Until recently, if you started writing an email while connected, then jumped on a plane without connectivity and finished it, it would just disappear when you sent it. Apparently that has been solved but still many issues remain.

Microsoft clearly doesn't care how much we hate it. If they did they wouldn't have released a half finished product. Therefore metrics are not needed for improvement. So what is the real reason then? I think cloud lock-in and upselling. They already have all your emails even if you're not using their email services. They can easily provide an upgrade path in the future and then cross sell with the other stuff like OneDrive.

Creating dependency so the customer can't leave has always been their business model. Especially in enterprise, Microsoft keeps offering cheap alternatives for stuff we'd pay for separately. But in the end you're stuck in s swamp that sucks you in deeper and are unable to get out of. Also the quality is much worse than AAA solutions. But there always comes a manager who can't refuse the cost saving over a separate product.

Another reason is perhaps that they just want to sell your data. But that's not really Microsoft's MO. It's Google's.
by stevenhuang | 2025-05-17 05:39:11+00:00
I'd venture no.

In fact I wouldn't be surprised if this tainted information somehow enriches a dataset by providing an extra dimensionality for training specialized heuristics. Maybe this would turn out to be how LLM hallucination can be solved, through being able to accurately identify AI generated material, and as result, becoming more robust against both the identification and generation of nonsense.

Humans learn to discern what/who to best pay attention to via all manners of heuristics. I don't see in principle why LLMs (or something like it in the future) won't eventually be able to do the same.
by Aurornis | 2025-05-17 05:42:31+00:00
> A note, your install script appears to still have a placeholder at the "apply patch" step. A suggestion, might be more user-friendly to fork llama.cpp and then include that as a git submodule rather than make it a "git clone and apply patch" step.

The patch doesn't actually apply to llama.cpp because argument parsing was moved to arg.cpp 8 months ago.

That doesn't matter, though, because the options to set K and V quantization were added to llama.cpp in 2023.

I don't understand why the patch exists at all, other than as an attempt to make this look novel by changing the settings through a different command line argument?

I would strongly recommend that nobody run an install.sh file from a new repo like this, especially when it's not necessary for something as simple as applying a patch file.
Show HN: Thirdpen.app – An AI Interactive Leaning Platform
by abdulmuminyqn | 2025-05-17 05:42:58+00:00
Hi HN,

I've been working on Thirdpen.app, a platform designed to offer a different kind of learning experience with AI. Instead of just blocks of text, Thirdpen generates an interactive explainer to make learning visual, engaging and interactive.

The goal is to break down complex subjects with AI and make them easier to understand through visuals and interaction.

I'm sharing this to get your feedback on the learning experience itself:

- Is thirdpen able to really help you learn, or is it just a gimmick? - what are your thought on effectiveness of the interactive elements? - When you ask it to "explain x", is the initial interactive explainer in-depth enough?

Your thoughts on what could be improved and the effectiveness of the interactive elements would be really helpful.

Please give it a try at [https://thirdpen.app] and let me know what you think.

Thanks for your feedback
by miki123211 | 2025-05-17 05:44:12+00:00
In nn training, you often get better perf at lower cost by increasing the number of parameters than by increasing parameter accuracy. Not sure if we actually know why, but that is usually the case.

E.G. a 7B model at FP32 will perform worse than a 14B model at BF16, all else being equal.

FP32 -> BF16 is really good, because modern GPUs are actually far faster at BF16 multiplications than at multiplications in FP32, not to mention the decreased memory and memory throughput requirements. 4-bit quants are much more of a mixed bag. You get the memory savings, which often means a difference between a cheap consumer GPU and a much more expensive datacenter GPU, or a single GPU versus a node with multiple ones and all the interconnect that entails. Your raw speed won't improve as dramatically, as you still need to convert from BF16 and back to do the actual computation. BF16 would probably make you memory-bound anyway, and 4-bit effectively gives you more throughput, so you get some savings, but the difference won't be as dramatic.
by karencarits | 2025-05-17 05:45:28+00:00
It's difficult to assess how typical your experience is; I tried your initial prompt (`Write me a simple todo app on cloudflare with auth0 authentication.` on gemini-2.5-pro-preview-05-06) and didn't get any mentions of @auth0-cloudfare, although I cannot verify if the answer is working as-is

https://pastebin.com/yfg0Zn0u
by duttish | 2025-05-17 05:48:21+00:00
I've been using rust on and off for the last...ten years or so? A while before 1.0, before the?-operator and the compiler error messages have made such massive improvements it's almost ridiculous.

They used to be quite confusing and bad, these days I usually just fix what the compiler is suggesting and go about my day. It has massively lowered the threshold to becoming and staying productive.

I really don't want to go back to the template errors, and especially stl, of c++.
by roenxi | 2025-05-17 05:48:57+00:00
> You’d very much mind you got a cup of bull sperm or diarrhea.

Dear me. That got a good 5 minutes of chuckling out of me if you are aiming for humour. In the alternative I'm probably too far away to offer you a hug, but if you're having a bad day it might be a better bet to try going for a walk or some meditation rather than posting on HN.

> If I’m exchanging a promissory note that I can exchange for 1 barrel of wheat or 1lb of gold or whatever that’s barter through an abstraction.

The interesting implication of that is if you turn up at a foreign airport, change currency and buy a doughnut you couldn't be sure whether you're bartering or not until you've done some detailed analysis of the local legal system.

Either which way, if you want to call it barter through abstraction I can't stop you but we have a word for that - money. The reason most people use money is to abstract the bartering away whether they are in a fiat system or otherwise.
by grey-area | 2025-05-17 05:49:21+00:00
Generated AI content contains mistakes and hallucinations. Over time those mistakes will compound because GAI doesn’t consider truth or have a way of judging truth.

So yes, you can’t compare humans generating and picking influential content to AIs doing so.

GAI is a dead end IMO anyway we’ve seen much more success with machine learning, GAI is good for fooling humans into thinking they see glimmers of intelligence.
by sherdil2022 | 2025-05-17 05:50:13+00:00
Yes indeed! This is a tongue-in-cheek response and portends to what is going to happen to discussions - and also to our thought processes. I found it easier to ChatGPT it than spend time and think about what we should instead call AI. I don’t find the point these days to spend time or energy on something that I can ChatGPT away - and it kind of scares me.
by cyberax | 2025-05-17 05:53:08+00:00
ZWave is the most stable radio-based standard right now. It's not great, and it's not very extensible, but it's OK-ish. There's one hackable device: https://z-uno.z-wave.me/technical/ but its SDK is not that great.

Pure ZigBee is... spotty because there are no certification requirements. Matter is stuck in development hell, but is slowly getting better.

And the problem with WiFi is energy efficiency (or a lack thereof) compared to ZWave/ZigBee/Thread.

So far, I've tried probably most of the home radio standards. Lutron was the most reliable, but it's also super-proprietary. My next house will just have conduits with low-voltage cables running to all the light switches, so I can use something like KNX instead of the radio-based stuff.