MurphyA/hacker-news huggingface dataset:
I built a neural classifier to replace Plaid's transaction categories
by WilliXL | 2025-05-05 21:06:58+00:00
I recently shut down a startup I was building. It was a rewards platform for health-related spending. My users were scattered across the US, but mostly in SF, NYC, LA, Chicago, and Boston.

The core product relied on inferring whether a transaction was health-related or not. I quickly realized that adding rules and heuristics on top of Plaid's categories wouldn't work. Not to mention that Plaid's categorization was way too inaccurate to be deciding financial rewards on.

Here's an account of what I built to make it work, verified with a cleaned dataset of 6k data points collected from my platform.

First of all, Plaid's baseline categorization accuracy was low: - Categorization accuracy was 65.22% overall - Accuracy was better for well-known merchants (Plaid identified an "Entity ID") at 83.99%

I tried RAG to start, but that immediately fell apart due to name collisions and regional duplication

Thankfully I was able to start with Plaid's already cleaned transaction data. To better resolve entities, my pipeline took in: - Transaction amount (for product band heuristics) - Location - POS method (in-person vs. online) - A list of known bank-specific formatting quirks that I collected as I tried to build this pipeline (for now limited to the Big Banks ™)

Using that data I could much better figure out: - Which entity the purchase was made from among entities with duplicate names (mostly SMBs) - Collapsing regional identifiers into a single parent organization - Side note: did you know that Orangetheory has a different regional identifier for every location. For example: "Orangetheory", "OTF", "otf", "otf {city}", "orangetheory {city}" are all possible names. This one took so long to solve robustly

Also this way I could provide a custom category to look for. In my case it was "health-related" or not. Which I defined with the FSA/HSA eligibility rules (in JSON format), plus some other properties like fitness/studio classes merchants, and supplements.

The results: - 87.28% accuracy on classifying "health-related" spend (with a "needs more info" tag for marketplace cases like Amazon) - 95.78% accuracy on personal finance category classification, with only 300 known entities logged in my database. So this can definitely improve with more effort put in expanding the known entities list

I made this writeup mostly for catharsis to shutting down my startup, and to warn of potential things to look out for when trying to properly utilize transactions data.

But I really do believe that this kind of infra, semantic understanding of financial data, is becoming increasingly valuable as financial data becomes more available. And new businesses can be built with it. I am considering expanding more on this infra as a developer API or toolkit. So if you're working on financial rewards, personal finance apps, FSA/HSA/expense platforms, accounting tools, etc. I'd love to hear from you!
by voidspark | 2025-05-05 21:06:59+00:00
Technically it is a refinement, as it distinguishes levels of performance.

The General Intelligence part of AGI refers to its ability to solve problems that it was not explicitly trained to solve, across many problem domains. We already have examples of the current systems doing exactly that - zero shot and few shot capabilities.

> We have no evidence of this.

That's my point. Humans are not "autocompleting words" when they speak.
by fennecbutt | 2025-05-05 21:07:17+00:00
But then why do so many invoke "the old country" stuff lmao.

I definitely still feel like it gives Americans in an otherwise contiguous and vanilla culture something to grab onto per se.

I have American friends over here who are very invested in where they're from and have a unique interest in telling peeps about their history even though they're like 5th generation at least.
by mabster | 2025-05-05 21:07:48+00:00
1. This problem is introduced by increasing the tab width, so this solution is basically "don't do that". 2. Line wrapping on something like C where you have braces is okay, but not with something like Python where the code now looks wrong.

I'm in the spaces camp, but I was musing about this for the tabs camp because wanting to adjust the indentation seems reasonable.

(My "favourite" convention was Luajit where the convention was: 2 spaces, until we got to 8 spaces, in which case tab.)
by stefan_ | 2025-05-05 21:08:55+00:00
> anti-LLM people saying very obviously untrue things, which is uh, kind of hilarious in a meta way.

