I love apps like this. I currently use Numi daily for running financial-related tracking and scenarios. It has a few annoying UI quirks, so I'm super open for alternatives (especially with cloud syncing).
I played around with porting my Numi sheets over, and the only thing that's tripped me up so far is using underscores as numerical separators, eg: 1_000_000 for 1000000. All my Numi values are written this way, so that's my only feature request. I guess I could just use commas in this context.
Each time it gets more one sided: efficiency VS robustness.
The more heterogeneous a system is the better it scales. But errors spread fast as most of the system depends on a very small set of services.
When I was a kid, if one of the neighborhood shops had to close the rest were open. Only a power outage would make many shops stop operating, but many others will work on only-cash and it would be a minor inconvenience.
But this neighborhood shops could not operate at international level, nor make its owner the richest person on Earth.
In a not so distant future we are going to have to choose between mega-corporations that can crash the economy or smaller companies that are subject to the evolution pressure of capitalism.
I hope that taxation is increased globally. That would be the equivalent of reducing the amount of oxygen in the atmosphere. And as gigantic animals cannot live in a less oxygen-rich Earth, big corporations cannot live without tax-cuts and special deals with city governments.
DHH stated it in his "Let it all out" follow up post.
> Yesterday, we offered everyone at Basecamp an option of a severance package worth up to six months salary for those who've been with the company over three years, and three months salary for those at the company less than that. No hard feelings, no questions asked. For those who cannot see a future at Basecamp under this new direction, we'll help them in every which way we can to land somewhere else.
The founders went into a political discussion with someone on the other side of the political spectrum and got tired of it - then instituted a no-politics-and-society-discussion policy when the whole success of Basecamp is taking a societal , opionated view on software and what work should be.
Looks to have been caused by a loss of utility power and subsequent backup generator failure at one datacenter.
> 10:47 AM PDT We want to give you more information on progress at this point, and what we know about the event. At 4:33 AM PDT one of 10 datacenters in one of the 6 Availability Zones in the US-EAST-1 Region saw a failure of utility power. Backup generators came online immediately, but for reasons we are still investigating, began quickly failing at around 6:00 AM PDT. This resulted in 7.5% of all instances in that Availability Zone failing by 6:10 AM PDT. Over the last few hours we have recovered most instances but still have 1.5% of the instances in that Availability Zone remaining to be recovered. Similar impact existed to EBS and we continue to recover volumes within EBS. New instance launches in this zone continue to work without issue.
I don't think equating 1 route = 1 component makes much sense. A route could be as simple as `/user/123` which shows an avatar and a name, or it could be `/billing` which has many sub-routes and complex features behind it.
To just jump to an example of an extreme case, Facebook has stated several times they have tens of thousands of components [0]. Now, I assume lots of folks on HN work for private companies that build a wide swath of applications ranging from trivial to massively complicated. Why is it outlandish to think people wouldn't have many components in an app?
I recently evaluated using Typescript's compiler or Babel + TS plugin, and decided to use Babel. The main reason was keeping access to the Babel plugin ecosystem without needing to do tsc -> babel -> output, which would be a drag in development.
It seems to be more common now to see library-specific Babel plugins that optimize performance or improve developer ux. These plugins are usually optional, but I use them to enhance css-in-js and i18n performance/development.
With good editor support and ts-lint, the dev experience is solid and as-expected. Setting up an explicit tsc command as a pre-commit hook or CI task should provide that extra bit of confidence.
For myself, not being a TS purist, it feels like a good option.
Air Crash Investigation is great. It's like a true-crime show for engineering.
What you gather after watching dozens of episodes is that almost all accidents happened many years ago before modern planes and regulations and/or due to an exceedingly rare confluence of events.
I use Quiver[0] ($10) to store and organize work and personal notes. Their "cells" of content can be written in plaintext, code, markdown, or LaTeX. You can organize with folders, tags, favorites, etc. The different viewing modes are perfectly flexible via toggle-able panes and a "presentation" mode.
The db is just a file you can choose to sync however you want. I use Resilio[1] to keep work/laptop/desktop machines in sync.
Yes, I would say they're an expected browser feature these days, with over 94% global browser availability [0] (basically anything >= IE10).
The cool thing about Phoenix specifically is that they provide a JS client to integrate with a Phoenix Channels [1] backend that will automatically fail-over to long-polling if window.WebSocket is not available [2]. These Phoenix Channels are set up to be transport agnostic, so you don't have to write any special backend or client code to handle one way or the other, it "just works" for the most part.
I will wholeheartedly echo the sibling's suggestion for beets (http://beets.io/).
No music makes it into my collection unless it's been imported via beets. It has a powerful import/query/alter API, sufficient config options, and a nice plugin system.
I played around with porting my Numi sheets over, and the only thing that's tripped me up so far is using underscores as numerical separators, eg: 1_000_000 for 1000000. All my Numi values are written this way, so that's my only feature request. I guess I could just use commas in this context.
Great work!
Edit: And dark mode :)