MurphyA/hacker-news huggingface dataset:
by the__alchemist | 2025-05-04 14:09:53+00:00
We're on the same page! I agree, and pine for the days before I acquired too many things. The contrast is observation: Most people I know, myself included, do not live that minimal life style. I know someone who does; he lives in a van and loves it; owns few physical belongings, and most are in storage. He's the exception; not the rule.

Personally, I have a molecular bio lab at home; I know (had to calculate for tax purposes) that it cost ~12000 USD including reagents, shipping costs etc. I have a nice 3D printer, loads of tools, a well-stocked electronics lab etc. All see regular use. A few pieces of oak furniture. I know that my personal hobbies are weird (Maybe not for this crowd?!), but many people have comparably equipment-bound ones.

Now, picture being married to someone with a comparable set of items (Furniture doesn't double of course), and kids...
by Fripplebubby | 2025-05-04 14:11:22+00:00
You might not know this if you don't actually play these games (Madden, 2K for NBA, MLB The Show), but the commentary is extremely high quality, sometimes comparable to the TV broadcast with riffs and tangents as well as describing the action. Over many years of producing these games they have continually refined the process. Of course, eventually you will hear repeating dialogue if you play the games enough, but I think the baseline quality is going to be _very_ hard to replicate with an LLM.
by klabb3 | 2025-05-04 14:11:59+00:00
This has also happened before. For instance, when audio recording equipment became better concerts you can’t obviously tell if lip sync was used, even if amplifiers existed before. Similar with autotune. The signs are hard to spot, and with single interaction you just don’t really assume anything (like a superposition). With repeat interactions, you can start to paint a picture.

You are entirely right though that people will slip under the radar for a while. But it’ll only be a matter of time until a personal cold email means absolutely nothing again, simply because the volume of them will be insane.
by LamaOfRuin | 2025-05-04 14:14:11+00:00
>There is always a degree of trust you put in any company's software you use, and it's up to the company to be good stewards of that trust. If they break it, it's always bad for business anyways. But there is a point that if it was open source, those who have the desire to do so can continue using it without any concerns, which is fair.

I generally agree, but in this case you don't even have any meaningful identification on the site to say who created the software. I'm not sure how one can trust the creator of software if they won't even tell you who or what they are. Not even a pseudonym. There is no way to say that the person posting as philjohnson here is in fact the creator, or if the claimed copyright owner "Breeze PDF" is a legal entity that can own copyright.

As it is, with no source or identifying information, my default assumption if I happened upon this page would be that is is another one of the thousands of sites running FOSS software as a service with no added value or contribution back, but possibly also scanning every PDF it sees for bank/personal/tax/crypto information at which point it would decide to send that off to a server.
by carstonh | 2025-05-04 14:15:53+00:00
Based on my reading of the GeoParquet spec, the main difference is that geometries are stored as WKB using Parquet's byte array type. Byte arrays can be delta-encoded. There is also some additional metadata stored like CRS and a bounding box.

When using EPSG:4326 lat/lons, I don't think GeoParquet would give you any benefits over just having separate columns (this is what I typically do, and it's plenty fast).

If you are using range requests to fetch only parts of parquet files at a time, you could potentially sort your data using a hilbert curve, which could limit the number of row groups that need to be fetched to execute a query.
by atonse | 2025-05-04 14:16:28+00:00
Elixir has been my main language since 2017 and it’s been amazing to work with all these years. I’ve built and delivered so much value and the quality of libraries in general feels much more stable than JS land with its ever changing upgrades. I’ve never had to worry about leaving a code base untouched for 6 months. Whereas in JS land I’d have to groan about half the stuff not working, some new transpiler breaking changes, blah blah and just give up.

But developer ergonomics rough edges mostly around LiveView, and partially language servers and type support (which recently had some developments) and bad LLM support (no fix yet) are finally causing me to question whether I should look elsewhere.

