MurphyA/hacker-news huggingface dataset:
by dml2135 | 2025-04-25 14:34:52+00:00
> If you love coding and you hate AI, you're probably more committed to some sort of ideology than you are the love of technology.

As someone that you may characterize as one of these people, I can share some perspective.

First, I would question the premise that “love of technology” is not itself an ideology.

I do love technology, but not for its own sake. I love solving problems, I love tinkering, and I love craftsmanship and invention.

But technology can also be dangerous, it can set us backwards and not forwards, and its progress is never as inevitable as its evangelists claim. You need to view technology with a critical eye, and remember that tools are tools, and not panaceas.

So I guess I’d ask you — what’s so wrong with choosing to live in a cabin in the woods without a cellphone?
by marcosdumay | 2025-04-25 14:34:55+00:00
> One of the issues DSLs give me is that the process of using them invariably obsoletes their utility.

That means your DSL is too specific. It should be targeted at the domain, not at the application.

But yes, it's very hard to make them general enough to be robust, but specific enough to be productive. It takes a really deep understanding of the domain, but even this is not enough.
by M95D | 2025-04-25 14:35:07+00:00
> Rather than relying on a built-in infotainment system, you'll use your phone plugged into a USB outlet

Absolutely horrible.

3-4 standard DIN slots with simple plastic covers would let users install anything they want: a 2-DIN player, a 1-DIN CB radio and a 1-DIN equalizer or amp or tachograph, or simple storage space.
by dzaima | 2025-04-25 14:35:16+00:00
Thanks for the info on how things look on the GPU side!

A messy thing with memory performance on CPUs is that either you share the same cache hardware between scalar and vector, thereby significantly limiting how much latency you can trade for throughput, or you have to add special vector L1 cache, which is a ton of mess and silicon area; never mind uses of SIMD that are latency-sensitive, e.g. SIMD hashmap probing, or small loops.

I guess you don't necessarily need that for just detecting patterns in gather indices, but nothing's gonna get a gather of consecutive 8-bit elts via 64-bit indices to not perform much slower than a single contiguous load, and 8-bit elts are quite important on CPUs for strings & co.
by perrygeo | 2025-04-25 14:36:01+00:00
I agree, but it's not just AI. There's long been a push to standardize anything that requires critical thinking and human intelligence. To risk-averse rent seekers, requiring human skill is a liability. Treating human resources as replacable cogs is the gold standard. Otherwise you have to engage in thinking during meetings. Yeah, with your brain. The horror /s.
by constantcrying | 2025-04-25 14:36:08+00:00
That calculation does not work at all. 300 miles (presumably WLTP) range has nothing to with 300 miles of actual driving.

Additionally range dictates how often you have to charge. This does not matter if you can easily charge at home, but when you have to do it at public infrastructure it is obviously a hassle, which is increased with lack of range.
by danielebuso | 2025-04-25 14:36:25+00:00
I’ve had folks ask about CI/CD integration and even snapshots of email contents (for visual diffs or regression testing). I’m now thinking ahead and would love your input:

If you were to use a tool like this, what features would you want most?

Simulate bounces/spam? API access for email contents? CI assertions for email presence/structure? Anything weird or niche you've always wanted?

Appreciate any ideas or feedback — it helps shape the roadmap (Daniele, maker of Mailfrom.dev)
by myrmidon | 2025-04-25 14:36:29+00:00
I honestly feel that "uninitialized by default" is strictly a mistake, a relic from the days when C was basically cross-platform assembly language.

Zero-initialized-by-default for everything would be an extremely beneficial tradeoff IMO.

Maybe with a __noinit attribute or somesuch for the few cases where you don't need a variable to be initialized AND the compiler is too stupid to optimize the zero-initialization away on its own.

This would not even break existing code, just lead to a few easily fixed performance regressions, but it would make it significantly harder to introduce undefined and difficult to spot behavior by accident (because very often code assumes zero-initialization and gets it purely by chance, and this is also most likely to happen in the edge cases that might not be covered by tests under memory sanitizer if you even have those).
by mapt | 2025-04-25 14:36:37+00:00
Being an Olympic gymnast or marathon runner or boxer is not, broadly speaking, healthy. These pursuits require you to make sacrifices that push your body to extremes, to its physical limits, and not only you are selected for a very particular set of traits, there are also lots of health and psycho-social compromises that are entailed by those traits and by your training process. That is the cost of competition.

