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.
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.
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.
Did you evaluate or consider react-virtualized [0]? I've used it for one internal app that loaded a couple thousand rows and it worked well. I don't think it meets all your requirements out of the box though, but it seems like the best option to build extensions for going forward. The creator Brian Vaughn was recently hired by Facebook, and also just finished work on v9 that is React Fiber compatible.
For others that want a comparison, here's a writeup that explores the pros/cons of various React grid/table libs [1].
I've had my last.fm account for over a decade and a what.cd account for most of its existence. You're correct that they provided similar resources for music junkies.
You could probably recreate most of last.fm's (non-scrobble) data from sites like musicbrainz or discogs. It's definitely great for the reasons you mentioned, like recommendations and neighbors. But to be honest, last.fm is pretty bad at being a source for discography-type information. There's duplicate albums, incomplete album information, weird track names, etc. It's gotten better with their recent update efforts though. I love last.fm and will continue to scrobble and use it for music discovery. But discovery is only half the battle. You need to somehow find that 2001 release from that post-hardcore band in Ohio that only existed for a couple years. If it was anywhere, it was on what.cd, ready for your ears.
I would say what.cd had a significantly more unique offering. You could browse endlessly, bookmarking artists or albums to come back to later, or make your own collections. You could watch an artist or record label to be notified of new uploads/releases. There were comments on artist/album pages going back years, not to mention the forums which were their own trove of great musical discussion and discovery.
It had user-created collages of various themes or purposes, with hand-picked selections and staff recommendations. An elaborate request system existed where users could request albums (down to specific source and bitrate) and donate ratio "bounty" to whoever fulfilled the request. All artists had ranked tagging and a web of related/interconnected artists. Artist discographies were extensively curated, not only with full album lists, but with multiple version/formats/releases of each album.
I mean, any non-obscure album could easily have 10+ versions well-seed and available. You didn't just get "The Postal Service - Give Up", you got "The Postal Service - Give Up 2007 Deluxe 2LP Reissue Vinyl" in your choice of FLAC, FLAC 24bit, 320CBR or V2/V0 VBR -- or maybe you wanted the 2008 Korean Reissue with bonus tracks? Also available in multiple formats. Releases would be flagged and trumped if album tags were incorrect; elaborate ripping rules and guides were established; people posted spectrographs of new releases to identify transcodes and immediately flag anything not up to par. It was so serious.
Had a quick chat this morning with the people that worked on it. The package rebar3_elixir_compile[0] makes this pretty easy. However, our target Elixir lib is not a public hex package, which requires using git submodules.
Not a seamless setup, but it does work. As the sibling comment suggests, perhaps using mix for everything would help.
We use both Erlang and Elixir where I work. We successfully use Erlang libs in our Elixir projects pretty easily. We recently started trying to do the reverse and use an Elixir app inside an existing Erlang app. It has been significantly more work. The main issues have been around dependency management.
I wasn't personally working on this, so I apologize for being fuzzy on the details, but I understand that getting rebar3 to fetch all the deps that would normally be managed by hex was not possible or at least non-trivial. There was talk of having to manually install each dep that you knew the Elixir lib would be requiring.
I think it was sorted into something workable, but if anyone has better understanding I would love to be pointed to some resources!
If what you're trying to accomplish is feasible and maintainable with "ordinary js ... and a bit of jquery" then using a full React+Flux stack like the OP outlined is complete overkill. If someone has experience with those libs and tools then they'll probably use it even for trivial projects. However that does not mean it's prescribed for _everyone_ to use _every time_ they need to write a bit of javascript functionality.
I really wish people would qualify what they're trying to accomplish when they bang on about things being "needlessly complex". Maybe for what they're doing it totally is and they shouldn't be distracted with React, Flux, Webpack, etc. There's nothing wrong with that. However, when taking on a project where these sorts of things are immensely useful, it's nice they exist.
Where do you listen to the interviews? I was recently obsessed with finding the interview he did with Larry David, but could not find it anywhere. Someone posted it on YouTube when it originally aired, but it has since been taken down.
I found no official channels to pay for access to his catalogue or anything.
I just want to echo the love for Subsonic (and the iOS iSub app). I happily used Google Music until I hit the (at the time) 20k track limit. Now that I've been running and using Subsonic for a couple years, I consider it a complete upgrade in terms of features and performance.
I had not heard of koel or ampache until today, but choices will always be welcomed.
FiveThirtyEight's "What's the Point" podcast recently had an episode mostly devoted to the Bloomberg Terminal. I found it fascinating. I would have never known it had its own sections/apps/services for travel booking, classified ads, chat, etc. It would be so fun to poke around at one in real life.
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 :)