The underlying tech (scalability, echo, etc) has still been excellent.
by crossroadsguy | 2025-05-04 14:16:33+00:00
Aha! Minor blast from the past. I just realised my a/c might still be alive on there and there it was. I think I logged in after 3 or 4 years. Old Reader. I think I had deleted my a/c on Ino Reader. I used to follow couple of niche Hindi blogs and they shut down years ago; some Engish language as well (from all over the world). Most of them were anon. I kept coming back for years but they were gone. That's what killed the RSS/blogs for me, not the demise of Google Reader. It stopped being the place I knew in my own individual/idiosyncratic way.

I suspect something similar would happen to podcasts for me, maybe sooner than I am hoping for. And podcast player apps.
by K0balt | 2025-05-04 14:16:36+00:00
The problem , really, is human cognitive dissonance. We draw false conclusions that competence at some tasks implies competence at another. It’s not a universal human problem, we intuit that a front end loader , just because it can dig really well, is not therefore good at all other tasks. But when it comes down to cognition, our models break down quickly.

I suspect this is because our proxies are predicated on a task set that inherently includes the physical world, which at some level connects all tasks and creates links between capabilities that generally pervade our environment. LLMs do not exist in this physical world, and are therefore not within the set of things that can be reasoned about with those proxies.

This will probably gradually change with robotics, as the competencies required to exist and function in the physical world will (I postulate) generalize to other tasks in such a way that it more closely matches the pattern that our assumptions are based on.

Of course, if we segregate intelligence into isolated modules for motility and cognition, this will not be the case as we will not be taking advantage of that generalization. I think that would be a big mistake, especially in light of the hypotheses that the massive leap in capabilities of LLMs came more from the training on things we weren’t specifically trying to achieve- the bulk of seemingly irrelevant data that unlocked simple language processing into reasoning and world modeling.
by Dylan16807 | 2025-05-04 14:16:42+00:00
So the reason to think corruption is that there's no other reason to say that?

Well that's not true. Incorrectly blaming a particular company in the heat of the moment could lead to harm or harassment, and it's good to remind people to wait for a real investigation. The last thing the DOT wants at that point is even more avoidable mistakes.

And if it was motivated by corruption that statement seems like a bad idea. It draws a lot of attention to that specific contractor while telling people to wait for the investigation. If they are at fault, that extra attention is bad for them in the long run.
by dahauns | 2025-05-04 14:17:15+00:00
As someone unfamiliar with DuckDB but at least somewhat with geospatial tools (it's been a few years, though): Dang - see, now that is seriously cool. The whole ETL shebang always was the biggest hassle, even with serious commercial tools, and the idea of a stable, all-in-one, ready-to-go layer is incredibly appealing.

It's just something the writer of the article should probably have at least mentioned when going full hyperbole with the title (hey, after reading this, it might actually be justified! :) ).

Rereading the article that focuses on the one thing that isn't a standout (the installation itself), though, I can't help but chuckle and think "worst sales pitch ever". ;)
by seltzered_ | 2025-05-04 14:18:06+00:00
It may be worth articulating the Bluetooth headset specifically as the one-ear little clip headset executives and IT staff seemed to use to answer calls.

Remember companies like jawbone?

