MurphyA/hacker-news huggingface dataset:
by nirw4nna | 2025-06-18 22:05:20+00:00
Thanks! To be honest, it started purely as a learning project. I was really inspired when llama.cpp first came out and tried to build something similar in pure C++ (https://github.com/nirw4nna/YAMI), mostly for fun and to practice low-level coding. The idea for DSC came when I realized how hard it was to port new models to that C++ engine, especially since I don't have a deep ML background. I wanted something that felt more like PyTorch, where I could experiment with new architectures easily. As for llama.cpp, it's definitely faster! They have hand-optimizing kernels for a whole bunch of architectures, models and data types. DSC is more of a general-purpose toolkit. I'm excited to work on performance later on, but for now, I'm focused on getting the API and core features right.
by klik99 | 2025-06-18 22:05:24+00:00
This article assumes people are primarily accessing these things at home. Maybe for most apps / websites that’s appropriate but people access these things internet on phones in places where connections can be spotty, and it’s very frustrating to be driving through a dead zone and have apps freak out.

I hope people making apps to unlock cars or other critical things that you might need at 1am on a road trip in the middle of nowhere don’t have this attitude of “everyone has reliable internet these days!”

Concrete example: I made an app for Prospect Park in Brooklyn that had various features that were meant to be accessed while in the park which had (has?) very spotty cell service, so it was designed to sync and store locally using an eventually consistent DB, even with things that needed to be uploaded.
by 3836293648 | 2025-06-18 22:05:33+00:00
The only way to avoid it is to be on linux with no_std, use musl statically or be on embedded. You cannot (or at least are supposed to not be able to) link to glibc statically and on every other OS you can only call syscalls via the system libraries. (Well, technically you can on most systems, it's just not stable across updates. OpenBSD will actively block it though)
by jaimefjorge | 2025-06-18 22:06:13+00:00
Hi Brian. Thanks!

I think at first glance we try to establish a strong bond between what’s running in the IDE with our CLI and what tool configs you have running on the cloud in Codacy. We spend a lot of time on coding standards, gates, and making all the tools that we integrate (which seems to be pretty comparable to qlty - we do have our own tools right now for example for secret scanning) run well with good standards for large teams. We also have an MCP server and we found that tying code analysis with code agents is not trivial so I think that’s also something different. Beyond that, DAST + Pen testing, etc. We’ve become a full-on security company and that’s been our focus.

We do and we’re looking into it. It really started for us when we launched an MCP server.
by rjpower9000 | 2025-06-18 22:06:16+00:00
I'm the author. That's a great idea. I didn't explore that for this session but it's worth trying.

I didn't measure consistently, but I would guess 60-70% of the symbols ported easily, with either one-shot or trivial edits, 20% Gemini managed to get there but ended up using most of its attempts, and 10% it just struggled with.

The 20% would be good candidates for multiple generations & certainly consumed more than 20% of the porting time.
by zrm | 2025-06-18 22:07:03+00:00
> multiple world routeable IPv4 addresses

It's pretty rare that you would need more than one.

If you're running different types of services (e.g. http, mail, ftp) then they each use their own ports and the ports can be mapped to different local machines from the same public IP address.

The most common one where you're likely to have multiple public services using the same protocol is http[s], and for that you can use a reverse proxy. This is only a few lines of config for nginx or haproxy and then you're doing yourself a favor because adding a new one is just adding a single line to the reverse proxy's config instead of having to configure and pay for another IPv4 address.

And if you want to expose multiple private services then have your clients use a VPN and then it's only the VPN that needs a public IP because the clients just use the private IPs over the VPN.

To actually need multiple public IPs you'd have to be doing something like running multiple independent public FTP servers while needing them all to use the official port. Don't contribute to the IPv4 address shortage. :)
by KronisLV | 2025-06-18 22:07:24+00:00
That is amusing but I remember HikariCP in an older Java project having issues with DB connections against an Oracle instance. Thing is, no settings or debugging could really (easily) narrow it down, whereas switching to DBCP2 both fixed whatever was the stability issue in that particular pairing, as well as has nice abandoned connection tracking too. Definitely the quick and dirty solution that still has good results.
Ask HN: Has Google Weather forecasting changed?
by windyshrimp | 2025-06-18 22:07:49+00:00
I often google "[city] weather" but have been getting results that are very different from what other sources (such as weather.com) give.

Checking Palo Alto for today, there is a 10 degree fahrenheit difference of 74 vs 84.

I noticed it first last week and since then, Google Weather has been consistently forecasting colder by >5 degrees.

Checking the forecast for Chicago for the upcoming week shows similar results. Comparing google weather to weather.com, accuweather, and wunderground, google weather's high is always colder by >5 degrees.

Anyone know what the methodology is or a reason for this discrepancy?
by moate | 2025-06-18 22:08:00+00:00
I mean, that's a weak evolutionary argument against all forms of predation/prey. It assumes a level of cultural/shared knowledge that doesn't typically exist. Also, size =\= intelligence/problem solving. Chimps and humans are both smarter than gorillas.

Yes, troop 1 of monkeys have learned about the monkey-eating plants that have evolved overnight, but troops 2-10 haven't. Eventually troop 1 leaves the deadly forest, and troop 2 comes in. After a few seasons, they notice these fucking plants keep eating their babies (again, most predators go after babies for the reason you mentioned, they haven't learned how to avoid death yet) and then they move on. Repeat for several centuries. Behold nature in all its splendor.

