It falls short on your 3d request, but for someone new to things I'd go down the pico-8 rabbit hole.
There are some really spectacular (given the limitations) 3d games, but they're the exception. However, the IDE is built-in, it's basically lua, and you can load/view/edit the source code for all the published games.
My 9 and 12 year old have both played a fair bit with Pico-8, and while the music and sprite tools are neat, I think there's a lot that it leaves on the table. The Lua environment is a fun puzzle for seasoned developers to reason about how to make the most of it, but for a novice, stuff like physics, collision detection, and an entity system out of the box is more like the right starting point. You need a lot of boilerplate to get a sidescroller off the ground in Pico-8.
I think for a newcomer this is where loading an existing game (like Celeste...) and just changing sprites or updating logic gets you some of the non-built in features for free - but at that point you're more modding someone else's game more than creating your own. I can see how that path could be a non-starter for some folks (no matter their age).
Pairing A Patriot's History and A People's History makes for some interesting perspective. They don't really offer explicit points/counterpoints, but they certainly frame things differently over similar time periods (which cover America's coming of age to a powerful world presence).
I am wary of A People's History myself, as he tends to pick his conclusions first, then cherry-pick anecdotes to support those conclusions. These articles are good overviews of some of the issues:
While it may be interesting to pair A People's History with A Patriot's History, it is like watching a news network interview where they pull in the "person from the left" and "person from the right" to argue at each other. One is usually better off hearing a single person who acknowledges both sides of the issue.
A People’s History is ~800 pages and clips along at a good pace. I don’t know that you can go much shorter with an overview of such a long period without sacrificing a lot of substance. I’d highly recommend making the investment into A People’s History - easily one of the most significant histories of America - and Howard Zinn’s other work if you end up appreciating it.
You can read it online at the link below if you want to dip in without too much commitment. It's quite an easy read, targeted at high-school level, which you may or may not find annoying:
http://historyisaweapon.com/zinnapeopleshistory.html
DevOps is a moving target right now, and a lot of great fundamentals are linked here already. I'd also recommend subscribing to, and reading old issues of:
The last two are fairly young, but have good content so far. I wouldn't call it a well-curated list, but there are tons and tons of great posts are linked (in loosely chronological order, as weekly mail blasts tend to be).
I've got a 5 year old Leopard and a 1.5 year old Wild Dog that are perfectly satisfactory. I have a month old Oryx, and my sentiment follows the general comments - I'd probably spend just a little more to go Dell/Lenovo for the next laptop. The rebranded Clevo machines just aren't the same build quality and on a laptop (for many users) that's a meaningful issue.
Monetizing was Apple's success, but in the early iPhones, I'd argue it was a lot of carry over from iTunes. Apple forced you to have an Apple ID, and associated with the Apple ID meant they could seamlessly sell you things and charge you for it. At the time, no one else had this position and it made a huge impact for the iPhone as a successful device in a rapidly changing landscape (phone as phone -> phone as device to buy from carrier/provider -> phone as device to buy from marketplace).
Also: "none of the original competitors even survived"? Are you talking about tech like Sidekick here? Samsung/LG were big players in early Android, and they're obviously still around. There's a huge amount of discussion around BlackBerry, Nokia (Symbian), and Windows - but to say that none of the original competitors even survived feels hyperbolic.
> Monetizing was Apple's success, but in the early iPhones, I'd argue it was a lot of carry over from iTunes. Apple forced you to have an Apple ID, and associated with the Apple ID meant they could seamlessly sell you things and charge you for it.
I'm not clear what you mean with this. Apple made you create an Apple ID in order to use an iPhone. Whether you had an existing one because of iTunes didn't matter, because you absolutely had one if you were using an iPhone.
> Also: "none of the original competitors even survived"? Are you talking about tech like Sidekick here? Samsung/LG were big players in early Android, and they're obviously still around. There's a huge amount of discussion around BlackBerry, Nokia (Symbian), and Windows - but to say that none of the original competitors even survived feels hyperbolic.
Android didn't exist when the iPhone launched. Nokia is dead. Blackberry is basically dead. Windows Mobile died and was replaced with Windows Phone which is also nearly dead. There's no hyperbole here.
If you did have an iTunes account, you were prime for an iPhone purchase. That demographic had a clean experience of buying a mobile device that was super-capable (someone could pretty much out-of-the-box sell you things, without having ask for information - like a cc #). None of the existing devices had this, and it would be a long time until anyone was even close. I don't think this is a point of disconnect, I was highlighting one of the sometimes overlooked (imo) aspects of Apple's longer-term execution that I think made an impact.
Fair point on the competitors. It's hard to ignore Android as a competitor, and I might disagree with saying that Android wasn't an "original" competitor. But if you mean original as "existing at launch time", I'll happily agree (But by that definition, iPhone isn't a [original] competitor to Nokia/Blackberry/Windows, it just happened to destroy them - EDIT - it's a fair distinction).
> If you did have an iTunes account, you were prime for an iPhone purchase. That demographic had a clean experience of buying a mobile device that was super-capable (someone could pretty much out-of-the-box sell you things, without having ask for information - like a cc #). None of the existing devices had this, and it would be a long time until anyone was even close. I don't think this is a point of disconnect, I was highlighting one of the sometimes overlooked (imo) aspects of Apple's longer-term execution that I think made an impact.
I'm not sure I see this as a significant factor. When the iPhone launched, there was no app store. There was no iCloud, no iBooks. The only thing you could buy with the CC# Apple had for you was music, which you were already buying with iTunes.
Maybe having a CC# associated with your account helped Apple later when they launched an app store, but by that time their competitors were doing the same.
> Fair point on the competitors. It's hard to ignore Android as a competitor, and I might disagree with saying that Android wasn't an "original" competitor. But if you mean original as "existing at launch time", I'll happily agree.
Well, the first Android device to ship was the HTC Dream, and that was over a year after the iPhone shipped, so by definition it was not an original competitor. Also, if you had tried a Dream, you'd likely not have thought it was very competitive with the iPhone 3G that was out by that time. (I tried one and was utterly unimpressed.)
> But by that definition, iPhone isn't a competitor to Nokia/Blackberry/Windows, it just happened to destroy them
In the same way that Google wasn't a competitor with Excite and Infoseek and Yahoo Search but just happened to utterly destroy them? I think if your product destroys the market for another product, that other product is the (obviously losing) competition.
Not strictly related, but on your second point - http://www.libertypuzzles.com/ makes some really great puzzles that have very unique ("whimsy", iirc) pieces. I've gotten a few for my children and found that I enjoy putting together the easier puzzles as a speed challenge. The unique pieces make "timed-runs" quite interesting.
Kiwi Crates (and Koala - haven't tired the older age targeting boxes) are excellent, our 4 and 5 year olds love them. The results don't have a lot of longevity, at least for the Kiwi crates, but they consume an afternoon+ and involve a lot of productive-feeling efforts.
I have been thinking about genius box, the young scientist club, explorabox, and agent ribbit, too. There is so much overlap in a lot of these that it's difficult to commit to multiple without just ending up with duplicates. That probably wouldn't be entirely bad, but it's mildly annoying. Also, not all of these get down to the 3-4 yr range, but maybe something to think about in the context of the impending TinkerCrate subscription.
I use a git hook that builds locally on commits to master (with some cleaning just in case I was testing weird things from non-master). I host on s3, but I don't think the s3 transfer vs github push is of great consequence here.
This seems robust, but feels like more moving parts than are necessary.
I feel like HAProxy with PostgreSQL + Bucardo (multi-master + at least one slave) would achieve this, and net you fewer moving parts. Under what circumstances does this fail where the etcd-dependent solution succeeds?
Bucardo with multi-master is fantastic when a DBA can configure the multi-master and manage future changes. Bucardo requires each table to have proper Bucardo configuration and each table on each host to have the proper schema, since Bucardo does not replicate schema changes.
Compared to streaming replication, during high load, Bucardo sync is also quite expensive for a replication mechanism.
As a service, Bucardo's requirements did not scale for us. It created to many caveats. The limitations of Bucardo for our service became obvious quickly.
We tested with PGPool and PgBouncer in various iterations.
PGPool failed at basic failover. It worked fine while the leader remained leader. It would failover to the follower who became leader, but after the first failover, it would stall on connections. We worked through various settings and attempts at making it more stable, but in the end we were not happy with the stability.
PGBouncer requires a connection to a single database and requires a user store associated at the PGBouncer level. One of our internal requirements for our Postgres service is give customers full access to Postgres capabilities. PGBouncer would either limit customer functionality or require us to build more tools for customers to use Postgres's complete functionality. For instance, if a customer ran `CREATE USER foo WITH LOGIN …` from the Postgres connection, the customer would not be authenticate as foo user because PGBouncer would not have immediate knowledge of the new user.
In the end, HAProxy offered the stability and enabled the base functionality of Postgres we wanted. In tests, it failed over quickly and reliably. The only caveat with HAProxy + Postgres is that you have to rely on TCP passthrough with SSL termination at Postgres. We'd have preferred the SSL termination at HAProxy, but Postgres engineered it's own connecting procedure to listen for standard and SSL connections on the same port. SSL termination at the HAProxy was causing issues for drivers that were built to use that procedure and cannot use a standard SSL connection.
Interesting. I got around this by just recreating the users file for pgbouncer and issuing a reload every 15 minutes or so. This was only needed for one setup as the rest were just static, or the user was very low volume so I asked them to connect directly. pgbouncer handled reloads very well (on-par with nginx) so it worked for me. Thanks for the great insight with your answer.
Lots of people are already using it, so it has familiarity (I was thinking more than pgbouncer, pure conjecture though).
I think if you wanted to have the simplest possible solution, pgbouncer and postgresql-specific replication mechanism would be perfect. This is along the same lines as my question - I don't really see how these alternate solutions could be construed as lacking...
There are some really spectacular (given the limitations) 3d games, but they're the exception. However, the IDE is built-in, it's basically lua, and you can load/view/edit the source code for all the published games.
https://www.lexaloffle.com/pico-8.php
Some newcomer-friendly tutorials: https://nerdyteachers.com/PICO-8/Bitesize_Games/