legojoey17 | 26 days ago | on: Speed up responses with fast mode
legojoey17's comments
legojoey17 | 1 month ago | on: CLI agents make self-hosting on a home server easier and fun
That being said, I procrastinated on getting postgres backups working and ended up causing self-inflicted corruption, so it is nice to see you've got that setup and have thought of pretty much everything!
legojoey17 | 1 month ago | on: We put Claude Code in Rollercoaster Tycoon
legojoey17 | 1 month ago | on: CLI agents make self-hosting on a home server easier and fun
I recently had a bunch of breakages and needed to port a setup - I had a complicated k3s container in proxmox setup but needed it in a VM to fix various disk mounts (I hacked on ZFS mounts, and was swapping it all for longhorn)
As is expected, life happens and I stopped having time for anything so the homelab was out of commission. I probably would still be sitting on my broken lab given a lack of time.
legojoey17 | 2 years ago | on: Ledger: Stripe's system for tracking and validating money movement
Clearing is definitely a key part and a large amount of signal can be derived simply through the zero-balance assertion. To give you some more detailed examples of that:
1. System A bookkeeps +$11 and system B bookkeeps -$10 against the same account, where this is representative of A handing off responsibilities to B during some multi-step process and something was off. In practice, this might look like a Charge being handed off from a product team to the team integrating with card networks for submission. There's plenty of reasons this could have gone awry internally from either team like incorrect fee handling, incorrect FX handling, etc.
2. Pipelines reconciling data may bookkeep $11 and -$10 against the same account, where the two events come from different data sources. This could be a difference in Stripe data vs partner reporting or even a difference between two reports from the same partner (e.g. a transaction-level report against a aggregate we've estimated attributions for). Again, there's plenty of reasons this goes wrong like an error on our side, unexpected partner behaviour, actual partner error, or our incorrect interpretation of a complex partner behaviour.
This approach is general in that we don't need to be concerned about what the actual data models or system interactions are to effectively apply monitoring to everything. Another element is to not create a lot of noise on for non-zero balances while they're in an interim state. Some amount of modelling happens to establish an expected time to clear for accounts, and with the right granularity, like "Charges from product teams to integrating teams usually take 10 minutes", "partner report A and B arrive and are processed 1 day apart", or "we receive money from partner A about 2 days after submitting".
In the end, we're trying to boil down every other Stripe system and partner integrations into a Stripe-wide set of discrete states, transitions, and with dollar value they're for. Teams may have their own system diagrams but they'll also have a parallel Ledger event diagram if they handle money which takes consideration to get right (e.g. failure modes, modelling everything well). I suspect that's what the author is getting at with reasoning more mathematically about distributed systems, as we add a twist on a typical system design here.
legojoey17 | 2 years ago | on: Show HN: Multi-monitor KVM using just a USB switch
I ended up mostly giving up because it was a bit janky and I always had something else in more disarray.
Sweet idea on the macropad! I haven't used them before and placement of the USB switch is always a pain.
legojoey17 | 3 years ago | on: Poor sleep drove me insane, and my long path to recovery
I had an at-home test that was not positive for obstructive sleep apnea so I landed on a 6-month queue for a test at a sleep lab (hello from over in Vancouver).
I've felt really discouraged by that because it's left me back at "I have no idea what's wrong". I snore (occasionally "like a banshee"), always have nasal congestion while sleeping, wake up every night once (or even twice) needing to urinate and with an extremely dry mouth, and no longer remember what a well rested sleep feels like.
Even now, I'm taking an extended time off work and hoping the lack of work stress would increase my sleep quality but to no avail. If anything, because my circumstances are keeping me away from home, my sleep has gotten even worse to the point where I'm consistently lethargic and too tired to do anything most days.
I only very recently learned about sinus obstruction after taking Affrin (for a cold) and realizing just how clear my sinus was compared to mu average day.
Everything you wrote about allergies and other self-experimentation is very helpful for awareness. I also had no idea positional therapy was a thing, which is helpful as I'm a stomach sleeper.
It has certainly given me more to understand and proceed with doctors for.
legojoey17 | 3 years ago | on: Poor sleep drove me insane, and my long path to recovery
legojoey17 | 4 years ago | on: FoundationDB: A distributed unbundled transactional key value store
On the other hand, TiKV is more comparable to the internal distributed transactional K/V layer to CockroachDB that its SQL layer is coupled to. That of course is not a usable external interface. You could utilize CockroachDB like a K/V store with simple table to forego the SQL functionality and planning (e.g. only primary col index, only key/value column, so on), but I am not sure what the practicality of that is as I have not kept up with CockroachDB development.
(disclaimer: I interned at Cockroach several years back)
legojoey17 | 5 years ago | on: A lost tourist who thought Maine was San Francisco
legojoey17 | 7 years ago | on: Show HN: A map that shows you how far you can go for a given time or distance
I did a similar thing and built isochronic maps while at a start-up for business intelligence back in 2014. I'm curious how you got the going, data processing and all.
When I'd done it I set up all roads and continents in OSM but it took quite a bit of work to do so. I'd used Osmium to import everything into postgres and set it up to using pgrouting. It took quite a bit of work but with a lot of query mangling it had a lot of traversal cost variates (street type, population, daytime pop) it had pretty good approximations of Google!
The most awful part was trying to set up the data to be usable, quick, and deal with large queries (set it up for a maximum 150km without issue), but it was a great challenge!
legojoey17 | 8 years ago | on: C++ Coroutine Theory (2017)
The primitives uC++ make it very easy to form the concurrency models that are present in other languages and these days the prof does exactly that and shows exactly how to implement common models, such as channels, actors, and a few others.
Everything done is very mappable to how other languages provide concurrency.
legojoey17 | 8 years ago | on: “Follow-The-Workload” Beats the Latency-Survivability Tradeoff in CockroachDB
For any other issues you run into when using it, you may want to see the discussion about postgrex compatibility at https://github.com/cockroachdb/cockroach/issues/5582. If you run into different problems please do file the issue :).
I'm also an Elixir junkie, so I would also love to see ORM compatibility here! I definitely want to dedicated time to it if I can. (Disclaimer: I'm currently interning at Cockroach Labs.)
legojoey17 | 8 years ago | on: All You Need to Know About Bitcoin's Rise, from $0.01 to $11,000
When you are trading on an exchange, there could very well be nothing happening in the background. It's instead a process that's just flipping some bits for who owns what in their own database.
legojoey17 | 8 years ago | on: Stripe Elements: Pre-built UI components to help you create checkout flows
legojoey17 | 8 years ago | on: Stripe Elements: Pre-built UI components to help you create checkout flows
I forget the details, but I'm pretty sure it's the former, so it's not exactly easy -- which is yet another testament to how much work goes on behind such a seemingly simple new product.
legojoey17 | 8 years ago | on: Crack WPA/WPA2 Wi-Fi Routers with Aircrack-Ng and Hashcat
legojoey17 | 8 years ago | on: Join the YC Software Team
legojoey17 | 8 years ago | on: Gixy: Nginx Configuration Static Analyzer
legojoey17 | 9 years ago | on: Pokémon Go similar to game students created at hackathon in 2014