tptacek shifted the goal posts from "correct a hallucination" to "solve a copy pasted error" (very different things!) and just a comment later theres someone assassinating me as an "anti-LLM person" saying "very obviously untrue things", "kind of hilarious". And you call yourself "charitable". It's a joke.
by nicwolff | 2025-05-05 21:08:57+00:00
My wife and I rented a midsize from Budget this weekend and got a Dodge Hornet R/T, which is their current sporty hybrid (a rebadged Alfa Romero Tonale). The media and climate controls were of course integrated into a big touchscreen and totally baffling to a simple software architect like me.

Fortunately its engine also chewed itself up, and they begrudgingly replaced it with a new low-spec Toyota RAV4 which had wonderfully ergonomic controls: a nice little touchscreen for CarPlay, and below it big knobs and and an LED screen for FAN and TEMP.
by tuyguntn | 2025-05-05 21:09:31+00:00
> The world does not care about your mental state.

That's exactly what I am saying, your mental problem is yours (saying this as a person who got burned out hard in the past), business doesn't care about your state, it cares about your output, ROI and maximize profits.

Reason I brought capitalism is because in socialism laws might care about your mental health, not in capitalism.
by msm_ | 2025-05-05 21:10:07+00:00
Sorry. I just wanted to link https://en.wikipedia.org/wiki/Etymology_of_Belarus.

But it's pretty obviously politically charged, as in "White Russia" strongly suggests a Russian heritage and maybe even implies they're rightfully a part of Russia. This narrative is very beneficial for some, of course.

On the other hand, "Ruthenia" is a historical region, with no clear connection to any existing country. Thus "White Ruthenia" sounds much more like an independent country. English doesn't make it clear, but in many slavic languages it's just "Rus". Historically there was also, for example, Black Ruthenia[1]. Similar controversies were related to Macedonia for example, and Greeks objecting to that name.

[1]https://en.wikipedia.org/wiki/Black_Ruthenia
by sokoloff | 2025-05-05 21:10:16+00:00
Sure, while the AI is busily shitting out 3 mistakes for every success at $6 each (~$25 plus 3 errors to fix per success), you need the same [or even greater numbers of] humans to accomplish the overall job.

But if you can identify the slice of work that AI can do with 98% or 99% unattended success rate, then you can steer the humans you have to higher value work, having released them from 20+% of their tasks at the cost of only $6/task.

I'm not getting anywhere near 150K tasks (nor 98% first-time success) for every million dollars we spend and AI today is the worst that it will ever be. $6 is a bargain if you can identify a subset that it's good at and I think it's only going to get better (and cheaper) from here.

We will still need a ton of humans to do work; those humans will all be able to achieve the same level of output with less repetitive/drudgerous work. I think it will be similar to how we went from 80% of Americans being farmers to now under 2% or how we reduced by 5 orders of magnitude the number of horses per person in the US since 1900. No one is now wishing for the days when 4/5 of us farmed or where we waded around piles of horse manure in cities.
by Tade0 | 2025-05-05 21:10:36+00:00
That is basically what psychiatrists have been saying about the topic.

Humans need downtime to process emotions - in the olden days there was a lot of menial work which served this purpose, but we automated most of it since, freeing time for more productive, but stressful activities.

Meanwhile looking at screens allows one to leave all that for later. Unfortunately unprocessed emotions don't go away - they pile up.

I've been using this to gauge how well I'm doing mentally and address whatever issues there might be. My ideal state is that of a chimpanzee who was finally let outside after years in captivity which, upon leaving the building where it was kept, just stares at the sky.
by core-explorer | 2025-05-05 21:10:42+00:00
We usually don't talk about "the dimensions", we talk about the general case: n-dimensional spaces (theorems covering all dimensions simultaneously) or infinite-dimensional spaces (individual spaces covering all finite-dimensional spaces).

Of course, when you try to generalize your theorems you are also interested in the cases where generalization fails. In this case, there is something that happens in a 2-dimensional space, in a 6-, 14- or 30-dimensional space. Mathematicians would say "it happens in 2, 6, 14 or 30 dimensions". I never noticed that this is jargon specific to mathematicians.

Problems in geometry tend to get (at least) exponentially harder to solve computationally as the dimensions grow, e.g. the number of vertices of the n-dimensional cube is literally the exponential of base 2. Which is why they discovered something about 126-dimensional space now, when the results for lower dimensions have been known for decades.
by quantadev | 2025-05-05 21:11:53+00:00
I've been wondering for about 20 years why File Systems basically died and stopped innovating. For example we have lots of hierarchical data structures in the world, and no one seems to have figured out how to let a folder be the storage, instead of always just databases.

