This is the big pain-point for me with self-hosted budgeting software.
The corporate players in the space can jump through the security hoops and integrate with Plaid, but if I wanted to automatically pull my own data into the single-user budgeting tool I host entirely on my own network I need to pass the same security checks as a full-on fintech startup.
Currently I enter transactions manually, but manually reviewing multiple credit card and bank statements is a chore and I don't keep up with it as much as I should. To make things worse, since I ideally want a live view of my budget and not a post-statement-issuance monthly review, I'm constantly checking over transactions I've already entered when their ordering changes in my credit card company's app.
The closest thing to a potential solution involves extracting my Monarch Money session key from my browser and pulling data from their GraphQL endpoints with the help of an unofficial Python SDK. That doesn't solve the "relying on a subscription service" problem, but it would at least let me get my data into the custom budgeting tool I built that actually meets my needs.
If I had my 'druthers there would be legal rules around the rights of customers to access their information, using an API key limited to reading past/pending transaction data.
I suppose an extra-paranoia feature might be letting people set a salt value for any data which is too sensitive to release but it needs to be present for comparison/sync purposes.
I'm grateful that this is possible via Up bank here in Australia. Webhooks push the data through a free-tier Worker on Cloudflare and into YNAB within a second of the transaction going through. Full updates across pending/cleared and deleted transactions too. I’ve had this running for 18 months now and it's been a dream.
You can "solve" this by throwing your PDF statements at llms and having them extract the transactions. Has privacy implications if you use hosted llms of course.
As for self hosted accounting/budgeting software, IMO Beancount is the best by far: nothing to host, just text files.
I built my own financial dashboard and used Enable Banking Accounts API, it's free to use for such limited usage, and they support most European banks at least.
Try our app, Pendragon (https://pendragon.foxtrotcommunications.net), and get started with simple expense analysis right away. Easily add your accounts via Plaid or even just a simple csv upload.
We go far beyond a simply budgeting app by providing a solution for your entire financial life. We look at your finances holistically and make judgements that you can rely on.
Yeah, I'm pretty sure Keychron has legitimately published the source for their QMK branches.
The real issue is that people buying a keyboard that advertises QMK support reasonably expect that they can install the upstream generic QMK, but Keychron actually maintains a bunch of "playground" branches on their fork of the QMK repository that each function as their own version of QMK.
I've been using a Q6 Pro as my primary keyboard for a while and I like it overall, but I was very disappointed when I decided to roll up my sleeves and compile QMK myself. My board launched with a build from the "bluetooth_playground" branch, which hasn't been updated for 2 years now and is now 6000 commits behind the main QMK project. There's now a separate "wireless_playground" branch which has been updated more recently and has an entry for my keyboard, but the link on the product page still goes to "bluetooth_playground" and even "wireless_playground" is 3000 commits behind the main QMK project.
Keychron boards without special functionality seem to get added to upstream QMK just fine, but a lot of us owners of bluetooth-enabled Keychron boards would really appreciate it if they provided an official way to flash normal QMK and just forgo the wireless features.
I wonder if it would be possible to get ZMK working on it instead, since that's built primarily for wireless support, and also supports wired configurations too as of recently. Seems like the STM32 that the Q6 pro uses is supported, so you might have some luck: https://zmk.dev/docs/hardware
This doesn't seem to be relevant to the comment you replied to. They didn't mention anything about paying less to pharmaceutical companies, they argued that the administrative overhead of providing the insurance itself is lower.
As I read it, your argument seems to be that American healthcare must be more expensive than similar-quality healthcare elsewhere because we're paying higher pharmaceutical prices to fund research. If we accept that premise, shouldn't that mean that:
1. The "medicine" portion of costs increases, causing the total cost to increase
2. Administrative effort, and therefore absolute cost, remains the same (we're paying X% more for drugs, not thinking X% harder about whether a given drug is needed by a given patient)
3. Administrative overhead as a percentage of total cost should be lower given a similar efficiency level, because higher drug prices inflated the divisor (total cost) while having no effect on the dividend (administrative costs)
Yes. Institut Pasteur discovered a lot of the molecules currently used in general medecine, created more new vaccines than any other institute and currently is at the very edge of gene therapy.
Not that is has anything to do with efficiency. If you give 100 to my public healthcare, 94 of that will be used to reimburse health expenses, if you give 100 to US private healthcare, only 86 will be used to reimburse health expenses. That has nothing to do with initial costs.
How can you say Institut Pasteur single handedly pushes the industry forward? It has 0 novel approvals per year and spends about $0.4B/yr in R&D. Compared to about 35 novel approvals and $120B per year from the US pharmaceutical industry.
This is extra rough because Codex defaults to letting the model be MUCH more autonomous than Claude Code. The first time I tried it out, it ended up running a test suite without permission which wiped out some data I was using for local testing during development. I still haven't been able to find a straight answer on how to get Codex to prompt for everything like Claude Code does - asking Codex gets me answers that don't actually work.
Honestly I think React DX kinda sucks, at least in some areas. Performance is one of the worst (`useMemo` and `componentShouldUpdate` are way to easy to ignore, constant re-renders are the norm and writing performant React code requires conscious effort to avoid footguns) but it's also just less self-explanatory than the alternatives I've tried.
I started doing web dev before reactivity frameworks were a thing, and I found Vue to be the most intuitive of the frameworks available when I first needed reactivity. To me, Vue feels like HTML with superpowers while React feels like a whole new way of thinking about webapps. I'm honestly a bit surprised that the article doesn't mention Vue, since Vue is (and has been for a while) the most popular "not React or Angular" framework option. Newer versions of Vue even support the "disappearing framework" feature Svelte was built for, which I'm excited to take advantage of when my biggest work project finally moves to Vue 3.
I think you've nailed it. It does come down to user preference.
React _is_ a whole new way of thinking. Back in the days of jQuery it was very painful to stitch together web experience across HTML+CSS+JS. jquery provided much needed DX around utilities to navigate across these pieces. But it was still way too easy to treat HTML like your database and model user-state across a Frankenstein of server, json, html, and javascript.
React was a paradigm shift. "Screw it, everything is javascript." The web depends on js runtime, we know we're going to need it. It starts to makes the best future-forward sense to use the only full programming runtime available. From DX pov this was spectacular to speed up prototyping. And you can finally truly model state purely from data.
What followed was a huge a mess (redux), but I always say, what do we expect? The web is a mess, and it's great because it's useful. Humans are a mess!
---
VUE: similar to angular I just don't align with "super-powered html attributes". It just doesn't make sense as a mental model. Because it's _not_ HTML spec and HTML is not a programming language. The more powerful the framework gets the more we reinvent a pseudo-programming language _through_ HTML. Angular was full-stop a no-go when I first saw it's for-loops in HTML.
Neither react's JSX nor vue's template language are HTML. But rejecting vue's template on grounds that it's not HTML seems odd. React's JSX deviates from HTML in many ways. Like class vs className. XML self-closing vs HTML self-closing. onchange vs oninput. On purely aesthetic grounds, I can't understand how the react idiom of array.map() would ever be preferable to an affordance in the (non-HTML) template language for handling this normal standard thing that always happens.
it's not about feigning html purity it's the opposite. Why pretend we're using HTML when it's not? so with react it becomes a js flavor, jsx, which some people hate but it's very clear that it's a made up language IN real javascript.
edit: the mental model is instant: it's just javascript for reals. do anything you want in javascript using real js primitives. it's not about looking pretty, jsx doesn't. it's about not relearning basic programming primitives in a made up _markup_ language.
my issue with angular is it's neither real html nor any programming language. its made up pseudo-programming language for no other reason than it fools people into thinking "it's just HTML". that's my gripe.
Completely agree with you. Every time I see yet another template language adding some clumsy for-each loop syntax I sigh. Just let us use a normal programming language. As an example I give you every template system ever invented. Devops tooling is full of them.
Over the years, I've seen a few posts like this that seem to take it as a given that a loop in a normal programming language is better than foreach capability in a template language. Certainly enough times to believe that a significant group of people actually believe it's superior.
There's not a difference in capability of expression of the two models. It seems to be a purely aesthetic or comfort difference.
It's because native programming language will defacto allow you to hack it to its natural limit. A tendency most all programmers have given they even get into programming.
For example with any iterator/loop you may want to filter, or find, or transform. in ruby you have the entire Enumerable API to dig into or Array prototype for js.
a templating language would have to reimplement functionality one by one in an allow list.
it's just fatigue at that point, yet another API i've got to mentally track.
edit: of course if you export the view data "clean" before hand it compels you to not have intense logic in the view. I get that but after a decade+ in product, views are never pure, even just ability to highlight the active tab takes conditional and select logic in a loop.
I would rather that all the developers were "encouraged" to do the filtering and sorting in some kind of logic block rather than having an attractive footgun lying around that makes it easy to cram in one more last data adjustment.
JSX also fools people into thinking "it's HTML in javascript". I've heard several co-workers say this. JSX is a made up language as well. It's not javascript. That's why you need a build step to parse the syntax.
Angular and vue's template language are no more made up than JSX is.
It's been interesting seeing several comments like this in the comments, since Laravel's docs may be one of the most highly-praised aspects of the framework. I suspect the divide may be that newer developers get everything they need explained in the docs in clear language, but the more advanced stuff requires some digging.
I use Laravel personally, and I've definitely seen both sides of this myself. For basic "happy-path" API reference, the docs are great. If I really need to understand how the framework is doing something, I pretty much always end up diving into the code. Unfortunately the heavy use of Facades can sometimes make it annoying to find the underlying code.
I disagree, at least in this specific context. With Laravel Cloud you build a standard Laravel application which can be deployed anywhere, then use the service to handle DevOps for you. Because it doesn't include any unique services of its own, you can always decide to hire a DevOps team and run all the required services yourself.
You're totally correct in scenarios where you need to build your project around the service, but this service is specifically a DevOps shortcut with no lock-in.
Should your Fortune 500 company use this? Maybe not. Should a one-man dev shop use this? Quite possibly - you pay for the convenience, but it frees up more time to improve your application.
This is true, if you're billing your hypothesis as a hypothesis. The problem is that prominent Republicans billed their "election was stolen" hypothesis as a fact, claimed to have boatloads of evidence in order to convince the public, and then never published that evidence.
In the aftermath of this clearly deceptive behavior, they've maintained the support of Republican voters who still believe the lie despite none of the evidence ever being released.
It's one thing to claim something is true and that you have evidence, then release the evidence and find out that it's insufficient to win in court. It's another thing entirely to make a claim, say you have overwhelming evidence to support it, and never release any evidence at all. In the former case, maybe you got overzealous or maybe you were dealing with an unsympathetic judge. In the latter, the only rational way to interpret the situation is that you were intentionally misleading your audience.
It's well established that adults who read incorrect information frequently don't find out it was wrong and become more skeptical of the source. Some people operate that way, but it's a small minority unfortunately.
In particular, it's been shown that people with dogmatic beliefs strengthen those beliefs when shown evidence to the contrary rather than questioning them.
Moderated media leans left. At least some of the reason it ends up that way is that many of the people who violate incredibly reasonable rules are conservative. Certain groups of hard-right people will say some incredibly bigoted shit that's absolutely out of line and makes it impossible to have a civilized conversation, then they complain about getting banned and drag a bunch of moderately-more-reasonable people with them when they leave. Once those people leave, normal everyday non-asshole conservatives realize the platform has less conservative content and leave in search of spaces that they feel respect their viewpoints more. In some cases entire topic-groups get banned (/r/the_donald is a good example) for legitimate reasons that frequently involve a small extremely-active group of members, and the rest of the members will also leave the platform because all they see is that a group they were part of got banned.
People who lean to the left tend to believe that it's bad to do some of the things that get you justifiably banned (such as intentionally using language that demeans people based on immutable traits). Because of this, it's much easier for them to avoid being deplatformed.
The corporate players in the space can jump through the security hoops and integrate with Plaid, but if I wanted to automatically pull my own data into the single-user budgeting tool I host entirely on my own network I need to pass the same security checks as a full-on fintech startup.
Currently I enter transactions manually, but manually reviewing multiple credit card and bank statements is a chore and I don't keep up with it as much as I should. To make things worse, since I ideally want a live view of my budget and not a post-statement-issuance monthly review, I'm constantly checking over transactions I've already entered when their ordering changes in my credit card company's app.
The closest thing to a potential solution involves extracting my Monarch Money session key from my browser and pulling data from their GraphQL endpoints with the help of an unofficial Python SDK. That doesn't solve the "relying on a subscription service" problem, but it would at least let me get my data into the custom budgeting tool I built that actually meets my needs.