Likewise running a company. You guys are, to be blunt, freaks. It requires very particular psychological and social conditioning to be in that place doing that thing, it demands specific types of personality traits and adaptations, and that probably doesn't make you, the successful CEO, a well-balanced, "normal" person.

Now take that person, who is a little bit alien in the first place, and ask what happens when they can choose everything about their surroundings, when they get fitted for their GERDpod https://www.youtube.com/watch?v=DtV33YSKOJk . They still have the same personality quirks, traumas and experiences that got them to this place, but now they're rich beyond imagining, every whim trivially achievable except power over other people (and that only minimally constrained). Like a person stuck in a perpetual state of orgasm, the question of whether they like it or not and really isn't relevant to whether we're going to be inviting them to the cookout or how they're going to behave in church. Any interaction, they're going to make it weird. Because they're weird. Their situation is weird, and the mentality that brought them to that situation is independently weird. A normal person would have pursued normal fulfilling things in life, and they chose entrepreneurial ambition.
by gav | 2025-04-25 14:36:48+00:00
It's more so that Cloudflare has a WAF product that checks a box for security and makes people who's job it is to care about boxes being checked happy.

For example, I worked with a client that had a test suite of about 7000 or so strings that should return a 500 error, including /etc/hosts and other ones such as:

../../apache/logs/error.log AND%20(SELECT%208203%20FROM%20(SELECT(SLEEP(5)))xGId) /../..//../..//../..//../winnt/system32/netstat.exe?-a

We "failed" and were not in compliance as you could make a request containing one of those strings--ignoring that neither Apache, SQL, or Windows were in use.

We ended up deploying a WAF to block all these requests, even though it didn't improve security in any meaningful way.
by ghaff | 2025-04-25 14:37:20+00:00
Yeah, he was basically the guy who hired me. They had been small clients in the past and we liked each other. Part of me was saying what’s done is done but I felt I had to give it a shot so I emailed him and we had a cordial phone call. Which is more than a lot of CEOs of moderately large companies would do. And it says a lot about the company culture that I never felt I was risking being fired.
by floundy | 2025-04-25 14:37:26+00:00
I received one of these calls several months ago, I believe it was pitching solar panels, however the bot initially refused to admit it was a bot. "I'm not a robot, I am a real human named Casey."

Eventually I broke out of its prompt and it admitted "you're correct, I am trained on a language model by OpenAI, I don't have a physical form or a persona."

The company employing this AI bot was Palmetto Solar in North Carolina. I sent them a demand letter for violating the FTC Do Not Call list and using a robodialer but I (unsurprisingly) did not get a response and didn't care enough to file in small claims court.
by rainforest | 2025-04-25 14:37:38+00:00
I think Cloudflare WAF is a good product compared to other WAFs - by definition a WAF is intended to layer on validation that properly built applications should be doing, so it's sort of expected that it would reject valid potentially harmful content.

I think you can fairly criticise WAF products and the people who advocate for them (and created the need for them) but I don't think the CF team responsible can really be singled out.
by LegionMammal978 | 2025-04-25 14:38:03+00:00
Actually, it does use a union, in both libstdc++ [0] and libc++ [1]. (Underneath a lengthy stack of base classes, since it wouldn't be C++ if it weren't painful to match the specified semantics.)

[0] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3...

[1] https://github.com/llvm/llvm-project/blob/llvmorg-20.1.3/lib...
by PaulHoule | 2025-04-25 14:38:58+00:00
I went through a phase of writing a lot of little things in async Python which was a lot of fun but I wrote an app that really tied up the event loop and now, at least for web servers, I develop with Flask, deploy to gunicorn and often front with IIS or nginx to serve up images and big files now.