I like the article's ideas: If you can grow large enough to eat a person, you're getting enough nutrition that you don't need to eat a person.
by kybernetikos | 2025-06-18 22:08:41+00:00
It's a bit surprising to find so little in these comments and the original review talking about the youth first laptop use-case. Lots of schools require a touch screen, and kids are going to break parts even on a fairly rugged laptop.

All these people talking about MacBook Airs are missing the point. None of the schools around me have MacBook Airs as allowed laptops for kids BYOD and even if they did, I'm not sure they'd have a long life getting the kinds of hits and knocks that will happen being carried everywhere in high school by a 12 year old.

This laptop is obviously for this use case. I know of no other laptop that really covers this use case well. Typically laptops aimed at this segment are cheaper, but not rugged, not easy to repair, and not really very nice. I strongly suspect that I'll only have to replace the screen or keyboard once before the total cost of ownership works out compared to a normal laptop.
by jaimefjorge | 2025-06-18 22:09:14+00:00
Hi there. Yes, the extension, the cli and the MCP server are open source.

The local analysis can run locally in a sandboxes environment (provided you download the dependencies and tools etc).

Only if you want to then use our cloud scans, or let your coding agent interact with data from Codacy, then you’d need the MCP server connecting to our API.
by caned | 2025-06-18 22:13:13+00:00
I've found adherence to C++ conventions in low-level software to be a rather contentious issue, mostly recently when working in an ML compiler group. One set abhorred the use of macros, the other any kind of polymorphism or modern C++ feature.

Coming from a background of working with OS kernels and systems software, I don't mind the kind of explicit "C++ lite" style used by the OP. Left to my own devices, I usually write things that way. I would think twice if I was trying to design a large framework, but ... I try to avoid those.
by furyofantares | 2025-06-18 22:14:19+00:00
I've noticed I tend to word things in a way that implies the opposite of what I want it to. The obsequiousness is very obnoxious indeed.

But I think the bigger reason arguing doesn't work is they are still fundamentally next-token-predictors. The wrong answer was already something it thought was probable before it polluted its context with it. You arguing can be seen as an attempt to make the wrong answer less probable. But it already strengthened that probability by having already answered incorrectly.
by nirw4nna | 2025-06-18 22:14:23+00:00
You are absolutely correct! I started working on a sort of compiler a while back but decided to get the basics down first. The templates and switch(s) are not really the issue but rather going back and forth between C & Python. This is an experiment I did a few months ago: https://x.com/nirw4nna/status/1904114563672354822 as you can see there is a ~20% perf gain just by generating a naive C++ kernel instead of calling 5 separate kernels in the case of softmax.
by socalgal2 | 2025-06-18 22:15:35+00:00
I think it depends on the book.

