skysight-inc/HackerNews huggingface dataset:
Show HN: I built an interactive map and search engine for US Census data
The core idea here is to use semantic search & LLMs to make it easier to search the tens of thousands of different demographic indicators available from the US Census API. I'm definitely not the first to try something like this, but I think this solution has some nice properties that I haven't seen in similar tools:

- Barring serious bugs, BlockAtlas won't "lie" to users. It may fail to find something relevant, or misunderstand a query, but the results (map title & data) will faithfully reflect the underlying Census estimates

- BlockAtlas covers a much wider set of Census data than other tools I've seen. Almost every "Detailed Table" from the American Community Survey is available, across the entire range of release years (2005-2022). There are ~29,000 demographic indicators in the search index as it stands, plus some combinations of indicators (e.g. "X and above") for popular tables

Similar LLM+Census things I've seen have used an approach akin to "replicate some data into my DB, have LLM generate SQL over it", which makes it hard to avoid issues with both of these points. I've taken a bit of a different approach - creating a search index over metadata, i.e. searching for API parameters and pulling the data itself directly from the Census. That way, the LLM is limited to "selecting between known-valid options", rather than generating a SQL query and displaying the results under a potentially-misleading name.

This is the second iteration of Blockatlas - the first was a ChatGPT plugin. The LLM would query my API for candidate variables, and generate a link to my site with the variables to display and the map title as query parameters. This made for a cool demo but ultimately was very hard to trust - the LLM could select a map title which was not at all reflected by the variables in question, or could combine variables in a nonsensical way, so it failed to solve the "don't lie to users" problem. The plugin ("GPT" now) is still available, but the standalone search engine is my effort to remedy those issues.

The tech stack: The frontend uses React for the search form and Leafet map. API is written in Typescript and hosted on Cloudflare Workers. The search indexes are in a Postgres DB using pgvector + OpenAI embeddings as well as pg's built-in full-text-search feature, and the OpenAI API is used for query-parsing and result reranking/selection as well (gpt-3.5-turbo).

I think there's a ton of room for improvement here, but wanted to gauge public interest a bit before putting more time into this (I have a newborn and a full time job, so it's been hard to carve out time to work on this lately).
LLMs help bootstrap ideas where developer lack skill. By this very nature, that generated, not totally understood code is the worst thing you can put in production.
The fact that it will be put in production by the metric ton is a guarantee that any initial gains in speed will be offset by countless hours of desperate debugging. And for that, LLMs are useless, in my experience.
> I still say that the answer is just semantic HTML/CSS

It's literally impossible to implement because humans just don't function like that. I'm sorry.

The answer for discoverability on the Internet was not semantic URLs or even link directories, it was the search engines.
Nice, I did a similar thing in 2018 with linear programming: https://peterellisjones.com/posts/fantasy-machine-learning/

I didn't win my friends' league, but definitely got closer than previous years
This was discussed at the time of the libxz revelations and they did re-review all commits in light of this: https://github.com/libarchive/libarchive/issues/2103
I put most of my open-source repos there for a few years, and got GitLab adopted at work too. They had similar feature set to GitHub and I didn’t want to support the latter’s near-monopoly status. After Microsoft bought GitHub and many large projects started migrating to GitLab (e.g. GNOME), I thought things were looking better.

But a few years in… I’ve given up and moved my repos to GitHub a year ago. It’s clear that my GitLab repos have nearly no visibility, and if no one finds the projects then there’s not much point in open sourcing it.
I use irssi in a screen with a Discord plugin to Bitlbee, so I can connect to Discord using IRC. I'm sure WeeChat or tmux are fine, but I am not reconfiguring my setup again. It's been working for over a decade now.
Do you have examples where Python’s Hypothesis (and its shrinking) works better than Haskell’s QuickCheck? This would let us improve Haskell’s QuickCheck.

My understanding is that Haskell’s QuickCheck can shrink functions, and with parametric polymorphism, can work with vector types and more [1], which would be difficult if not impossible in Python.