For example, if we simply had the ability to have "ordered" files inside folders, that would instantly make it practical for a folder structure to represent "Documents". After all, documents are nothing but a list of paragraphs and images, so if we simply had ordering in file systems we could have document editors which are using individual files for each paragraph of text or image. It would be amazing.

Also think about use cases like Jupyter Notebooks. We could stop using the XML file format, and just make it a folder structure instead. Each cell (node) being in a file. All social media messages and chatbot conversations could be easily saved as folders structures.

I've heard many file copy tools ignore XATTR so I've never tried to use it for this purpose, so maybe we've had the capability all along and just nobody thought to use it in a big way that became popular yet. Maybe I should consider XATTR and take it seriously.
by lxgr | 2025-05-05 21:11:56+00:00
> when was the last time you made a call that was full analog/PRI?

Probably 15-20 years ago? That would have most likely been over DECT, though, which adds 10 or so ms by itself (our wired landline phone was in a slightly awkward location :)

> Did you notice that cell phones had higher latency than landlines?

Compared to landlines, the most noticeable aspect of GSM wasn't the latency (unless the person on the other line was right next to me, in which case there was an echo), but rather the absolute potato quality compared to both G.711 landlines and modern VoIP codecs.

> mainstream calling isn't willing to send 200 packets per second of 5 ms of samples

Yeah, that would probably be too much overhead for most applications. But now you got me wondering: Do video calls have lower latency audio (assuming the codec can do better than 20ms in the first place), given that there's probably much more data available to send at any given time?
by techpineapple | 2025-05-05 21:12:18+00:00
It always seemed like a weird marriage to me, and at the onset of Trump's administration, there were just too many people promising too many things. All of the different things the Trump administration were going to do were in direct conflict with eachother. And I think sometimes in the early days of that, it's easy to theorize or paint these rosy pictures about how the Religious right and tech right have more in common than they first appear.

But the funny thing about leading, is that while the anticipation is rosier than you'd think, the leading is often even worse than I might imagine. Like it could be that Musk and the administration just didn't quite get along on ideological grounds, or Musk ran out of things to do, or it could be that he was kicked out just because people found him annoying.
by hoherd | 2025-05-05 21:12:38+00:00
I take personal pride in how many of my friends have online avatars that are candid portraits that I took of them while we were out doing whatever, and I have had numerous people contact me and ask me to remove all of their photos. In the past sometimes it was "replace my name in the tags with a pseudonym" but now it's "remove them all." This all happened before AI took over, so you can imagine how relieved many of those people are in the age of deepfakes. Candid portraits are my favorite kind of photo to take, but sadly in the modern age, I've chosen to take down almost all of my portraits. I still have a self-hosted photo sharing software set up that I personally use to look through my collection and can share past memories with people, including lots of portraits I would have previously posted online, but I think most people and I have our guard up against AI crawlers. AI crawlers have made the web much more hostile than it was in the past.
by atonse | 2025-05-05 21:12:47+00:00
Right now, as you know we’re in a total Wild West with this. So the experience is different for each client (VS code, cursor, etc)

To me, the ideal the UX is similar to the extensions UXs in each IDE, you search, click install, and get on with your life after doing an OAuth dance. Or even a discovery mechanism built into the agent itself. Sort of a “have you considered installing this? I can talk directly to JIRA for you” etc

The next best thing would be a catalog where I search, and with a single install button that would add the MCP to a certain IDE. But do the IDEs make this sort of API available, given that they all want to differentiate?
by alganet | 2025-05-05 21:13:14+00:00
The issue of self doubt is quite interesting.

Are you trying to copy The Matrix? With some "know thyself" thing?

You know that it's a trick, right?

I can just not use AI. I don't have an inferiority complex about it. If it's better than me, it's better than me. I'm not measuring it though. Are you?

I don't spend time in philosophy to look at a mirror. I spent time to look inwards. It's quite different. AI can't do that.

