Interestingly, I feel like this comparison to an IC and input(s) -> output(s) is more akin to functional approaches, and many people complain about OOP being the opposite.
To quote Joe Armstrong:
> I think the lack of reusability comes in object-oriented languages, not functional languages. Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. If you have referentially transparent code, if you have pure functions — all the data comes in its input arguments and everything goes out and leave no state behind — it’s incredibly reusable.
It's not so much parent supervision but just parent buy-in. If you're a game, no problem, you just need to appeal to the kid. If you're trying to be a safe portal to the wider internet, you probably need parents onboard.
I was a senior engineer at a startup that evolved into this space – basically, we started as a browser for kids and slowly started adding more "social" features. I thought I'd add a few notes in case you (or someone else) goes down this road:
- Monetization is hard. As much as parents vocally _desire_ a safe space for their kids online, it doesn't translate to their wallet. If you end up going for more indirect revenue (ads, branded experience, etc), you'll find yourself in ethical gray areas quickly.
- Read up heavily on COPPA. It is by no means insurmountable, but it adds more work and restricts what you can/can't do.
- Social interaction needs to either be severely limited or heavily moderated, both of which have serious problems. You can't just throw a kid into peer-to-peer chat rooms or private chat for obvious reasons. Likewise, a kid gets bored quickly with a pre-determined set of "emotes" or canned text. Finding a balance between the two is very difficult.
- Parents care less than they think they do. Every parent, from casual conversation to focus groups, will light up at the idea of a kid-safe internet/social network. However, we found parent engagement to severely drop after initial sign up, despite how active the kid might be. We did weekly reports on kid activity and interests, ways to share content and engage with your kid, etc – all of which was rarely used.
Granted, it's quite possible (probable) that we missed the mark, and that we just didn't have the right timing/vision/execution, but there was enough friction that I came out the other end with a strong bias against working in the kids' space again.
What's the benefit/reasoning here for another distro? I just want rock-solid hardware with strong Linux compatibility. It seems like the man-hours would be better spent contributing to drivers to ensure stability and accessibility across all Linux distributions.
Depends. Do you ever have to look down at the keyboard? If so, then you really should learn to touch type. If you can fluently type without ever looking down, it would probably be a low return on the investment. The only caveat would be RSI-related issues, but I'm really not qualified to opine there.
IANAL but my understanding is that patents cover the implementation not the idea. If you aren't capable of practicing (yielding the product), you probably shouldn't be holding/filing a patent.
To quote Joe Armstrong:
> I think the lack of reusability comes in object-oriented languages, not functional languages. Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. If you have referentially transparent code, if you have pure functions — all the data comes in its input arguments and everything goes out and leave no state behind — it’s incredibly reusable.