And in general, the base types covered by the shrinking in Python’s Hypothesis should have analogues by the shrinking in Haskell’s QuickCheck. And with deriving, Haskell’s QuickCheck should get shrinking ‘for free’ as in Python’s Hypothesis.

Also, Haskell’s QuickCheck extends to stateful and parallel checking, which is not supported in Python [2].

[1]: https://library.mlabs.city/mastering-quickcheck "Mastering QuickCheck: Advanced yet Practical Techniques for Property-Based Testing"

[2]: https://stevana.github.io/the_sad_state_of_property-based_te... "The sad state of property-based testing libraries: A survey of property-based testing libraries"
For us, it's mainly for legacy reasons. We used to have a self-hosted GitLab instance as a fledling company and then switched to SaaS GitLab after the company grew and IT spent too much time maintaining it, with an Ultimate subscription to get access to the security tools.

If this was my company, we would be on GitHub since GitLab Ultimate is super fucking expensive and those security tools are buggy as hell. Not sure if the GitHub ones are any better, but surely they can't be worse. Granted, I don't know how much we actually pay since Ultimate price these days is "contact sales", but I'm pretty sure it used to be like $99/user/month.

(We also wouldn't be paying for Jira on top of GitLab/GitHub.)
>(e.g. spending more time troubleshooting systems their engineers never understood in the first place).

I do not, for one second, believe that any company is literally cut-and-pasting code straight out of ChatGPT into their production environments without their engineers understanding it.

The number of developers on HackerNews who think that not using LLMs is "cool" or more valuable is shocking. It's no different than saying you don't use X other development tool.
> I still say that the answer is just semantic HTML/CSS. You're coming at the problem from the wrong direction naming things for how you want them to appear. Name them for what they are. Write the HTML agnostic to how it's intended to appear, and then just use CSS as a tool to style the already existing document.

I would love to do that, but it's simply not practical, at least not without CSS hacks that are hard to reason about.

---

A few reasons (non-exhaustive list):

In general, the separation of HTML and CSS is theoretical, not practical. They are tightly coupled descriptions of your overall layout, which is why there are so many incomplete attempts to manage the resulting complexity (see: this article).

HTML is not just content. It complects content plus layout. If you separate content from layout you get something like XML+XSLT, not HTML.

HTML is a strict tree structure and CSS can only query it in two directions: "down" and "next". A lot of layout and styling concerns are graph relationships. You need to adorn things _up_ the tree (in the form of nodes/attributes/classes etc.) in order to give enough context for layout and styling down the tree. And in some cases that doesn't work either.

Many CSS properties describe styling relationships between nodes. For example flex and grid make no sense in isolation. This couples the structure of your HTML with its styling in a profound way.

Some HTML tags don't represent their structure well, for example: <dl>, <dt>, <dd>. The natural way of thinking of these elements, laying them out and styling them, is to group each <dt> and <dd> together.

---

I agree half-way with you though. It's often useful to generate _just_ the "semantic" content at first: just use the tags and structure you need to lay out the structure of your content in a meaningful way. But as soon as you start caring about design, you will have to add tags, attributes classes etc. that are only there to serve styling.
That doesn't matter at all. Handling authorization at the federation gateway point is a nightmare in any case. At least with GraphQL the scope is limited.
Wouldn’t having insights into the stack used by a company help with cross selling their monitoring suite? Example: if a company is committing code that is heavily involved with Redis, Datadog could come in and say “hey, need to monitor memory usage of your Redis clusters? We got a solution for that”

Just playing devils advocate
"Learning to Be Me" is a masterpiece, one of the best short stories ever written. Not only is the phenomenology brilliant, but the literary skill is so good that, even though you suspect what's coming all throughout the tale, he still manages to shock you in the denouement.

You come out thinking that the procedure was done to yourself after you're done reading.
If it's non-small cell lung cancer, which accounts for 80-85% of lung cancer cases, it's very aggressive and rarely noticed before stage 4.
If you are into TUI stuff I can recommend Senpai https://git.sr.ht/~delthas/senpai/ - it's pretty much how I like to configure weechat and irrsi etc but out of the box.

There's also a new-ish IRC bouncer out there that's a lot simpler than ZNC, soju https://codeberg.org/emersion/soju
I agree, I think they shouldn't exist. That's why I used a ;) face. maybe I should've used /s?
This is going to sound stupid, but bear with me. Godot is a very simple engine once you get past its learning curve. I know that this thing could be said about anything, but you only need a couple of hours/days to grasp the basics. And once you know the basics, you pretty much know the whole engine and can refer to documentation for anything you want to do. For example, for a Godot beginner even creating a simple 3D cube can be a problem. But once you understand that you need to compose it out of different building blocks, how you should do this and why, everything clicks. It's a delight, I recommend everyone to try Godot
Ask HN: What software do you use as a developer on the iPad? FTP, Editors?
The web is merely a platform on which pretty much anything can be built, both complex and trivial.
I thought eliminating the cheap plan was a huge mistake. You can say that people shouldn't balk at paying $20 a month, but Github offers a plan for $4 per user, why should they pay more and all they get is features they don't intend to use? Ceding the entire low ground like that is shortsighted, especially since Github has an advantage in selling the same users an expensive plan if and when they need it.
I'm a little unclear as to why JiaT75's github account still exists? Surely this should be nuked from orbit so that no one accidentally ends up using their shady code?
Have you used Claude Opus or Sonnet 3.5 by anychance?
The heartwarming part was too much for Forbes