Be cool, Mr. 0x6c7.
by Jubijub | 2025-05-05 21:13:47+00:00
I respect the craft, and I have riced my distro, but theming my boot loader is the last thing I would waste time on.

I use my motherboard F8 menu to switch between Win11 and Arch boot loaders (so they can ignore each other, much simpler to maintain), so systems-boot appears only exactly 3 seconds to give me an opportunity to boot Linux-LTS instead of the last kernel version. And if I need to do anything fancy at boot time (eg: repair a borked boot config), I use a USB key with arch iso, and chroot into my install and then I have the full power of the command line.

I really really fail to see the point of spending hours to theme that.
by feoren | 2025-05-05 21:14:34+00:00
> One can work quite easily nowadays with exact representations of rational numbers on computer

One can also work with exact representations of Pi and sqrt(2). Use a symbolic system like MATLAB or Wolfram Alpha. Yes, if you create dedicated data structures for those exact representations you can work around the limitations of both 1/3 and Pi -- this is my point: the line is not "rational vs. irrational", it's "exact vs. computable to arbitrary precision vs. uncomputable". That is to say: a mathematical model that permits the rationals but outlaws the irrationals is much less likely to be at all useful than a model that permits computable numbers but outlaws/ignores non-computable numbers. I contend most objections to irrational numbers boil down to their general incomputability -- that is, 100% of all irrationals are not computable, and that makes people anxious. There is a coherent computation-focused model that keeps all computable irrationals and disallows the rest that would quell almost everyone's objections to the irrationals. For example, the set of rationals plus computable irrationals is countably infinite. All polynomials have roots.

> For decimals, it is the idea that doing arithmetic with an infinite decimal is difficult even with a simple example such as 1/9*1/9 which is multiplying .111... times itself, leading to sums of 1s that carryover and create a repeating pattern that is not self-evident from the decimal itself.

Right, but this is another example where an objection to irrational numbers can also be levied against 1/9, showing that computability is actually what we care about. And Pi and e and sqrt(2) are all computable, and not in any qualitatively more "difficult" way than the rationals.

> For Dedekind cuts, his issue seems mostly with a lack of explicit examples beyond roots. I think that is the weakest critique.

Yes, that is a weak critique indeed. Any computable real can be turned into a Dedekind cut that you can query in finite time.

> I came up with a version of real numbers using intervals

I haven't dug into your axioms but it seems to follow that if you gave me a Dedkind cut (A, B) then I could produce an Interval Oracle by taking [x, y] => x ∈ A && y ∈ B. Similarly if you gave me an Oracle I could query it to determine inclusion in A and B for any points -- immediately if you allow infinity in the query. That is, Oracle(x, inf) <=> x ∈ A and Oracle(-inf, x) <=> x ∈ B. So at first glance these appear to be equivalent, unless you disallow infinity to the Oracle, in which case I might need O(Log(n)) steps to establish inclusion in the Dedekind steps. So it might be a very slight Is that where the power comes from?
by q5play | 2025-05-05 21:14:52+00:00
Hi I'm Quinton Ashley and I just released q5.js v3.0!

The q5.js WebGPU renderer is up to 32x faster than p5.js v2! In typical use cases it's also significantly faster than Java Processing 4.

When I started working on this project, I knew absolutely nothing about low level graphics programming. Thus, developing it took me a whole year and multiple refactors, so I'm glad to finally have a stable release ready for public use.

