3,638 karma · joined February 6, 2009
1- https://download.schneider-electric.com/files?p_File_Name=AS...
Denormalizing data refers to moving away from a model where you store one and only one copy of each ‘tweet’ in something like a relational database, to a model where you might actually store a separate copy of each tweet for each follower. That is kind of an extreme example of denormalization, but it’s a good way to illustrate how you could make it near-instant for any user to load their twitter homepage. If you stored the interesting tweets of every person I follow in a table just for me, you would make ‘reads’ (loading my homepage) incredibly cheap, but writes (someone with a lot of followers tweeting) very expensive.
Those trade offs exist everywhere in a system like this, which is (2), you get to decide when you do work. If celebrities with a million followers tweet an average of once a second, but people load their feeds a hundred thousand times a second, it is entirely acceptable to do 10000x more work for a celebrity tweet posting. This is actually the same concept behind using indexes in relational databases, but done more explicitly.
My personal answer to this question would probably start somewhat space-innefficient. I would take each tweet and put it into an event processing queue which writes a reference to it into each followers feed. This sounds nasty, but it scales with the number of writes, not reads, and we have less writes, and it scales linearly with the follower count of the writer. I would then improve efficiency by thinking about dormant accounts, caching, and maybe doing a bit more work on read.
For the record something like 85% of GA crashes have no fatalities. A Cessna 172 will fly down to 40 knots, which is significantly slower than a car crash on the highway.
I would suggest you think about building something you want that you find fun. If you're a scuba diver, build a dive computer. If you're a woodworker make a tool for making the best use of a board. The most important thing is you absolutely don't plan on making it a world-changing multi-billion dollar anything. Make it, even sell it if you want, and enjoy the ride.
It's also huge to have a screen as big as the phone's, and being able to slip the whole rig into my thigh pocket meant I took it on every dive, not just camera specific ones. I can't imagine a better setup for me.
Edit: You mentioned video. The Paralenz is a much better diving camera than a GoPro. It has a tubular form factor, making it easy to attach to a mask strap. It also is natively pressure resistant and can add depth numbers to your video, GoPros require a case. Here's a dive filmed with my Paralenz: https://m.youtube.com/watch?v=C1MEynCKlhk
It uses fluid dynamics rather than a sensor system, simplifying manufacture at scale.
Edit: Another design we're considering based on an Army prototype: https://docs.google.com/document/d/1Hcuu-55q2a3_-LmBwg0uBdgM...
If you would like to help please join us at the #project-pneumatic-ventilator room of the Helpful Engineering Slack: https://helpfulengineering.slack.com/join/shared_invite/zt-c...