https://www.amusingplanet.com/2018/07/how-single-cat-hunted-...

>Nine months later, he proudly reported that he had shot more than 100 feral cats.
Show HN: Scorecard Project Rating Search and Preview with Fzf CLI
> I see this a lot, but it seems hard to verify.

Easy. As you say all you need to do is to compare and as I occasionally have a glimpse of the spam for some non-English language with a non-Latin script - it's the same.
I've seen juniors solve issues in an hour or two that could have taken them a day or two without ChatGPT.

The code isn't always the most desirable one but code review catches that.

On the other hand, this puts a larger burden on seniors who have to review subpar code on a faster pace now.
> The user Jia Tan added exploit code to the 'xz' tool as part of a larger deal.

Various discussions on this backdoor (in rough chronological order):

* Backdoor in upstream xz/liblzma leading to SSH server compromise:† https://news.ycombinator.com/item?id=39865810

* What we know about the xz Utils backdoor that almost infected the world: https://news.ycombinator.com/item?id=39891607

* How the XZ Backdoor Works: https://news.ycombinator.com/item?id=39911311

* The xz sshd backdoor rabbithole goes quite a bit deeper: https://news.ycombinator.com/item?id=39956455

* XZ backdoor story – Initial analysis: https://news.ycombinator.com/item?id=40017310

† Original report, AFAICT.
why wouldn’t they just immediately reject it if they know its the same guy from the xz thing?
Both - Australia struggles with direction as lobbies successfully pull in opposite direction of the countries interest for their own. Emissions trading schemes, mining taxes, housing supply are examples where policy has gone through that was not in the best interest of the country and our politicians have landed rewarding jobs for their services.

When we do agree to do something, we don't have the skilled man power to do it in under a decade. Our broadband network upgrade for example has taken 15 years and counting to get fibre to everyone.