I'm actually thinking of movies though. I watched Casablanca in my early 20s and it did nothing for me. I watched it again in my 50s and cried so hard my whole body shook. The difference was life experience. I knew what they were giving up. Something I had no experience with in my early 20s

I suspect some books have a similar issue.
by zeta0134 | 2025-06-18 22:15:51+00:00
And the counter is fairly straightforward: any client-side cheat detection has been broken. You can't trust the client. It doesn't work, your server just thinks it works because it's lying to you now.

Client-side cheat detection can work for tournaments, but it's way simpler there: the tournament provides the hardware, and the players aren't permitted to install anything. This doesn't irritate me quite as much from a security perspective of course, because I am not about to log into my banking site on the presumably insecure tournament device. It's also imperfect: a sufficiently motivated pro player might bypass whatever locks you installed on the thing, especially if they get to spend any time with that device unmonitored.

Even better than that, tournaments have a way better cheat detection method anyway: point a camera at the player's hands. It's suddenly really, really obvious if they're cheating!
by rkp8000 | 2025-06-18 22:15:54+00:00
A notable and interesting point of this article is that convolutions and correlations (convolutions without flipping the filter) are quite a bit more subtle on the sphere than on Cartesian spaces. For a convolution between a function and a filter on R^N you just "slide" the filter around, integrating at each shift, which produces another function on R^N. On a sphere, however, there is not a clear cut way to slide a filter around a sphere. For instance, there are multiple ways to slide a filter centered at the north pole to the south pole, which will result in different filter orientations.

More generally, the space of rotations, which is the argument of the convolution (analogous to the shift amount being the argument of a standard convolution), is 3D (3 Euler angles), whereas the space of points on the sphere is 2D (polar and azimuthal angles). Thus, whereas convolution over R^N returns a function over R^N, convolution over the sphere actually returns a function over the 3D rotation group SO(3). This has interesting consequences for e.g. the convolution theorem on the sphere, which is not as clear cut as simply rewriting the standard convolution theorem in spherical terms.
by hughw | 2025-06-18 22:16:05+00:00
thanks for that link.

if you are HIV negative, have had anal or vaginal sex in the past 6 months, and:

Have a sexual partner with HIV (especially if the partner has an unknown or detectable viral load), or Have not consistently used a condom, or Have been diagnosed with a sexually transmitted infection (STI) in the past 6 months.

This is a very, very high number of candidate patients! Anyone who inconsistently uses a condom. "During 2011–2015, 14.8 percent of women and 19 percent of men aged 15–44 reported that they used a condom ‘every time’ they had intercourse in the past 12 months,” the NCHS team wrote in their report." [1]

[1] https://www.nbcnews.com/health/health-news/third-u-s-men-use...
by Eridrus | 2025-06-18 22:17:17+00:00
This is a very cynical read of the data. Most of the companies discussed here are still too early to have an exit.

If you look at the early batches (which are the only ones where all the companies are dead or exited), then more than half of them got to an exit.

And looking at all the companies, only 13% have failed so far, compared to 10% with exits. And failures generally come way before exits, so the data is incredibly biased if not taken on a cohort basis.

I disagree that acquisitions are rarely lucrative. I have been part of several and they have both been good for rank and file (me).

> the idea rarely matters. ideas are free. execution is king.

This is true at the earliest stage where the idea is very fungible. And execution always matters, but there are people out here working on the 50th Travel Booking Assistant who you should not go and work for. If the idea didn't matter, YC wouldn't ask about it.

> your resume quickly becomes uninteresting (ye olde 1 year of experience 5 times problem)

Nobody is forcing you to spend your entire career doing 1 year stints.
by DamonHD | 2025-06-18 22:17:22+00:00
I don't think it's dogfooding if you don't test your stuff as a customer would experience it. For example, do dogs eat it cold but you only heat it hot and smothered in spices?

I attempt as I did way back in the '90s to ensure that a page will load in a bearable time over a nominal 9600 baud modem (~1kBps), and that the first packet window over TCP will contain some useful readable information. (All complicated by TLS handshakes and so on.) And I try not to rely for anything important on any very new features (eg CSS, HTML) so older cheaper hardware will still work.

