Kudos, to the both of you.
I'm sad we're starting to rapidly lose so many of our titans.
For all kinds of reasons, the inventor (who is sometimes by now rich and/or powerful), may have a specific vision or path they want to proceed down. When they die, other people start investigating other paths, often with more success.
I wonder if tech will see the same?
New creations in tech have to wait for patents to expire and the incumbents to crumble to the point where they don’t have the cash to buy out the competition any more.
The patent harassment might even be a factor in the curiosity mentioned elsewhere in this thread, that a lot of practical progress in file compression has been published in a Russian web forum.
Unisys[0] claimed the patent (for all kind of uses) and had the patent for many a year, PNG was created not to use lzw since it was patented. The algorithm was patented for the encoding part but not decoding.
[0]: https://eng.libretexts.org/Bookshelves/Electrical_Engineerin...
For some reason, it seems the former USSR is highly prominent in compression algorithms. RAR, PAQ, encode.su, etc. and of course Andrey Markov.
I’d take a wild guess that it has to do with making more with having less, such as access to larger storage volumes or broadband.
Specific to compression, when you’re “tech poor”, the time you spend waiting for data to get processed is essentially free.
zstd is developed at Facebook, not known for a lack of computing resources.
And, which is quite odd, a lot of proprietary Windows software.
How do you go about teaching your kids? I don't have kids yet, but if they do have in interest in programming, I'd love to give them a strong head start like you have.
Regarding teaching, I understood early that while I can program, I have very little understanding on how to teach it. So first, she underwent two Python courses (basic and advanced) on stepik.org [0], which had automated tests and have her an understanding of the language.
Then, I planned to start throwing tasks of increasing complexity at her until she solves them, giving her a more or less complete coverage of all things programming. So far, she has written such things as
- Tetris, in the console, with keyboard input
- Snake game, with competing snakes which use wave algorithm to find path
- LZW algorithm to learn bits and compression and other things
Next my plan for her follows roughly this path:
- some GUI programming, using GTK and Windows Forms. Calculator or maybe Checkers or something.
- some web programming, backend and frontend. Most likely Django / jQuery
- maybe some neural networks since are all so hot now
- some hardcore assembler stuff, like maybe some simple game or visual demo
- some mobile development, Android or iOS
Once she'll be done with all that, I think she'll have quite a clear picture of most general areas of development and will be free to pursue the area she liked the most.
[0]: https://stepik.org
Demoscene/sizecoding might be interesting, especially if she also likes artistic stuff.
Yes. Bravo to you and your daughter for your perseverance in spite of the looming "disruption" coming for all human knowledge workers.
Regarding Racket, it looks interesting. While I never did anything like it myself back in the day, it looks like it'll be an interesting task for my daughter further down the road.
1) sequence in which you gave her tutorials e.g. first tetris, then snake game, etc.
2) sources that you used to guide her through these tasks? e.g. youtube videos or other links.
Thanks.
Then more advanced Python course [1]
Then we went for Tetris. I did provide her help in getting the initial loop running where you press the key and something happens, then she implemented the game logic by herself. I did ask her to explain the architecture to me in broad strokes prior to development, and gave her some feedback, so the architecture was adjusted a bit.
First version was built in a very direct way, so once it was done I told her about Object Oriented Programming and she rewrote Tetris using objects in a more elegant way.
Then she moved over to Snake game, and mostly did it by herself, reusing parts of the code that were used in Tetris (main game loop thing, mostly), I mostly provided feedback and beta testing. We had some interesting moments debugging the wave algorithm which computer player snakes used to find a target (a simple wave algorithm), and improving performance. Then, we moved on to this LZW thing and, unfortunately, its creators immediately started dying.
The reasoning why I chose these particular tasks is because they are all relatively limited in scope, so a studying task is not enormous in size so you never finish it and actually have a chance to ship a finished product to show it to friends/teachers.
I followed this teaching path: scratch > python > sqlite > javascript (web). I am missing algorithms and OOP, and will look for gradual learning resources in these area.
One recent area I tried was observability. With prometheus and grafana, they got into collecting more data points and creating visualizations for them. Bangle.js is another one.
Maybe Qt instead?
Suggestion that because the Qt docs tend to be much, much better + it's realistically cross platform, thus opens up more possibilities.
The most surefire way to kill a young hacker’s spirit is to force them to hack on things they don’t care about. This goes with anything, not just computing. To whit, a childhood friend of mine was a gifted pianist who really loved jazz. His parents forced him to study with a classical teacher. Guess who doesn’t play piano anymore?
as a kid who played chess, the kids who were 'forced' to play chess -- the ones who came from a long chess playing family and had different scenarios drilled into their head from the day they could talk -- were much more talented at chess than I.
Their talent persuaded them to continue pursuing it far longer than I ever did, with many of them still involved.
The most involvement I have now is a friendly lichess game every few months.
It was their talent that allowed them to find more enjoyment within the pursuit than I ever did, and that talent was essentially forced by their immediate family.
So, essentially, I am just saying that forced persuasion thing that parents' sometimes do is a double-edged sword; it can create animosity and bitter hatred but it can also create the drive and motivation for boundless talent and personal satisfaction.
There’s such thing as pushing too hard, but nobody got buff without being pushed by those around them
This is completely contrary to my experience. The successes I’ve had were my own motivations and drive.
I sincerely hope that you were just ignorant of the help you received along the way. A child with absolutely no support or encouragement is a very depressing thought.
And I did not have bad parents. Many actually hinder their childrens development, instead of being ambivalent to it.
Isn't the general term for that a "problem with authority"? ;)
- Dad, I'm so done with this Snake game, give me some other task?
- Ok, how about making that LZW thing we talked earlier?
- Cool.
I picked up skills after my parents because I was curious and they were both knowledgeable in their respective fields(my dad, a medical equipment engineer, could repair a TV, which for a five year old amounted to a superpower).
I was never forced to do anything and yet had the exact same headstart you're talking about, but in e.g. school math.
Of course that did a lot of damage to my work ethic, but the point is that kids are naturally curious and, at least initially, want to do what their parents do.
https://en.m.wikipedia.org/wiki/Judit_Polgár
Judit Polgár (born 23 July 1976) is a Hungarian chess grandmaster, widely regarded as the strongest female chess player of all time.
Polgár and her two older sisters, Grandmaster Susan and International Master Sofia, were part of an educational experiment carried out by their father, László Polgár, in an attempt to prove that children could make exceptional achievements if trained in a specialist subject from a very early age. "Geniuses are made, not born," was László's thesis. He and his wife Klára educated their three daughters at home, with chess as the specialist subject.
I’ve seen him play at SF Jazz a few times and it seems like his loves his job.