Live data from Hacker News

My Kid Will Never Hack Linux

blog.jonasoberg.net

41–50 of 98 posts

Re: My Kid Will Never Hack Linux

#41

Perhaps I need a history lesson, but I don't think the kernel developers 25 years ago had any idea that some kid would be learning C through the code they wrote. I also doubt the engineers at Texas Instruments thought that enabling programs on my TI-84 would spawn my or many others' passion for programming. It was simply coincidence paired with curiosity. I think curious children of the right mindset will find the op…

This feels a lot like the good old framework/library debate. Instead of providing everything for the learner in a framework-y way (user must adapt, we call you), it seems better to offer lego blocks instead. Well documented, componentized, reusable things which can act as parts of any new system.

Re: My Kid Will Never Hack Linux

#42
post #7

You can help them understand by writing and submitting documentation. Let's be honest, the linux kernel documentation mostly sucks and (more commonly) doesn't exist. PS Don't underestimate children. Some will learn C.

I taught myself C when I was 14. This was back in the late 80's. It would be a lot easier to do now.

Definitely. HN probably doesn't think about it much, but go to high school hackathons or take a look at Github -- there are a bunch of teenagers around who have learned pretty incredible amounts of programming. Here's an example of one who learner C and wrote his own kernel, among other things: https://github.com/GruntTheDivine?tab=repositories

Re: My Kid Will Never Hack Linux

#43
post #19

"And we need to adapt our thinking accordingly: we don't need free and open source software and copyleft so that the next generation can hack the Linux kernel; we need it so they can hack a flying car." Jesus, if there was ever anything that shouldn't be developed like the Linux kernel, it is anything in the air large enough to cause damage if it crashes.

> if there was ever ... enough to cause damage if it crashes. Sure, let's learn from the past: let's make sure there is a monopoly behind flying cars. It will be nice when you will be flying your family on a Sunday afternoon and suddenly you will have to choose between up(?)grading to FlyingCars 10.0 (a.k.a. RustyBikeWithDoors) or paying your house's worth in ransom to get the privilege of landing safely one more tim…

Data point: avionics software has avoided that particular trap so far, not through open source licensing but rather through mandatory safety regulations.

Re: My Kid Will Never Hack Linux

#44
Who even needs a kernel? First start learning to program on the bare metal, like us oldsters used to do. The Arduino environment is wonderful for this. Dirt cheap, easy to get started by copy/paste code, and the environment is full C++. I have thousands of lines of code running on Arduinos and none of it took skills that a 12 year old couldn't master.

Re: My Kid Will Never Hack Linux

#45
post #19

"And we need to adapt our thinking accordingly: we don't need free and open source software and copyleft so that the next generation can hack the Linux kernel; we need it so they can hack a flying car." Jesus, if there was ever anything that shouldn't be developed like the Linux kernel, it is anything in the air large enough to cause damage if it crashes.

> if there was ever ... enough to cause damage if it crashes. Sure, let's learn from the past: let's make sure there is a monopoly behind flying cars. It will be nice when you will be flying your family on a Sunday afternoon and suddenly you will have to choose between up(?)grading to FlyingCars 10.0 (a.k.a. RustyBikeWithDoors) or paying your house's worth in ransom to get the privilege of landing safely one more tim…

I really hope there will not be cars flying around that some self proclaimed 1337 hacked in their spare time.

Re: My Kid Will Never Hack Linux

#46
post #25

Earlier quoted context omitted.

This is exactly how I got into writing software. First, I got bored with playing the same scenarios in Command & Conquer over and over. So I learned to make my own. Then I got tired of some of those hacking utilities crashing (all the time!) and said I could do it better myself. So I taught myself to write software. 20 years later... I see people being hired who have no clue how things work under the hood and it make…

I hear this argument all the time and it makes no sense to me. If I hire somebody to put my Ikea furniture together, I'm not disappointed to learn they're not a skilled carpenter. When I hire a children's entertainer, I'd be surprised to learn they were an extremely talented musician. There are people out there who know how everything works under the hood, and that's great. But they're typically expensive and unavail…

Why assume that both positions are mutually exclusive?

There's nothing wrong hiring a mediocre developer (or anything) so long as they aren't tasked with doing something that needs more skill is fine: I've done it myself in the past and will do so in the future. When that something escalates into something that does require more, it can be sad or disappointing to see what the less skilled or less caring person did. Conversely, it can be wonderful to see someone that is a true accomplished craftsman at work, even on banal projects and they should be lauded... if that is snobbish, fine, count me in.

Finally here's a clown that is also a talented musician: https://www.youtube.com/watch?v=O3O1XojnTag

Re: My Kid Will Never Hack Linux