My main site's home page works reasonably well on the emulator for the very first (CERN) browser, though the <img> tag had not yet been invented, so no images showed!
by gausswho | 2025-06-18 22:17:52+00:00
Calculus is advanced mathematics and absolutely not the end goal of algebra. It used to be taught at university level but its utility to other sciences (and toys of war) got it shoehorned into the high school curriculum at the expense of other maths and logic.

So many high school students tragically treat it as a litmus test, bounce off it and as a result suspend their dreams of higher education. It is the epitome of sacrificing education for occupational goals. If you don't intend to pursue applied science it is almost worthless forced masochism.

Disclaimer: I have a bachelors in pure mathematics.
by comex | 2025-06-18 22:18:14+00:00
Interesting! But there’s a gap between aspirations and what was accomplished here.

Early on in the blog post, the author mentions that "c2rust can produce a mechanical translation of C code to Rust, though the result is intentionally 'C in Rust syntax'". The flow of the post seems to suggest that LLMs can do better. But later on, they say that their final LLM approach produces Rust code which “is very 'C-like'" because "we use the same unsafe C interface for each symbol we port”. Which sounds like they achieved roughly the same result as c2rust, but with a slower and less reliable process.

It’s true that, as the author says, “because our end result has end-to-end fuzz tests and tests for every symbol, its now much easier to 'rustify' the code with confidence". But it would have been possible to use c2rust for the actual port, and separately use an LLM to write fuzz tests.

I'm not criticizing the approach. There's clearly a lot of promise in LLM-based code porting. I took a look at the earlier, non-fuzz-based Claude port mentioned in the post, and it reads like idiomatic Rust code. It would be a perfect proof of concept, if only it weren't (according to the author) subtly buggy. Perhaps there's a way to use fuzzing to remove the bugs while keeping the benefits compared to mechanical translation. Unfortunately, the author's specific approach to fuzzing seems to have removed both the bugs and the benefits. Still, it's a good base for future work to build on.
by rjpower9000 | 2025-06-18 22:18:52+00:00
It seems feasible, but I haven't thought enough it. One challenge is that as you Rustify the code, it's harder to keep the 1-1 mapping with C interfaces. Sometimes to make it more Rust-y, you might want an internal function or structure to change. You then lose your low-level fuzz tests.

That said, you could have the LLM write equivalence tests, and you'd still have the top-level fuzz tests for validation.

So I wouldn't say it's impossible, just a bit harder to mechanize directly.
by MoonGhost | 2025-06-18 22:21:26+00:00
> but I think that Durov was pressed for enabling backdoors for CIA when he was arrested in France.

Durov was pressed from every side from the beginning, no doubts about this. But CIA or FSB cannot demand it legally even with secret court orders. There were news that since arrest in France he started providing some info on criminals. Not sure how far did he go. But it's good to know that Whatsup is fully cooperating with governments even when they don't have to. Putting people at risk.

As for smartphones, there are so many security holes that it's impossible to secure. Many harmless applications are calling home, pictures are geo-targeted, cell towers can request info from connected phones, every update can turn OS or app into trojan. If infected it's a perfect audio and video collection device. Put together with soldiers' IDs it shows where the unit is. Add to that CIA and alike working with weakening everyone's security and getting priority access to sensitive information.
by bccdee | 2025-06-18 22:22:15+00:00
Also, a poorly designed test suite makes your code base extremely painful to change. A well-designed test suite with good abatractions makes it easy to change code, on top of which, it makes tests extremely fast to write.

I think the whole idea of getting LLMs to write the tests comes from a pandemic of under-abstracted, labour-intensive test suites. And that just makes the problem worse.
by jongjong | 2025-06-18 22:23:08+00:00
I suspect it's because the average code online is flawed. The flaws are trained into LLMs and this manifests as an error rate which compounds.

I saw some results showing that LLMs struggle to complete tasks which would take longer than a day. I wonder if the average developer, individually, would be much better if they had to write the software on their own.