One thing I still like async Python for is programs that have a number of polling tasks going on at a slow cadence, say once a minute or less, where it doesn't really matter to me if a task gets delayed 5 seconds because of another task. In that case writing a number of tasks that await.sleep is easy and fun and works great -- I'll use async io in the tasks if it is easy to do so but if I use blocking I/O and it blocks... no problem.

At work I've been writing web servers in Java (or C#) for a couple of jobs and between threads and the garbage collector I also think it is easy and fun. Sure if I was handling Google-levels of traffic I might think differently, but threads scale pretty well for 99% of the web sites out there. Java gives you all the right primitives to do common tasks: sometimes I code something up with an Executor in 20 minutes and it works right the first time and gets a 14x speedup with 16 cores, somebody else tries Actors in the language of the day and spends a few days on it, never gets more than a 3x speedup and gets a different answer every time. (Threaded programming is easy when you have a rich primitive library you get in trouble when you get it in your head that it is noble to build everything in scratch from a small set of primitives)

Java even has virtual threads that play well with real threads if real threads aren't good enough for you.
by jmmv | 2025-04-25 14:39:34+00:00
I encountered this a while ago and it was incredibly frustrating. The "Network error" prevented me from updating a post I had written for months because I couldn't figure out why my edits (which extended the length and which I assumed was the problem) couldn't get through.

Trying to contact support was difficult too due to AI chatbots, but when I finally did reach a human, their "tech support" obviously didn't bother to look at this in any reasonable timeframe.

It wasn't until some random person on Twitter suggested the possibility of some magic string tripping over some stupid security logic that I found the problem and could finally edit my post.
by ninkendo | 2025-04-25 14:39:49+00:00
It's more likely to be the unaccuracy of Instant in rust. It's guaranteed to be non-decreasing, but not steady: https://doc.rust-lang.org/std/time/struct.Instant.html

> In other words, each tick of the underlying clock might not be the same length (e.g. some seconds may be longer than others). An instant may jump forwards or experience time dilation (slow down or speed up), but it will never go backwards
by adolph | 2025-04-25 14:40:47+00:00
A differently complex and smaller approach might be to combine the knob with with an axial flux PCB-BLDC, like what Carl Bugeja made [0, 1]. It might be suited to get haptics in something as small as the article's knob, although to get an in-built display you'd have to use one of those displays that fit in lego bricks [2, 3] with a slip-ring.

0. https://microbots.io/products/motorcell

1. https://www.youtube.com/watch?v=CVszJMlvZcA

2. https://github.com/AncientJames/uGrey

3. https://www.youtube.com/watch?v=0pUV_3qeHog
by brookst | 2025-04-25 14:40:59+00:00
> they never push back on nonsense questions or stupid requirements

I was reminded of your comment this morning when I asked ChatGPT how to create a path mask in Rhino Grasshopper:

Me: what is a path mask that will get 1;1;0;0;* and also anything lower (like 1;0;5;10 or 0;20;1;15} ?

ChatGpt: Short answer: No single path mask can do that. Here's why: (very long answer)

Me: are you sure I can't use greater than, less than in the masks?

ChatGpt: Yes — **I am absolutely sure:** **Grasshopper path masks do *NOT* support greater-than or less-than comparisons.** Official sources and detailed confirmation: (sources and stuff)

...so I think your priors may need to be updated, at least as far as "never". And I especially like that ChatGpt hit me with not just bold, not just italics, but bold italics on that NOT. Seems like a fairly assertive disagreement to me.
by os2warpman | 2025-04-25 14:41:07+00:00
The only thing that matters is ridiculing people who think typing something into a text entry field and receiving a shitty image in return is art.

edit: now that I think about it, a public performance where an artist generates "algorithmically created images" in real-time and they and the audience bask in the shit would be fantastic! Maybe coupled with some shitty AI music, narrated in that shitty Attenborough rip-off AI voice.

It could be called "requiem for a techbro".
by Kuinox | 2025-04-25 14:41:38+00:00
I give a simple ascii maze and ask it to give me the move to get out. In 3-4 moves the most advanced models try to go through walls.

