I didn't start learning to program because I wanted to program, I learned to program because I saw a file called GORILLA.BAS in one of the folders on my MS-DOS machine.
Once I figured out I could open it in QBASIC and just press F5.... that was it... I would be a programmer for my next 20+ years and counting.
I would also like to point out how important the QBASIC IDE was as well. F5 to run. Put your cursor over any function and press F1 and it gave you a full description. It fixed your syntax (somewhat) as you coded too. It would highlight the line where the error happened. It literally held your hand through creating whatever you could dream up at the time.
My experience almost exactly mirrors yours. When I was in grade school, there was a shared computer in the hallway outside the eighth-grade classroom, and if the teachers trusted you enough, you could stay in and use it instead of going outside for recess. A few buddies and I would congregate around the PC and play Gorillas. And once we figured out how to edit the source code and do weird things with gravity, or cause tremendous banana explosions, we were hooked! (And, I think several of us went on to become programmers.) It was kind of like the thrill you'd get when you used Game Genie on an NES game for the first time.
I think that's the best way to get kids into coding, not some forcefed programming gui, but "Hey, here's a game you can play in class!" and then just give suggestive nods towards the source code and "what happens if you change this?" Next thing you know, kids are all trying to one up each other's programming, pulling apart the source and putting it back together without realizing that they're programming. I got into electronics by pulling apart toys and looking what makes them tick, there's no reason the same couldn't be done for code.
I recall a friend doing something similar with mobs for Quake 1. The game used its own dialect of C, iirc. And it was possible to decompile the relevant files. So after some time he started modifying mods.
That Quake 2 and later required Visual-C++ and such kinda took the spark out of the creative mods, as the entry price became too high.
For instance Quake 1 had a "flight sim" of sorts that was basically done by one guy using Quake-C and some simple, freeware, modeling tools.
There was an attempt at making a successor for it in Quake 2, but even with a larger team etc it basically ran out of steam thanks to the complexities involved etc.
One Christmas I got my ~6 yr old son a Rubik's Cube. He loved it and carried it around for a couple days. Then I took it from him to explain how you're supposed to mix it up and solve it. He cried when I couldn't get it back together! I felt so terrible. I spent about a week watching videos, reading move patterns, and practicing at night, and finally figured it out.
I have to get out a cube every couple of months and solve it or I forget. It's funny how a few of the patterns still to work from some strange muscle memory or something - and I only have to think about what piece I need where, and then my hands just do it.
The best part of knowing how to solve one is when you come across a mixed up cube at someone's home or a business... they think I'm some kind of genius, yet really I just memorized patterns to put pieces where I need them. But who am I to tell them what to think ;)
I once picked up a rubik's cube because I thought it would be related to a problem I was trying to solve at work, given the kinds of manipulations you could do on it. Turns out it wasn't at all, but I did learn a couple ways to solve it and got to the point where I could solve it in sub-minute times reliably, just by doing it when someone had messed it up from my desk (and they did this a lot).
It was not at all useful as a skill but it's a decent social experience to teach someone how to solve it, and as you say it makes people think you're a genius for some reason (HA!). Well worth the $10 you would spend on a new one.
We buy these $2 cubes ten at a time and hand them out to the kids on the street, cube pusher style, get 'em hooked early ya know. Well, not really, but we do give them away to people we meet who seem interested in learning how to solve the 3x3x3. They're surprisingly high quality and smooth for two dollars.
I feel like we need to change our direction in terms of "identity" all together.
We seem to be relying on an "identity" that is our name, ssn, phone number, credit card number, or all these different little bits of data clumped together. Too messy, too easy to steal, to fake, to easy to sell.
Maybe our identity is more like a bitcoin wallet. It's an encrypted clump of data that we only keep with ourselves, and ourselves alone. It could store money, confirm that we are who we say we are because it can have our picture in it, our names, our "numbers" for various things.
Then, when someone needs ANYTHING from us, be it proof of identity, money, or trivial info, we can send them a piece of useless information salted with something that they then return to us with the same salt to get back a confirmation, or money, or access to "use" our other numbers, but they never GET our other numbers.
If you want my phone number, you send a request to me asking for it. I get the request, confirm it, send back another piece of data to you. This is NOT my phone number, but something you can use to send to me again in the future when you want to call me, and then my number is dialed, but you never see it. At any time, I can wipe you off my safe list, and you don't have my phone number anymore. Same thing can work when paying for something, or proving I am who I say I am when getting a loan, buying beer, whatever.
A great talk by Jake Appelbaum that one should watch: https://www.youtube.com/watch?v=6kilAPZ-vGA A very in depth and revealing talk about the current state of the union of 'identity' on the web and the apparent digital doppelgängers we carry around with us. Frankly the notion of a digital doppelgänger is hillarious and identity is not a hard problem when people are effectively schizoid when they surf and flitter between multiple idens all the time.
"You pick eight entities; they may be your friends, your employer, some corporation, nonprofit or even in the future a government, and if anything goes wrong a combination of five of them can recover your key. This concept of social multi-signature backup is perhaps one of the most powerful mechanisms to use in any kind of decentralized system design, and provides a very high amount of security very cheaply and without relying on centralized trust."
If you're not paying attention to Ethereum, you're missing out on the biggest story in technology ever. They're building systems that combine cryptographic identities and a global tamper-proof execution environment to bring the costs of interacting with any stranger on the planet to nearly zero. Every large organization on the planet (i.e. companies and governments) formed as a reaction to today's levels of transaction costs. Eliminating those transaction costs will reshape our society in ways that increase liberty and wealth. You can build the software that helps make that happen. My email's in my profile for anyone who wants help getting started or learning more.
Since this is something that is encrypted and can be backed up, you could have a second, third, fourth, as many as you want. You can leave your "wallet" with anyone, and it would be safe. I guess the trick is keeping them synced up, but really, there are a few things that never change, and you can update it again with the things that do.
Did you notice that the GP was suggesting to do away with all of those things and replace it with a single doohickey?
People lose each of the things you list every day. They can generally prove who they are to the relevant vendor with the other things they haven't lost yet. How do you do that with a single doohickey?
And, as ams6110 mentioned, none of the things in your list require anything like 2FA - perhaps a PIN code on the bank card, but that's it. And those codes are generally four numeric digits. That's the level you need to pitch at for 'general public' consumption.
I fear that seeing how people "love the fingerprint readers on their phones" the governments will think - well then, they will probably love having to use their fingerprint for federal services, too - by giving us the fingerprint to store (which means the government will also be able to use that fingerprint to log into all the devices and services for which you'll be using that fingerprint).
Today's data breach at the very least shows that we shouldn't allow them to push for that. The fingerprint should always stay on our devices in a hardware secure module.
The first 2 startups I worked for back in the early 2000's were open offices, though there were only 6 of us in one room at the first startup, and 3 at the other.
At the first startup, thankfully, customer service was in an open office in another part of the small building. Couldn't imagine having to work next to those conversations.
In the first company it wasn't so bad, we had all our computers circled and pointed toward the center (mostly) which afforded us a little bit of privacy at least, but it was awkward looking up to have a thought and making eye contact with a fellow coder across from me. Though sometimes it was funny. I think the hardest part was the distraction of being the end-point for anyone's conversation at any time they felt like talking to me - no matter how good a coding groove I was in. Or maybe it was having to listen to 2 other coders figure out a problem together in the same office where I was trying to work. Hmm. Either way, I prefer private offices.
At the next startup I went to, the computers faced the wall in the office. It was designed this way so the management could look over our shoulder all day long. Needless to say, I quit within months. Constantly being questioned why I was working in a certain file, or viewing part of the project's website that the boss didn't understand made me cringe. I'd go home grumpy everyday. I'd eat in my car at a creepy park across the street just to get away from the place. It was awful.
I do wonder sometimes, if all the startups that followed Googs lead into open offices have been pranked, much like the interview folks who blindly followed Googs wacky and wanky interview questions, which have also been shown to be a useless idea.
There is probably a pranks team in Goog that publicises the ideas to see who will blindly follow.
6 and 3 in one room isn't bad at all, as long as everyone's working on the same project / the same tasks - that way, discussions you overhear are relevant to what you're working on at the time, and not a distraction / irrelevant noise.
With the managers though... Yeah that's annoying. I'd invite them to sit down next to you for a nice four-hour pair programming session - and if they refused, they probably didn't really care and they can leave you to it. Glad you left, micro-management like that just says that the management thinks you're inept and / or doesn't trust you.
He not only made a new game every week for 12 weeks, it seemed that week after week, the ideas became a little more interesting each time, to the point that I couldn't wait for his next game to come out.
For example, he also made a Snake game, but after you eat about 3 or 4 apples, the entire board started rotating. It was a genius twist I had never seen before. You just never expect a Snake game to take a turn like that, and it's a great experience.
I'm currently pegging away doing stuff with trigonometry/geometry for work in canvas, and it takes time if you haven't done it before and are not a genius!
I think within the scope of a single day, if I had to rush this type of stuff rather than try to understand it as I go, it'd be less of a learning experience. 1 week I think is a perfect amount of time for this kind of thing versus one day.
Either way, it's super cool, and how good is maths!!!
It's like biting my nails. Without thinking, there I am, looking at something on reddit. Always just use the website. Follow my favorite sports team, pics, and gamedev mostly.
But, I'm going to be phasing it out of my life. As I get older, I feel like it's not good for me. I've done the same with Facebook and Twitter, it's time for Reddit to stop, and I'm a little worried about Pinterest - but I basically use that as my Google for ideas like Camping Hacks or Gluten Free recipes.
Hmm, I couldn't really get this app to work well for me, but love that the premise is headed to Google, and hopefully their Calendar.
I do use Google Calendar all the time, and I would LOVE to be able to say, "do this thing sometime in the next couple of days" and have it linger on my calendar somehow - particularly for personal stuff, like "buy a birthday present for so-and-so" or "sign-up the kids for camp next week".