HNHacker News
TopNewBestAskShowJobs

throwaway47292

735 karma · joined August 14, 2021

trying to teach my daughter how to code, https://github.com/jackdoe/programming-for-kids

if you have good ideas on programming pedagogy shoot me an email at programmingtime@fastmail.com

thanks!

submissionscomments
throwaway47292··on Show HN: C Pointer Game – Pointers, Arrays and Strings for Kids
I made this game so I can teach my daughter C, particularly thinking about how things exist in memory, while traveling and having dinner or waiting for the bus.

Just grabbing a few cards and looking for where they exist in memory is a fun challenge, but also helps to understand and not be scared of the very overloaded []()* syntax in C.

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
Oh! Because of the slow and costly printing process I read it like 50 times, and yet..

Its amazing how your brain just sees what it wants to see.

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
I really enjoy finding new ways to introduce her into how computers think, in the same time, I have to constantly level up my game, as I am competing with tiktok, instagram, youtube, netflix.. etc. So I have to come up with new incentives, and more and more interesting projects, e.g. I printed a tshirt with some of her code, or made a huge poster with one of the turtle images she made (https://github.com/jackdoe/programming-for-kids/blob/master/...), or sometimes its pure bribery, like buying robux.

When I was her age, I spent hours just reading random man pages, pretty much because cartoon network was showing the same episode of dexter's laboratory for the 25th time.

The kids her age are growing in a strange era, programs will control their life, wether they want it or not, so it will be great if they can debug :)

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
Ah! I didnt mean to show it off, just my desk is a mess..

Yea its a cyberdeck I am building with hardwired Atreus directly connected to pi zero gpios and using libuinput to make a software keyboard, which works amazing btw.

I am making it to init directly into getty without login (with busybox init), so it boots directly in usable /bin/bash in only 2-3 seconds, and all the available programs are simple python programs (ls, cp, mv, a basic line editor, touchtyping game, hangman etc) and the keyboard itself is a simple python program that basically scans the matrix and emits events to uinput. The frame is from plywood.

And I am trying to make it like a 'scavenger hunt' experience for my daughter, I will put special codes in various places in the programs or on the file system with different difficulty, and I can challenge her to find them.

The goal is to have < 50$ scavenger hunt computer kit (thats why I cant afford teensy or something)

This is just the prototype to see how it feels to write code using line editor, and also to test the effect of thinking of the keyboard as a program with a nested for loop, on her thinking about 'what happens when you press a key'

    for r in rows:
        send(r, 1)
        for c in cols:
             v = read(c)
             if v == 1:
                  # (r,c) is pressed
        send(r, 0)

I just uploaded those to show you how it looks, but again, its just to test the software and the screens size:

https://github.com/jackdoe/programming-for-kids/blob/master/... https://github.com/jackdoe/programming-for-kids/blob/master/...

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
I am halfway done with the C deck, as we are switching to C soon, and I will setup a kickstarter after, should be done around December.

I want her to know why x[3] and 3[x] are the same thing.

    int x[3];
    2[x] = 5;

    printf("%d %d\n", 2[x], x[2])
A lot of people struggle with

    x = 5
    y = 6

    y = x

    x = 7
    print(y)
and

    x = [1,2]
    y = [3,4]

    y = x

    x.append(5)
    print(y)
There is something magical in understanding how the computer uses its memory, its almost as if you walk out of a mist.