If you have any questions, let me know!
by klabb3 | 2025-05-05 21:14:55+00:00
It’s only true in theory and over a single transaction, not necessarily over time. The hack that VCs have exploited for decades now is subsidizing products and acquiring competition to eventually enshittify. In this case, when OpenAI dials up the inevitable enshittification, they’ll have gotten a ton of data from their users to use for their proprietary closed AI.
by joshstrange | 2025-05-05 21:15:10+00:00
This is very, very cool! The interrupting was a "wow" moment for me (I know it's not "new new" but to see it so well done in open source was awesome).

Question about the Interrupt feature, how does it handle "Mmk", "Yes", "Of course", "cough", etc? Aside from the sycophancy from OpenAI's voice chat (no, not every question I ask is a "great question!") I dislike that a noise sometimes stops the AI from responding and there isn't a great way to get back on track, to pick up where you left off.

It's a hard problem, how do you stop replying quickly AND make sure you are stopping for a good reason?
by JumpCrisscross | 2025-05-05 21:15:19+00:00
> AI companies are already automating huge swaths of document analysis, customer service. Doctors are straight up using ChatGPT to diagnose patients

I don't think there is serious argument that LLMs won't generate tremendous value. The question is who will capture it. PCs generated massive value. But other than a handful of manufacturers and designers (namely, Apple, HP, Lenovo, Dell and ASUS), most PC builders went bankrupt. And out of the value generated by PCs in the world, the vast majority was captured by other businesses and consumers.
by foota | 2025-05-05 21:15:23+00:00
I'm not a lawyer either, but from the summary a key part of the case seems to be that they were distributing the video to people for them to watch.

"Aereo's retransmission of television broadcasts was a "public performance" of the networks' copyrighted work. The Copyright Act of 1976 forbids such performances without the permission of the holder of the copyright. Second Circuit Court of Appeals reversed. Court membership"
by aaaja | 2025-05-05 21:16:02+00:00
Sports governing bodies in the UK are rapidly rewriting their policies to stop these men from competing in women's sports, after a recent Supreme Court judgement ruled this amounts to unlawful sex discrimination against women. So hopefully this ongoing insult to all the women who've worked so hard to compete in their sport of choice will soon be over.

That said, the ideal outcome would be apologies to every female athlete affected by this, and for these men to be retrospectively disqualified and stripped of any medals or titles, with these instead being awarded to the women who would have won had these men not been competing. I doubt this will happen any time soon, but if those running these competitions had an ounce of integrity and sense of fair play, they would do.
by RGamma | 2025-05-05 21:16:22+00:00
I don't mean reaching for support. I mean setting up a scam like this. It seems so bottom of the barrel scummy, creative too, but mostly scummy.

Imagine you have the creativity and criminal energy to conceptualize and operate something like this (and the rat tail of justice evasion, laundering money, etc). It seems so much easier to make money in the honest economy.

Unless of course you're operating for a rogue state...
by xenodium | 2025-05-05 21:16:52+00:00
> Nice to see this on HN from the app creator

Glad to hear!

> Intrigued to try it (vs BeOrg)

Both apps speak org on iOS. It just so happens the apps offer different targeted experiences. While Beorg is perhaps more geared toward task lists and calendars, Journelly focuses on short and quick notes.

I use it a lot for saving links for all sort of things like movies, music, videos, restaurants. You can share from letterboxd, shazam, youtube, google maps, etc. into Journelly. You get link previews in the app and in the case of youtube, play from app.
by JumpCrisscross | 2025-05-05 21:17:34+00:00
> Just like people are forced to use web Office and Microsoft Teams, and start prefering them over Google Docs and Slack? I don't think so

...yes. Office is the market leader. Slack has between a fifth and a fourth of the market. Coca-Cola's products have like 70% market share in the American carbonated soft-drink market [1].

[1] https://www.investopedia.com/ask/answers/060415/how-much-glo...
by rchaud | 2025-05-05 21:18:17+00:00
We'll be debating whether or not "AGI is here" in philosophical terms, in the same way people debate if God is real, for years to come. To say nothing of the untaxed "nonprofit" status these institutions share.

Omnipotent deities can never be held responsible for famine and natural disasters ("God has a plan for us all"). AI currently has the same get-out-of-jail free card where mistakes that no literate human would ever make are handwaved away as "hallucinations" that can be exorcised with a more sophisticated training model ("prayers").
by joshstrange | 2025-05-05 21:19:28+00:00
This 100%, yes!

I've found myself putting in filler words or holding a noise "Uhhhhhhhhh" while I'm trying to form a thought but I don't want the LLM to start replying. It's a really hard problem for sure. Similar to the problem of allowing for interruptions but not stopping if the user just says "Right!", "Yes", aka active listening.

One thing I love about MacWhisper (not special to just this STT tool) is it's hold to talk so I can stop talking for as long as I want then start again without it deciding I'm done.