1,070 karma · joined May 12, 2013
Code: https://github.com/mahmoud
Words: http://sedimental.org
Quips: https://twitter.com/mhashemi
Video: https://www.oreilly.com/library/view/enterprise-software-with/9781491943755/
Wikipedia projects: http://hatnote.com
The result won't be super surprising, but it'll be more specific.
I helped build the first version of Stripe's Financial Connections product and while the alumni credit is tempting, I'd like to delay using it as long as possible... Too many error conditions and it's not like planning calls for that level of precision anyways.
FinFam is private by default, but publishable by design. It's also totally valid to build/publish hypothetical/prototypical scenarios for the sake of demonstration.
Re: manual entry, the income and expenses were, yeah. The balances from the accounts are all ingested via our "Magic Sync" which is really just parsing from screenshots. Works with Monarch Money, works with spreadsheets. And you don't have to deal with the nightmare of "open banking" (I helped build the first version of Stripe's Financial Connections product and I'd like to delay using it as long as possible...)
It depends on where you're starting a thread, but assuming you're starting the thread in a view, then we prime the chat with:
- The user's configured financial literacy, education level, etc.
- The reasoning and actual results of the calculator as you see them
- Summary metrics from the space that the view is saved in
The last point is pretty critical. The idea is that you build your own context from the bottom up, exposing as much or as little as you want for the scenario you want to explore. Add the relevant assets/liabilities/income/expenses, and we have a little cash-basis accounting simulator that projects all that into a "scope" usable by the Views, as well as the chatbot ("Finn" http://finfam.app/finn).
Handing these metrics to the chat unlocks a lot of the magic of the chatbot as a "neutral explainer". Any creator can upload a spreadsheet, but as we've currently exposed it, Finn is meant to be moderate and just there to close any explanatory gaps that the creator may have left out, or not considered. If you're looking at a view about buying a second house, Finn's supposed to give you a gut check if you have particularly low cash reserves.
A lot of a financial advisor's time and role is filling gaps in your financial literacy, and a 24/7 chatbot is honestly just better at explaining the difference between a credit and debit card.
The B2C version you're looking at is an app store, so marketplace / app fee structure. Currently, when you save a View to your space, you're actually subscribing to updates. Instead of paying for a newsletter you have to read, digest, and model off, FinFam enables a paid subscription to a spreadsheet that gives you an answer. Skip the read, straight to the guidance.
For most people facing decisions with significant financial components, they keep an eye on the situation for weeks if not months. If they're subscribed to an expert's View, they can pay per update or per time period, kind of like Patreon.
I'm thinking we'll probably add some premium tier for certain SaaS features. E.g., similar to Figma, you can have X spaces, but if you want more, you need to pay more. Something tied to advanced use cases, # of chatbot convos, etc.
For now it's all available for the low low cost of bug reports. the more detailed the better!
This turned into theater. We had no choice but to rubberstamp. The “review” was more of a heads up than a real review request because no one can get up to speed without becoming a blocker. Something to improve monitoring reflexes or reaction time in an incident. Frankly these days an LLM would easily clear the bar for the “review” part of those reviews. But even the LLM's context could be significantly enhanced with a tool like Tanagram that has actual architectural context. Looking forward to updates!
Has all the breadth, and much more depth.
SemVer makes that situation worse, by requiring a bigger major release to break some part of the API. Other failure modes detailed here: https://sedimental.org/designing_a_version.html
As far as usability, time is a dimension no developer can escape. We develop software on a schedule and we deprecate it on a schedule. CalVer is tremendously semantic at that higher level. The semantics SemVer clings to suffer even under ecosystems which have mandated their use (go, node). The effect has been an over-granularization of APIs themselves.
I'm fine with agreeing to disagree for now. I'm also fine with the case that CalVer is not for everyone and everything. I'll leave it with this, a post seems to articulate a lot of your concerns: https://caremad.io/posts/2016/02/versioning-software/
It was written in 2016 by Donald Stufft, a maintainer of pip. Today, pip has been CalVer for a while and I'm not sure anyone has looked back. Try it sometime, and you might find the same. :)
The whole point of CalVer as an alternative is that SemVer has sold folks a bill of goods with regard to software maintenance. Perpetuating the idea that people can blindly update will always create problems.
More discussion here: https://sedimental.org/designing_a_version.html
I'm curious if the userbase is overstated, but otherwise it seems to be well-known enough ;)
But really, @marmaduke's got it right. The standard library has a MUCH higher barrier to entry than PyPI. Have you seen python-ideas [1]? I truly do not have time to have it out with some of the more vocal elements of that group.
But, down the list:
- OMD might be a good fit for the collections module, I've chatted about it a bit with Raymond Hettinger on and off. He wasn't totally against it, so that's something!
- Exponential backoff is too opinionated for itertools, and generally a lot more high-level and conceptually modern than the rest of Python's built-in networking facilities.
- remap: I really like it, even though I'm typically not a big fan of functional programming in Python. But the Python devs are even less appreciative than I, with GvR disliking lambdas, and Py3 dropping reduce() from the builtins. Plus after years of watching Python core dev, it doesn't seem like the people with the time to work on core Python have much time left over to work with IRL complex APIs and other sources of dynamic nested data?
- Atomic file saving probably should go in the stdlib, but probably not relying on ctypes (on Windows) and I'm not going to pull out my old Windows laptop again just to start writing C.
- Traceback utilities: Probably the one I wish I had time to push for most. traceback's string-only approach feels really dated in the structured-logging age. I'd expect a lot of FUD around messing with error handling.
Maybe now that boltons is pretty popular it's worth giving it a go just to see what lies beyond the typical listserv response: "put it on PyPI and if it's popular, we'll see" :)