Something as simple as a rail line from the CBD to an airport can take half a century... and counting...
Checks and balances, bitches. System working as intended. It's a good day.
Obviously "recover" is not the correct word here. Maybe "swindle" is a better word, considering they are actively circumventing the users' wishes to block tracking.
Only murmurs for now, admittedly, but I heard a reason IBM is training models (e.g. https://research.ibm.com/blog/granite-code-models-open-sourc...) is because they provide LLM-based systems for enterprise customers to work on ancient, legacy codebases in languages like COBOL more easily. If true, I could definitely see how that might boost productivity as fewer people remain fully trained in the details of such old systems and languages.
> RISC-V is an open-standard ISA for processors that is slowly gaining traction, especially in China, where some tech companies are using it to bypass America’s sanctions on the country.

I really don't like that narrative, it doesn't even make sense as MIPS already exists and is more than sufficient for the applications RISC-V is being used in. The same could be said about Linux but it's obvious how ridiculous it would be to bring that up.
History is useful
good thing that was in the title
IFF was a popular image format at the time.
My first RPG was the original pokemon red/blue and as a kid I was utterly baffled by the menu based combat. At first I thought the menus were bushes that you were hiding behind to catch the pokemon. The idea that the battle system was an abstraction over what a pokemon battle would actually be like was completely foreign to me. I got over it within the first hour but I remember being disappointed that you weren't actually slinging pokeballs and such.
It's like the opposite of the "I hate almost all software" [1] rant.

[1] https://tinyclouds.org/rant
Tangent on the Carmack quote - “Story in a game is like story in a porn movie. It’s expected to be there, but it’s not important.”

I never agreed much with it, as the games I got hooked on as a kid I did mostly because of their stories - however, very recently, I started to like games that are almost 100% story and 0% free-form gameplay. Namely, the "choose your own adventure" stories with quick action events, and such. Bear with me :).

Two strong titles from that category (both 11/10, will play again, recommend to everyone remotely in the target audience):

- Star Trek: Resurgence - IMHO the best Trek game in the past 20 years, and the very one you want if you'd like to feel yourself, if for a moment, living and breathing Starfleet life (not just on the top, but also on the lower decks).

- The Invincible - based on Stanisław Lem's 1963 novel of the same title, it's something you want if you're into hard sci-fi, sci-fi meets philosophy, or that sweet atomic era / Soviets-in-space punk.

Why I started to like this genre? Both games above I could describe in one phrase: Mass Effect but without all the running around and other bullshit distractors.

The games are designed to give you choices (usually time-sensitive) that alter events. There is limited freedom of movement, but it's always obvious where you need to go. The fights, if present, are real, but simplified. The quick action sequences and minigames are designed to mimic context-relevant behavior in the simplest possible way (say "press W" to lift a panel, or "press D + LMB" to push the person to the right away from sudden danger while shooting towards it, etc.). This results in a kind of flow - you have pretty much all the meaningful choices and gameplay of a typical CRPG like Mass Effect (or even more), and zero of the frustration of getting lost, tripping off a ledge, or doing any of the many other immersion-breaking things you would encounter in a typical CRPG on a regular basis.

In essence, this is subverting the article's concept: those games are minimum viable story-driven games, distilled and stripped out of all boring gameplay parts :). Or, in Carmack's terms, captivating erotica that lacks explicit depictions, but achieves the same result by being cleverly suggestive at all times.
removing their account doesnt remove their commits.
The PR is originally from 2021 and has been merged back then, but there's more recent discussion on it about whether this introduces a vulnerability.
Chronology. "the XZ thing" happened 3 years after merging.
Because children are growing up less and less connected to their relatives. Not just grandparents but also cousins too [1]. This is contributing (along with 2-income households) to the decline of local cultures and institutions, and the death of community overall [2].

[1] https://news.ycombinator.com/item?id=39340501

[2] https://en.wikipedia.org/wiki/Bowling_Alone
Yes, attributes. The property is on the element.
> AI-assisted programming is able to deliver a realistic 10-20% overall productivity boost for developers (including the fact that developers don’t code all day).

Dubious, at best, claim
> Write the HTML agnostic to how it's intended to appear, and then just use CSS as a tool to style the already existing document.

But it's not possible to write HTML agnostic to how it's intended to appear, in the general sense. That's the issue with CSS. This whole thing about separating content and styling is carried too far leading to very bad UI architectures.

Stuff like colors and fonts can be separated from content. Stuff like positioning, hierarchy, etc. cannot be meaningfully separated from content in many cases, and trying to do so is the root of UI evil.

This is why the component approach is so powerful. By combining content (with its implied style) with explicit styling in an integrated package, large UI trees become composable and easier to reason about.