The average dev today is very specialized and their code is optimized for job security, not for correctness and not for producing succinct code which maps directly to functionality.
by leoh | 2025-06-18 22:23:25+00:00
It’s okay. Complaints are documentation, limited community support (all kinds of architecture is much more diy for it vs PyTorch).

Unrelated gripe: they architected it really poorly from a pure sw pov imo. Specifically it’s all about Python bindings for C++ so the py/c++ layer is tightly coupled both in code and in the build system.

They have a huge opportunity to fix this so, for example, rust bindings could be (reasonably trivially) generated, let alone for other languages.
by JumpCrisscross | 2025-06-18 22:24:02+00:00
> If (Russian ally) Delhi tried a decapitating strike on (US ally, ruled by US patsies) Pakistan we'd loose our shit

We'd be irritated if we weren't consulted, but not much more than that. India isn't a whole-hog Russian ally, they just buy weapons from Russians among others. (Increasingly, others.)

Note, for instance, how the U.S. is keeping an arms length from the ongoing Indus waters dispute. Or how the U.S. across two administrations has basically turned a blind eye to India importing Russian and Iranian oil while threatening secondary sanctions when China does the same thing.

Also, I said render-safe operation. Not a decapitating strike. The former is what Israel has so far done. Even Trump objected to the latter in Iran (so far).

> when has Iran behaved irrationally?

Continuing to arm the Houthis after they targeted U.S. warships was dumb. Hell, the entire proxy war through terrorist organisations nonsense is dumb; the proximate cause of this entire mess is Hamas and the Sinwar brothers' October 7th genius move.

None of that is a reason for America to go to war with the IRGC. But it's a good reason for treating them differently from Pyongyang and Islamabad. (Underlined, again, by the difference between a threshold nuclear state whose missile capabilities and air defences have been defanged and an actual nuclear state.)
by imiric | 2025-06-18 22:24:31+00:00
No, that's not what I'm saying.

The progress has been adequate and expected, save for very few cases such as generative image and video, which has exceeded my expectations.

Before we reach the point where AI is self-improving on its own, we should go through stages where AI is being improved by humans using AI. That is, if these tools are capable of reasoning and are able to solve advanced logic, math, and programming challenges as shown in benchmarks, then surely they must be more capable of understanding and improving their own codebases with assistance from humans than humans could do alone.

My point is that if this was being done, we should be seeing much greater progress than we've seen so far.

Either these tools are intelligent, or they're highly overrated. Which wouldn't mean that they can't be useful, just not to the extent that they're being marketed as.
by duderific | 2025-06-18 22:25:16+00:00
I find myself doing a mix of both. Source maps are good enough most of the time, I haven't seen the bizarre failures you're seeing - maybe your bundling configuration needs some tweaking? But yes, the frequent re-renders are obnoxious. In those cases logging is generally better.

Conditional breakpoints help alleviate the pain when there are frequent re-renders. Generally you can pinpoint a specific value that you're looking for and only pause when that condition is satisfied. Setting watch expressions helps a lot too.
by Aeolun | 2025-06-18 22:25:31+00:00
I ask it to build it to 3d voxel engine in Rust, and it just goes off and do it. Same for a vox file parser.

Sure, it takes some creative prompting, and a lot of turns to get it to settle on the proper coordinate system for the whole thing, but it goes ahead and does it.

This took me two days so far. Unfortunate, the scope of the thing is now so large that the quality rapidly starts to degrade.
by jokoon | 2025-06-18 22:25:33+00:00
I stopped playing because I felt I could not trust other players, I was getting too paranoid. There were not that many blatant cheaters, but with closet cheaters, it's now very difficult to know if your opponent is better than you or cheating in subtle ways. It's a grey zone.

I guess it's the combination of a frustration of losing matches and the constant suspicion. I was constantly trying to probe things and watching replays, it ruined the game because I was always focusing on cheating.

Ultimately, I think most CS players don't really care about subtle/closet cheaters, so as long as they don't feel it, it's fine, the game keeps its high player count, so it's a good facade and valve is happy with that.

CS is a game I can really enjoy, until I couldn't anymore.