#47
post #25

Earlier quoted context omitted.

I hear this argument all the time and it makes no sense to me. If I hire somebody to put my Ikea furniture together, I'm not disappointed to learn they're not a skilled carpenter. When I hire a children's entertainer, I'd be surprised to learn they were an extremely talented musician. There are people out there who know how everything works under the hood, and that's great. But they're typically expensive and unavail…

Why assume that both positions are mutually exclusive? There's nothing wrong hiring a mediocre developer (or anything) so long as they aren't tasked with doing something that needs more skill is fine: I've done it myself in the past and will do so in the future. When that something escalates into something that does require more, it can be sad or disappointing to see what the less skilled or less caring person did. C…

Who decides how much skill a given task needs?

Re: My Kid Will Never Hack Linux

#48
post #25

Earlier quoted context omitted.

This is exactly how I got into writing software. First, I got bored with playing the same scenarios in Command & Conquer over and over. So I learned to make my own. Then I got tired of some of those hacking utilities crashing (all the time!) and said I could do it better myself. So I taught myself to write software. 20 years later... I see people being hired who have no clue how things work under the hood and it make…

I hear this argument all the time and it makes no sense to me. If I hire somebody to put my Ikea furniture together, I'm not disappointed to learn they're not a skilled carpenter. When I hire a children's entertainer, I'd be surprised to learn they were an extremely talented musician. There are people out there who know how everything works under the hood, and that's great. But they're typically expensive and unavail…

It's great, if they can solve the problem! My experience, as a kid who self-taught C after feeling that QBasic was too limiting, is that to debug problems, you often need to go a level or two deeper than the code you're working on.

As an example, I've encountered bugs with Python libraries that I had to debug using GDB. If I wasn't comfortable with C, my only option would have been to throw my hands up in the air and say "I don't know why it crashes sometimes"

Re: snobbery... maybe? I'm sufficiently self-aware to recognize that I have a lot of pride in the fact that I am comfortable pretty much anywhere in the development stack. Out of high school, I recognized that I would occasionally encounter software problems that appeared to be deeper in the system than I was comfortable with, so... I went and did a dual EE/CS degree.

At this point, I'm happy writing JS (React/Redux are my preference), and I'm happy debugging ARM machine code (I once had a peripheral fail to initialize because the gcc optimizer had reordered code such that I was violating the wait states on the periph). Glitches on the power supply rail? Bring on the oscilloscope. Shit performance in your web app? Let's profile it and see what's up.

So sure, I might be a bit of a snob about this. I put years and years of effort into deeply understanding all of this stuff. You want to hire a guy who knows jQuery and has never manipulated the DOM by hand? Go for it! And when the app is buggy and performs like shit, give me a call and I'll help you untangle the giant ratsnest they made.

Re: My Kid Will Never Hack Linux

#49
post #47

Earlier quoted context omitted.

Why assume that both positions are mutually exclusive? There's nothing wrong hiring a mediocre developer (or anything) so long as they aren't tasked with doing something that needs more skill is fine: I've done it myself in the past and will do so in the future. When that something escalates into something that does require more, it can be sad or disappointing to see what the less skilled or less caring person did. C…

Who decides how much skill a given task needs?

At the end of the day whoever it is that is deciding that there is need they will have filled. This can be different from the person that will be the intended beneficiary of the task, or different from the person that will execute or oversee the execution of the task. Of course, this means the adjudication may happen after the fact, but it doesn't change who was initiating the action to make something "a task" and whether or not that person is satisfied with the outcome.

In the professional world, I call this "the person signing my check".

(Edit: ok, ok, there can be superseding criteria as well... mostly in areas where life/safety issues are at play).

Re: My Kid Will Never Hack Linux

#50
post #25

Earlier quoted context omitted.

I hear this argument all the time and it makes no sense to me. If I hire somebody to put my Ikea furniture together, I'm not disappointed to learn they're not a skilled carpenter. When I hire a children's entertainer, I'd be surprised to learn they were an extremely talented musician. There are people out there who know how everything works under the hood, and that's great. But they're typically expensive and unavail…

It's great, if they can solve the problem! My experience, as a kid who self-taught C after feeling that QBasic was too limiting, is that to debug problems, you often need to go a level or two deeper than the code you're working on. As an example, I've encountered bugs with Python libraries that I had to debug using GDB. If I wasn't comfortable with C, my only option would have been to throw my hands up in the air and…

That's actually the perfect way to be. A startup hiring someone of your level to build an MVP is probably wasting a lot of cash. Most startups will never grow big enough to worry about performance. And if they do, they can afford to pay you to come and in fix their code.

That sounds like a balanced ecosystem to me.

Post reply on HN