An alternative is providing all the tile relation to the other tiles. This is because LLMs are bad at 2D text visualisation. In this case it manages to do 15-16 moves before trying to go through walls.
by g19fanatic | 2025-04-25 14:41:38+00:00
My dev environment is very similar (no cscope but ctags yes)! tmux + vim + bash + gcc

Vim is so powerful, most people only know how to edit 1 file at a time and how to exit vim... My typical dev environment has over 10k+ open buffers in 1 vim instance. you want to know what "just works" in this environment? vimgrep w/ ## to find anything across these open buffers AND built in Ctrl+P autocomplete... Get good with splits and tabs inside vim and you'll never be limited... it just works.
by SonOfLilit | 2025-04-25 14:42:01+00:00
After having been bitten once (was teaching a competitive programming team, half the class got a blank page when submitting solutions, after an hour of debugging I narrowed it down to a few C++ types and keywords that cause 403 if they appear in the code, all of which happen to have meaning in Javascript), and again (working for a bank, we had an API that you're supposed to submit a python file to, and most python files would result in 403 but short ones wouldn't... a few hours of debugging and I narrowed it down to a keyword that sometimes appears in the code) and then again a few months later (same thing, new cloud environment, few hours burned on debugging[1]), I had the solution to his problem in mind _immediately_ when I saw the words "network error".

[1] the second time it happened, a colleague added "if we got 403, print "HAHAHA YOU'VE BEEN WAFFED" to our deployment script, and for that I am forever thankful because I saw that error more times than I expected
by mort96 | 2025-04-25 14:42:18+00:00
I agree, lots of false statements here. "Code - OSS" is open source, and released under the MIT license. Visual Studio Code is built by combining "Code - OSS" with proprietary code, and is released under the following non-open-source license: https://code.visualstudio.com/license

From their github repo:

Visual Studio Code is a distribution of the Code - OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license.

"Visual Studio Code" is to "Code - OSS" what Google Chrome is to Chromium. Microsoft has just been successful at tricking people into thinking that Visual Studio Code is itself open source through misleading marketing on their website and things like naming the github repository for "microsoft/vscode".
by HanClinto | 2025-04-25 14:42:22+00:00
Not entirely sure what you mean. Care to expound?

Are you talking about people who act out on their fandom by criticizing others? "Oh I'm a fan of X, therefore I'm a vocal critic of Y". I agree that such things are toxic -- fandom doesn't need to be a polemic.

I want to cultivate the kind of fandom that builds up without feeling a need to tear down others.
by elmerfud | 2025-04-25 14:42:54+00:00
I can actually buy a car, I can't buy a font. You want to trick me into believing I can buy that font but in reality I'm buying some nebulous license to use it. I have no right to repair that font I have no right to alter that font I have no right to take the font that I have and resell that to another person.

So idiotic comparisons are still idiotic. If you actually sell it and give me the rights of ownership like I get with a car then we'll actually talk.
by apetresc | 2025-04-25 14:43:22+00:00
It sure looks like the author did his due diligence; he has a chart of all the different phrases in the payload which triggered the 403 and they all corresponded to paths to common UNIX system configuration files.

Nobody could prove that's exactly what's happening without seeing Cloudflare's internal WAF rules, but can you think of any other reasonable explanation? The endpoint is rejecting a PUT who's payload contains exactly /etc/hosts, /etc/passwd, or /etc/ssh/sshd_config, but NOT /etc/password, /etc/ssh, or /etc/h0sts. What else could it be?
by krapp | 2025-04-25 14:43:29+00:00
The rejection itself was a collective action. It wasn't passive, anti-vaxxers did work spreading propaganda, protesting and undermining vaccination efforts. They made it a part of their identity and culture.

If it was a rejection of anything, it was of any assumption of good faith on the part of either government or scientific institutions. Why that happened, as quickly and thoroughly and as polarized along clear partisan lines as it was, is a mystery.
by da_chicken | 2025-04-25 14:43:32+00:00
"It's technically better than nothing," is kind of a bizarre metric.

It's like not allowing the filesystem to use the word "virus" in a file name. Yes, it technically protects against some viruses, but it's really not very difficult to avoid while being a significant problem to a fair number of users with a legitimate use case.