But many devs still don't grasp this, and continue to fantasize about pure content that can exist totally separate from presentation, a pipe dream.
I really disagree on this. I’m not saying nadella hat no merit but:
* msft was already a giant before he took over. Expanding this is not easy but it’s not like becoming a giant, very large companies have huge advantages, many of which completely unfair, which many govt are starting to try to push back on.
* as stated before, it’s a one way street: if he increases Msft value, he makes millions. If he crashes msft, he makes millions, just less of them. His risk is not comparable to the risk of “normal” employees who can be laid off tomorrow.

Hence I really think the pay gap is ethically questionable.
The context of the article is that the opposition party in Australia wants to give up on renewable targets and just build 5 nuclear reactors instead.

Australia has no nuclear reactors currently, nor any waste disposal facility...

The article is trying to show how easily China can accomplish what will take years here with numerous delays and cost blow outs.
Cookie warnings killed my love of the web.
> And yet, Apple still use NSCopyObject themselves to this very day

On one hand, I'm not surprised. Change at that low a level is danger. The most risk-averse path is probably what Apple did: leave the classes calling NSCopyObject() alone, and really really warn developers not to use it (and be sure not to introduce any new Apple classes that call it). (The author raises the obvious problem though with subclassing ... would be embarrassing for Apple to also tell devs to stop subclassing NSCell)

I think with how dynamic the OS has shown itself to be, we generally hope that problems like this just "go away". Apple is probably hoping people, decades on now, are no longer subclassing NSCell — have moved off of NSAnimation....

Interesting read. I always like to learn how things work under the hood.

It's a funny thing that when you are introduced to a new language or framework — like ObjectiveC and Cocoa were to me, it feels like a thing that works in a magical way. And initially you treat it like the black box it appears to be. You adhere to things you are told like, call AutoRelease() before returning an object if you expect the caller to retain or whatever - not really knowing what all that means. Only later finding out that the "magic" of retain/release is just a count that is incremented and decremented.

In time the veneer of magic fades and you remind yourself that the thing was written in C after all.
@dang: Please add [2021] to the title.
Loved this one. If interested in similar scifi short story bundles I can recommend Ted Chiang’s “Exhalation” and “Stories of your Life and Others”. One of these was the basis for the “Arrival” movie.

https://en.m.wikipedia.org/wiki/Ted_Chiang
The deletion of the account would not delete commits associated with it. The commit would still contain everything potentially malicious, plus a reference to an account that would be deleted. Which is actually worse, you cant track what code a malicious actor has contributed (easily). So the correct thing to do is take away login / deactivate the account, and then start going through all contributions and check them via the account that references all of this.
It’s not really an article is it? It’s more like a long twitter post about how having to use react and tailwind sucks. Which is weird because as you point out, you don’t have to use either.

I’d also argue that you’ll still need to know how CSS works even if you’re using tailwind. It’s still CSS it’s just that you don’t have to build everything yourself, but you do have to know how it works.
I could be wrong, but I reckon I read somewhere that the "considered harmful" was added in review by Niklaus Wirth, who, at the time, was editor for CACM.
I don't disagree. My point is that Hugging Face did what others could have done. I don't think it was just luck.
2222: A tiny, silly game that you can program with anything
>> […] where some tech companies are using it to bypass America’s sanctions on the country.

> I really don't like that narrative, it doesn't even make sense as MIPS already exists and is more than sufficient for the applications RISC-V is being used in.

Is it a "narrative" if some Chinese tech companies are actually using it for such a purpose?

And even MIPS-the-company is moving to RISC-V:

> Computer architecture courses in universities and technical schools often study the MIPS architecture.[9] The architecture greatly influenced later RISC architectures such as Alpha. In March 2021, MIPS announced that the development of the MIPS architecture had ended as the company is making the transition to RISC-V.[10]

* https://en.wikipedia.org/wiki/MIPS_architecture

> In May 2022, MIPS previewed its first RISC-V CPU IP cores, the eVocore P8700 and I8500 multiprocessors.[9] In December 2022, MIPS announced availability of the P8700.[10]

* https://en.wikipedia.org/wiki/MIPS_Technologies