Holy cow. Reading these recaps I feel a lot the Impostor Syndrome. I think I'm competent on what I do, but when I see those guys it's hard not to feel really dumb.
I agree with both of you, but still kinda feel like this is wizardry in action...
Because it comes from that special perspective of being able to xray through the entire stack, all the way down the physics of the electronics driving the thing while keeping the context of all the other layers in mind to see how different parts can be manipulated to get the results you want. I get the most enjoyment out of my work when doing this with higher level layers, but being able to do it at the hardware end must feel exhilarating, because that's really how it all works.
Drilling down into the stack is a skill, and a skill that is very useful for things like debugging low level issues (sometimes what's causing your app to crash is a kernel bug or even a CPU bug). It's something you have to learn, but it's not wizardry. It all comes down to moving electrons at the end of the day.
I find that it helps if you start with things like 8-bit microcontrollers where you're writing C code or even assembly language, yet it's simple enough to wrap your head around easily (make sure you hit the metal; a lot of people doing this start off with Arduino and get stuck with the high level libraries, but then you're not really learning anything about how it works). Then if you know a bit about digital logic, it's not hard to learn how such an 8-bit CPU might be designed. At that point you can shift to larger and larger systems while still being able to "connect the dots" from a GUI app down to NAND gates. Of course you won't know the details of the whole stack (nobody does), but you'll have enough of a big picture overview to be able to dig your way through it when it becomes necessary.
Same, but I keep reminding me that I grew up with different interests and a different set of skill sets. Web development and the like sounds boring in comparison though.
And maybe these guys would have trouble delivering week after week productive changes in a system used for important things by important people.
After all, all this genius did is open a nintendo switch to eventually run software made by you for free. The contrary of productive work I d say and close to parasitism.
I think that allowing me to run whichever software I choose, on a device I paid lots of money for is, is a great service to society. Essentially the exact opposite of parasitism, especially considering these people are doing it for free.
The trillion dollar question is how to get rid of parasitic corporations (capitalism) ruining our lives for a profit, making it so we need dedicated hackers to do something as "simple" as owning our hardware.
How so? Has voting ever brought any major social change? If anything, history has shown that when a vote threatens the status quo, an armed coup financed by the industry (and often foreign imperialism) will take place (see: Allende, Sankara, etc).
I think the situation about voting is summarized pretty well by this funny rap clip form the 2016 USA elections: https://yewtu.be/watch?v=D9Qv6S_GtLo
The same, of course, but now I know this: if you want to learn, you will learn. If you spend 10 years keeping the passion, you will become a magician. Most of us still have at least 10 years of life remaining to spend on something exciting.
>A more detailed write-up would not make you feel that dumb.
Errr, no. Just because you would have more details and everything would seem easier to understand and it's simple to sit on the couch and be like "yeah that looks simple, I could have done that", because that still glosses over the huge amount of research and the number of trails and errors the author put in not just during this project but throughout his career to get to this point where everything Just Works™ for him so he can make it look simple for everyone else.
Just like with Edison and the light bulb, even if the end result seems very simple in hindsight, the process of getting there is definitely not.
I still fall into that same trap. Oh wow these guys amazing (they probably are). But when you watch a presentation it has this weird effect of compressing what took them weeks/months/years to do into a 45 min presentation, making you feel really bad. I try to remind jr devs the same thing. I am showing you this thing I have been working on. They had no idea I was working on it. But suddenly I have hundreds of lines of code and it all 'just works'. It makes me look like a wizard to them. But I remind them I spent the past 4 months working on that thing, do not feel bad or stupid. It just takes time and failing thousands of times over and over.
This is like studying a technical subject in university... As you said, you wouldn't know how they reached that knowledge, but at least you would understand how the matter itself works.
To loosely paraphase Feynman - the fact the author can explain it so clearly to those not deep in the field demonstrates a real understanding and depth.
(Feynman said something like, if you can't explain it to a layman you don't really understand it.)
You can do a lot with persistence too. I recently tried to reverse engineer some software protection. Ultimately I decided to cut my losses but the 2-3 weeks I spent on it was a very gradual chipping into more and more advanced stuff. Now imagine having years of experience, and chipping away over years. One "wow" moment in a blog article might have taken 3 months of headaches to reach.
Reading the blog post, it sounds like a supergenius' long weekend, so the timeline O(months) is not to be skipped over. 1% genius, 99% perspiration. Or more recently, "an overnight success after trying for 10 years".
Congrats to them !