It's not that it's useless. It's that it's stupid.
Show HN: An MCP server for understanding AWS costs
by StratusBen | 2025-04-25 14:43:57+00:00
Hey all - I work at Vantage, a FinOps platform.

I know AI is peak hype right now. But it has definitely changed some of our dev workflows already. So we wanted to find a way to let our customers experiment with how they can use AI to make their cloud cost management work more productive.

The MCP Server acts as a connector between LLMs (right now only Claude, Cursor support it but ChatGPT and Google Gemini coming soon) and your cost and usage data on Vantage which supports 20+ cloud infra providers including AWS, Datadog, Mongo, etc. (You have to have a Vantage account to use it since it's using the Vantage API)

Video demo: https://www.youtube.com/watch?v=n0VP2NlUvRU

Repo: https://github.com/vantage-sh/vantage-mcp-server

It's really impressive how capable the latest-gen models are with an MCP server and an API. So far we have found it useful for:

Ad-Hoc questions: "What's our non-prod cloud spend per engineer if we have 25 engineers"

Action plans: "Find unallocated spend and look for clues how it should be tagged"

Multi-tool workflows: "Find recent cost spikes that look like they could have come from eng changes and look for GitHub PR's merged around the same time" (using it in combination with the GitHub MCP)

Thought I'd share, let me know if you have questions.
by simonw | 2025-04-25 14:44:24+00:00
"How could Substack improve this situation for technical writers?"

How about this: don't run a dumb as rocks Web Application Firewall on an endpoint where people are editing articles that could be about any topic, including discussing the kind of strings that might trigger a dumb as rocks WAF.

This is like when forums about web development implement XSS filters that prevent their members from talking about XSS!

Learn to escape content properly instead.
by flanked-evergl | 2025-04-25 14:44:29+00:00
What we suffer from to-day is humility in the wrong place. Modesty has moved from the organ of ambition. Modesty has settled upon the organ of conviction; where it was never meant to be. A man was meant to be doubtful about himself, but undoubting about the truth; this has been exactly reversed. Nowadays the part of a man that a man does assert is exactly the part he ought not to assert—himself. The part he doubts is exactly the part he ought not to doubt—the Divine Reason. Huxley preached a humility content to learn from Nature. But the new sceptic is so humble that he doubts if he can even learn. Thus we should be wrong if we had said hastily that there is no humility typical of our time. The truth is that there is a real humility typical of our time; but it so happens that it is practically a more poisonous humility than the wildest prostrations of the ascetic. The old humility was a spur that prevented a man from stopping; not a nail in his boot that prevented him from going on. For the old humility made a man doubtful about his efforts, which might make him work harder. But the new humility makes a man doubtful about his aims, which will make him stop working altogether.

(quoted)
Show HN: Influencer Marketing Jobs, a niche job board for influencer marketing
by kellenmace | 2025-04-25 14:45:01+00:00
Hey HN! I just launched InfluencerMarketingJobs.net – a specialized job board connecting talent with opportunities in the influencer marketing space.

I built this after discovering a sweet spot in search metrics: "influencer marketing jobs" has promising search volume with relatively low competition, plus numerous valuable long-tail keywords. The current landscape is dominated by general job sites like Indeed and LinkedIn or niche boards with minimal quality listings. I'm aiming to create the definitive resource in this growing sector by curating higher quality, more relevant listings.

The site offers comprehensive filtering (location, salary, job type, experience level) and a personalized email subscription where users receive curated job listings matched to their preferences.

Tech stack:

- Fullstack TypeScript SvelteKit application hosted on Fly.io

- SQLite database with Drizzle ORM (first time using SQLite and I'm impressed!)

- Automated job aggregation via scheduled cron jobs pulling from major job platforms and employer boards

My roadmap:

- Grow organic traffic through SEO optimization Achieve top rankings for key industry search terms

- Build a substantial email subscriber base

- Monetize through premium job postings, targeted advertising, and/or sponsored placements in subscriber emails

I'd appreciate any feedback on the site design, functionality, or monetization strategies. Thanks for checking it out!