I think it will be very valuable to have a set of 4 decks: python, machine code, unix pipes and C, so that the decks compliment each other. In the machine code deck there are few cards that have pointers (e.g. https://punkx.org/4917/play.html#43), and they can be used to help with the C deck for example.

Then its LISP.

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
You can just generate the tiffs yourself with different colors, border_color is the color of the border and the comments https://github.com/jackdoe/programming-for-kids/blob/8d14a24...

(if you are talking about the programming time game)

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
Now with everything on the cloud, kids are growing more and more disconnected with their computers, instead of the kid making the computer do something, they do some magic sequence of actions and sometimes things work, sometimes they dont.

Being able to type a command, give it some input and see its output, I believe is the most fundamental way to interact with the computer.

The basic concepts of files, folders, programs and processes are getting more and more murky with every new iOS and windows release, and yet, those are still the building blocks of everything, they are just hidden by some obscure interfaces and menus or are just plain inaccessible to the user.

UNIX Pipes are the most pure and useful way I know of how the user interacts with the programs and how the programs interact with each other passing their output to the other program's input, and I think it illustrates how more complicated things can be built.

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
Sorry, I copied ND and NC by mistake, I just pushed https://github.com/jackdoe/programming-for-kids/commit/8d14a... to move to CC-BY-4.0 (removing NC and NC)
throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
This is amazing! Thanks for sharing, I will try it with my daughter.
throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
I print with some professional card printing companies, the pricing goes something like 10 decks, 500$, 50 decks 800$, 100 decks 1200$, and 300 decks 1500$ and then it continues to drop

Since I printed only 50, I think the price is too high, so I would rather to give them for free than to charge unreasonable price. If you are willing to pay the shipping cost send me an email to b0000@fastmail.com, I still have few left.

throwaway47292··on Show HN: The Unix Pipe Card Game – teach kids basic Unix commands
I do that so there is no tracking, I want people to be able to download the pdfs without microsoft's knowledge :)
throwaway47292··on Show HN: 4917 Machine Code for Kids – Card Game
I think most kids can learn basic programming and have different attitude towards software. Programs are going to determine their lives, from the tiktok feed algorithm to surveillance to filtering their CV for a job and even evaluating their job performance or paying their taxes.

There was a story recently where toasters were bricked because they received the microwave binary update. Can you imagine? You wont be able to make toast if you cant hack our toaster.

Not to mention the new scams, from NFTs to ransomwares, I have gotten to the point of asking my daughter to tell me for each app she installs 'how it makes money from you, especially if its free' .

What big tech has been doing for the last 20 years has successfully disconnected the user from the computer, the next generation was supposed to be the most 'technologically advanced' generation and yet for them technology is worse than magic. It is magic that controls their lives.. that is filled with exploits, bugs and crashes.

We must do all we can to break down the tech barrier and make them literate.

(this is my log of teaching my daughter https://github.com/jackdoe/programming-for-kids I have posted it in other comments so it looks weird, but I have gotten some feedback that it is a nice resource for other parents, so I will link to it again)

throwaway47292··on Show HN: 4917 Machine Code for Kids – Card Game
thanks! fixed
throwaway47292··on Show HN: 4917 Machine Code for Kids – Card Game
This is true!

I am still working on the games, but since it took me 2 months to make the programs, I decided to print anyway.

https://punkx.org/4917/guide.html#game here I have just given examples of possible games, but I think parents will have to see what their kid responds to, as mine really like dice and modifying the code so that works for me, but for another parent they might want to make some sort of treasure hunt with the cards for example.

throwaway47292··on Show HN: 4917 Machine Code for Kids – Card Game
This is the second game me and my daughter made, first one was https://punkjazz.org/programming-time/ and we really enjoy them both.

The idea is for a parent and a kid to just pick few cards and play a bit after school or while making dinner.

Also it was a great deal of fun to write those small programs :)

throwaway47292··on Ask HN: Yahoo disregarding RFC 5321 retries
4-5 days in queue is infeasible with modern amount of spam, especially generative spam (e.g. someone gets verisign's .com zone and sends one email to every john@domain)

My gut feeling is that almost nobody waits more than few hours, probably even less.

But at least whoever tried to send you email got a 'well we tried to send but failed' so they know to reach you in some other way.

throwaway47292··on Ask HN: Any weird tips for weight loss?
hmm the hardest one is to reduce stress (which now when we have a disaster bingo is really hard to do) which will directly impact your weight, therapy also helped me.

a weird i have done is one is to make food just super inconvenient, and order groceries online only when my stomach is full, and buy lots things that are easy to eat raw, like cauliflower and carrots; you can even add pi-hole rules to block ordering groceries before lunch or before dinner when you are especially hungry.

i think its also important to drink just water, but each day try few drops of lemon or orange or something to change the taste if you are bored of it.

make sure your vit d is good as it will help with the stress as well

throwaway47292··on A new speed milestone for Chrome
I have a friend who says: "when you invent more efficient lightbulbs, people do not consume less energy, they just get more light"

Every time we did a milestone performance improvement in our infrastructure, e.g. search used to take few seconds, we reduced it to few milliseconds. One year later our colleagues were doing machinegun-like queries and the search was back to take 1 second, and it is just a matter of time to go back to few seconds.

One thing that helped a lot was hard limits, e.g. InternetExplorer9 having hard cap on css size was literally the only thing that forced people not to push megabytes of css.

I wish Chrome does something similar, like 'you cant have more than 500kb of js code evaluated per page' or 'no more than 200kb css', it will do miracles in just one year, and I am willing to bet that we will have the same features we would without the limit.

EDIT: I did not mean to undervalue Chrome's 49% improvement in one year, which is just extraordinary work!

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
wow those look amazing!
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
of course, that was my point scratch is great if kids like it, it is absolutely real programming language, i meant that just my kid didnt enjoy it
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
hehe i didnt want to put `between 1 and` because of the salt fiasco https://github.com/saltstack/salt/commit/5dd304276ba5745ec21...

and then i had a typo ..

i will fix in the next revision!

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
backspace and enter are especially an issue, i teach her to use ctrl+h and ctrl+j capslock being control, on windows i made https://github.com/jackdoe/programming-for-kids/tree/master/... to help with that
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
> the poster's child is probably a native English speaker

She is not, but started learning english when she was 5 or 6 by watching netflix peppa pig in english and with english subtitles, now she is almost 11 and watches anime in japanese with english subtitles.

What pushed me to do that years ago was Stephetn Fry's turn on the subtitles video https://www.youtube.com/watch?v=I-zISnJ-oao (I cant actually find the one I watched at the time, but was the same content)

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
> So a case study on a sample of 2 - does it count?

no :)

What would you have done if she was not interested in learning math or literacy?

Also when you were 8, you didnt have about 1 million developers making 500k per year trying to extract(and sell) every single bit of your attention in any possible way. From roblox to netflix to tiktok to supercell.

It took us like 300 years to learn how to teach math, and we are still improving, we are getting new tools every day, just look at https://www.youtube.com/3blue1brown can you imagine how many people he himself has reached and inspired? People that previously thought: "math is not for me".

We dont know neither pedagogy nor andragogy for programming, what is known is that tutoring + help software works really well (https://www.public.asu.edu/~kvanlehn/Stringent/PDF/Effective...), but we are still trying to find ways to teach mastery.

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
I dont know about the 'if they cant grasp BASIC' thing, but Scratch is not as inclusive as people think. My daughter was almost repulsed by it, but actually when I made a "laptop" (https://github.com/jackdoe/programming-for-kids/blob/master/...) of a pi zero and a small screen that boots into vim, and she started to make python do things, basic math things, she was much more engaged.

We made few arduino nano led controller, she helped to solder the mic sensors and etc, and also to program the delay between the 'claps', it just feels so real.

I also bought pi4 game hat (https://www.waveshare.com/game-hat.htm) that she assembled herself, and then I uploaded a 'hello world' snes game, showed her some assembly.

She played a lot of 'human resource machine' and '7 billion humans', and I was paying her sometimes 1 euro per completed level, and turns out it was time well spent.

She also helped me with some work on Ben Eater's kit (especially the clock and some registers).

I think the best lesson we had that got her hooked was when I made like 5 line python script that controlled the keyboard that was climbing an infinite staircase in Roblox using pyautogui.

What I am trying to say is that some kids will respond to scratch and some wont, and either way I dont think you should say 'oh programming is not for them'

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
She is almost 11, and some of the cards are very very challenging, and some are impossible for her at the moment, but I just pick the ones who are appropriate for the mood/patience/concentration capacity for the day.
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
She didn't like scratch at all, says it feels patronizing, so I didnt push much, but she is doing fine with python and c.
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
apparently fun is subjective :D
throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
She is almost 11 now, but we are coding every day for almost a year now (I am logging the progress here: https://github.com/jackdoe/programming-for-kids). Its often we go to the number line :) but because we usually make games, and it was easy to get negative numbers when you go out of the screen, so it "clicked".

The whole game was her idea and we started working on it about 5 months ago.

throwaway47292··on Show HN: Programming Time - Playing card game to teach your kids Python
Thanks for the suggestion, I made those specifically with my daughter, and are tailored to improve her level.

But you are right, in the future I will make decks with different difficulties.

Page 1 of 4Next →