I vaguely remember a cultural stereotype of bmw drivers driving aggressively and wearing Bluetooth headsets. [edit: this is the clip https://youtu.be/UqfAMvXpSw4?t=25 from top gear of jeremy clarkson wearing a bluetooth headset in sunglasses in a bmw, supposedly from topgear season 10, episode 10]
by matthewowen | 2025-05-04 14:18:24+00:00
Partly it’s a long distance thing, especially at the lower end of the market.

Imagine you want to move your possessions to somewhere that’s three days drive away. Generally speaking, you need a team in location a to pack, a driver, and a team in location B to unpack.

In practice that’s hard for companies to offer entirely in house, so it winds up being subcontracted out, and then you have the problems you expect.

If you’re moving a couple of hours down the road, this doesn’t apply, it’s easy to find local movers who will load, drive, unload with a single crew.
by dabluecaboose | 2025-05-04 14:18:28+00:00
What a fun surprise to hear about the Foy info desk on HN! When I went to student orientation at Auburn, they made a point to call the desk as a demonstration and ask how many M&Ms would fit into Jordan-Hare Stadium. The answer was provided in under a minute.

Back in the early 2010s when I was going to Auburn, the smartphone internet was still pretty young. It wasn't uncommon to call the Foy info desk to settle an argument.

Really makes me want to swing back to Auburn for a visit. War damn Eagle!
Show HN: I built Gridagram, a daily word puzzle, for my word-game-nerd wife
by jonathanleane | 2025-05-04 14:18:49+00:00
Hi HN - I'm excited (and a bit nervous!) to share a game I built called Gridagram.

My wife is a huge word game nerd (Wordle, Spelling Bee, you name it!), and I wanted to create something fun for us to play daily that combined a couple of mechanics we enjoy: finding words in a grid and solving anagrams. It started as a personal project but evolved into something I thought others might enjoy too.

You're presented with a 4x4 grid of letters. Find words by connecting adjacent letters (like Boggle).

Finding words scores points and contributes to revealing letters in a hidden "Mystery Word" (an anagram of 8-10 letters).

The more words you find, and the faster you find them (streaks!), the more points you get. Longer words give bonus points.

Score milestones help reveal and eventually order the Mystery Word letters.

Once you think you know the Mystery Word, you can try to solve it for a final bonus score.

There's a new puzzle generated each day.

I built this using React, TypeScript, Vite for the frontend, and Firebase Hosting for deployment. The grid generation and dictionary logic are handled client-side.

This is still very much a work in progress, and I'd absolutely love to hear any feedback you have – gameplay balance, UI suggestions, bugs, anything!

You can play it here: https://playgridagram.com/
by PaulHoule | 2025-05-04 14:19:03+00:00
I think of all the “hygienic macro” sorts of problems. You really ought to be able to transclude a chunk of HTML and the associated CSS into another document but you have to watch out for ‘id’ being unique never mind the same names being used for CSS classes. Figuring out the rendering intent for CSS could also be complicated: the guest CSS might be written like

.container .style { … }

Where the container is basically the whole guest document but you still want those rules to apply…. Maybe, you want the guest text to appear in the same font as the host document but you still want colors and font weights to apply. Maybe you want to make the colors muted to be consistent with the host document, maybe the background of the host document is different and the guest text isn’t contrasts enough anymore, etc.
by mtlynch | 2025-05-04 14:19:06+00:00
This is a fun idea, but I feel like Pong is too simple for the execution to work.

I watched the video, and it seemed like everything it was saying, you could have just pre-programmed for the very limited state space of Pong. It reminded me a little bit of the stock John Madden and Pat Sumerall sound bites that would play during 90s / early 2000s Madden games.

Could you apply the same idea to chess or Texas Hold 'Em? I feel like the additional complexity of those games could lead to more interesting commentary.
by riffraff | 2025-05-04 14:19:29+00:00
But when they die the basis for the capital gain is the value at the time of death, not the original value, so you basically sidestep capital gains taxation, your children or spouse pay back the loan and get a ton more money than they would otherwise.

I'm not an expert on taxation, but this is something people have been complaining about for a long time.
by Diggsey | 2025-05-04 14:19:31+00:00
I think your logic is flawed (even if PostgreSQL may behave this way in practice).

First, let's make sure we're talking about the same two examples.

A:

DELETE FROM task_queue WHERE id = ( SELECT id FROM task_queue WHERE queue_group_id = 15 LIMIT 1 FOR UPDATE SKIP LOCKED )

B:

DELETE FROM task_queue WHERE id IN ( SELECT id FROM task_queue WHERE queue_group_id = 15 LIMIT 1 FOR UPDATE SKIP LOCKED )

You seem to be saying that B may exhibit the problem whilst A does not. (ie. there is a different between using `=` vs `IN`). I would like to see some documentation justifying that.

Here's my logic:

- In both cases, the outer query is run once.

- In both cases the outer WHERE clause is evaluated for each row in `task_queue`.

- In both cases, it is up to the optimizer whether the result of the subquery is materialized or not.

- In both cases, if the subquery is not materialized, multiple rows in the outer query may match the condition.

In practice, it may be that the optimizer always materializes uncorrelated subqueries on the RHS of an `=` expression. My contention is whether that is a formal guarantee.
by Jach | 2025-05-04 14:20:01+00:00
Thanks for the article! It's good to have more examples of this sort of stuff, especially if people decide to go the lack/clack route rather than using e.g. hunchentoot directly as I like to do. If you ever do a followup to go beyond the simple barebones, I'd like to see more on both development experience and production deployment. Some thoughts:

Better attention to error handling, as well as the difference in developer mode where you might want the error to show up in your REPL and/or shown on a page, but in production mode to just be logged and/or emailed somewhere while the server returns an appropriate error page without too much information on it.

>In a more complex application, I would add a way to invalidate the cache automatically if a template changes.

By default, Djula actually recompiles the template if the file does change. What the cache here is doing is caching the association of a path string -> template file object, not the compilation status, as the template object can recompile itself.

You have a lot of top-level forms (path / asdf references, add-template-directory, etc.) that don't fly if you wanted to compile a binary to push up to a server.

Speaking of deploying to a server via binary, it's also easy to compile in an active or toggle-able swank server, so that if you do need to debug or want to develop/test things further "in production", the server doesn't need to know anything about Lisp or Lisp editors, you just use SSH port forwarding on the swank connection and talk to the production Lisp binary with your local editor. (The server does need to have a matching or newer libc than your build system though, and potentially other things like libmysqlclient. I just build stuff in an old debian docker image but Shinmera's Deploy is a great solution with a lot of headaches taken care of.)

I like the @export macro when developing because I can be a bit lazier, but it's better form to just add the stuff to your defpackage :export list eventually. (I finally got around to making my own editor macro in vim to do that for me, so I don't think I'll use the cl-annot package much anymore.) That library is also LLGPL which might not be desirable for the trivial handful of lines of code you can write yourself if you don't need its slightly fancier support for class accessors.

With sqlite, you should probably be using PRAGMA journal_mode=WAL when you create the schema, as well as consider changing its auto vacuuming behavior and a few other features. There are some per-connection pragmas worth looking at as well for a production scenario.

Showing how to send headers like content security policy would be good, and also going beyond simple error pages to including support for live metrics (e.g. https://github.com/deadtrickster/prometheus.cl -- there might be a clack middleware even?)

I wrap my Lisp web stuff in apache but I think nginx and caddy are popular too. Showing the full end-to-end with a let's encrypt SSL cert would be helpful for people getting into web apps who haven't already done it in some other ecosystem before.
by jacob019 | 2025-05-04 14:20:23+00:00
Except that the OpenAI compatible endpoint isn't actually compatible. Doesn't support string enum values for function calls and throws a confusing error. Vertex at least has better error messages. My solution, just use text completions and emulate the tool call support client side, validate the responses against the schema, and retry on failure. It rarely has to retry and always works the 2nd time even without feedback.
Show HN: I made a meta-dashboard to track my key metrics without wasting time
by wickedmishra | 2025-05-04 14:20:25+00:00
I started working on my ideas a few months ago. I've shipped 4 apps so far. I love my numbers, so every morning I'd go through the payments dashboard, analytics, bug reports, feature requests, and everything else for each app.

I wished for a single place to view it all, so I built Motherboard. It runs locally in the browser and tracks any visible data point from any website with just a click. A single dashboard for everything. Life's good.
by morkalork | 2025-05-04 14:20:30+00:00
I would be the once a year occasional user in my 30s but I have no idea where to get it anymore after moving to a city in my 20s. I have no interest in going to nightclubs and chatting kids a decade younger than me to get ripped off. And same for cannabis, I completely stopped smoking but it's not because I can't find any - it's legal here - I just don't care. It's not fun anymore.
by fuzzfactor | 2025-05-04 14:20:58+00:00
That is a realistic attitude.

I think problems like this can be best informed by those who have interacted with very different kinds of homelessness on its own terms.

But there are so many people already where actual bare-bones housing is so inadequate, and it's been that way for so long, that desperation can only increase. More & more of whom are working for a living but that's just not quite enough to maintain domestic life as much as it used to be. There is just no substitute for more housing in the most generous way.

OTOH whether it's somebody who's penniless, or a rock star on endless tour, or anything in between, if they are not congruent with domestic life, or domestic life is not suitable for them, this is not where domestic housing effort is helpful. Depending on need or desperation, other kinds of help which can make a bigger positive impact is where effort should be concentrated.

Accelerated transition from homeless to a domestic environment should turn into a successfully beaten path with stronger force enabling it, but is most sensible only for those who are most suitable.

Actual "socialization" may still be too high a bar for some of those who thrive domestically otherwise, but the reverse can also be true.
by RS-232 | 2025-05-04 14:21:19+00:00
Another anecdote for never using flat rate/subcontracted movers if you can avoid it.

My employer clearly picked the lowest bidder (naming and shaming Atlantic Relocation Systems) for a long distance move across 3 timezones (~2000 miles).

Upon arrival, all of our wooden furniture was destroyed. Every drawer falling off the tracks. Expensive tools missing from my tool bag, such as my Ideal SureTest circuit analyzer. Strange stains on our sofa, reminiscent of animal urine.

The $5000 dollars that we received in damages was a pittance and small multiple of the cost of repairs. Our still broken furniture is a bitter reminder to never trust these kinds of movers.

At least we got our stuff… some lost everything. It would be better to just downsize and circumvent the need for movers completely. We would all be better off with less shit.
by Certhas | 2025-05-04 14:21:34+00:00
That's an absolutely obvious step though? As in, detailed lecture notes should maybe elaborate with a sentence, but in a lecture I would not put this on the slides but mention the core point and expect students at this level (who should have seen some amount of more theoretical LinAlg courses by then) to understand how to do the 1 line calculation.

There aren't even any real details to fill in, you iterate on the lower right block so anything you do is orthogonal to the upper left block. Do a 2x2 block matrix multiplication to convince yourself that this preserves the form achieved so far.
by vishnugupta | 2025-05-04 14:21:35+00:00
I guess that’s called tyranny of the majority?

David Graeber wrote how in Sparta everyone carrying weapons meant that they couldn’t afford to displease even a small fraction of them. So they had to resort to 100% consent and not majoritarian voting.

And then goes on to assert that the majoritarian voting process works only in a system where the state apparatus has an absolute control over violence with which the disgruntled minority opinions are suppressed. I think it sort of helped to resolve some of my internal contradictions around democracy as it exists today.
by jmclnx | 2025-05-04 14:22:24+00:00
I used ratpoison for a while 30 years ago on a 4:3 screen, it was OK, but I did not like some windows being large. I went back to vtwm, which I like, along with twm.

On these 16:9 screens, I cannot imagine using a tiling WM, I tend to leave the right part of these screens open for various monitors, and the IconManager.

But to me cwm is a great compromise and I use that on screens with low resolutions, like 1368x768.

But, this WM looks interesting, I may give it a spin.
by atonse | 2025-05-04 14:22:48+00:00
To be clear I’m not saying we shouldn’t have this because people would lash out.

I’m saying I’m worried that it would be more likely that people would lash out, than everyone just passively sitting around.

But to respond to your google analogy, 20% time is complemented by 80% being busy. This scenario would be 100% time.

It would be better to look at a population that doesn’t have to work, like retirees. And see what the various issues they face. But also correct for age and biology of course. Or look at populations of places like Qatar where most of the native population don’t have to work much due to oil/gas revenues.