Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sugar just conjures up all sorts of negative connotations these days, especially if you are a parent. Like, as a parent, I see one of my major tasks in life as preparing my kid to enter a world where sugar (and lots of other forms of unhealthy but pleasurable things) are much more ubiquitous than the environment in which their basic intuitions about behavior evolved. One other area beyond literal physical sugar where this is true is technology, where a huge part of the ecosystem is actively predatory on children's time and attention. So the combination of "Sugar" as a name and something vaguely related to tech just gives bad vibes all around.

I've tried Sugar out and I frankly find it somewhat condescending to children. Kid's don't need to be manipulated into using computers. They like them already and can readily appreciate that they are both fun and powerful. Rather than present to them a dumbed down interface we should be empowering them to use computers as they are, and conditioning them to expect that the computer itself be accessible to them, not hidden behind a fancy UI. When my kid was barely able to read I was showing him how to edit code and observe how it changes the behavior of characters in a game. He got it. We don't need goofy simplified user interfaces.



> Kid's don't need to be manipulated into using computers. They like them already and can readily appreciate that they are both fun and powerful. Rather than present to them a dumbed down interface we should be empowering them to use computers as they are, and conditioning them to expect that the computer itself be accessible to them, not hidden behind a fancy UI.

I could not agree with this statement more. I started teaching my daughter Python and bash when she was 8. I am currently teaching my son (11) C++ and bash and he does all of his coding in emacs. They both use exwm and are eager to continue learning.

Having said that, I can see a huge challenge for non-technical parents. If those families would like to teach their children about computers, operating systems, the internet, web browsers and possibly programming, they need help from somewhere. I don't think my kids would have stuck with it if I had just handed them a link to the RFC standards [1] or the c++ getting started resources [2]. I really can't say how I would have approached ensuring my kids had a head start with technical computer knowledge had I not the knowledge myself. It is a predatory world out there, and access to your child's attention is valuable since they are the future. It must be difficult for parents who are conscious of this to find quality technical learning resources for their kids.

[1] https://www.ietf.org/standards/rfcs/

[2] https://isocpp.org/get-started


I would really, really like to read more about the approaches you are taking to teaching your kids to code. My kids are all on Linux computers and I'm trying to wean them off iPads and consumption devices. But it feels like addictive apps can draw them back very quickly (looking at you, YouTube).


> My kids are all on Linux computers

That is great to hear. My kids are both on pi 4s, but we customized the Debian distribution quite a bit to optimize its hardware acceleration capabilities and to overclock the hardware as much as possible. The pi boots from a fast nvme usb drive and i/o peripherals are connected via a fast usb hub. They are cooled by the ice tower [1]. They are both using exwm [2] and do not require a mouse. They both type on plank mechanical keyboards from olkb. All of this customization they found quite exciting. Especially being able to mess with their own keyboards.

> I'm trying to wean them off iPads and consumption devices. But it feels like addictive apps can draw them back very quickly (looking at you, YouTube).

We do not own any ipads. Only desktop computers, and I own a couple of laptops, such as the librem 14 and the mnt-reform. Youtube is a bit of a problem, I agree. They need access to it for their schooling at the moment, but the use of it does need to be limited, and the content limited as well, or they will just start watching brain numbing junk. I have decided not to block anything on our network with the goal of establishing a sense of trust, but I also don't allow them to have free rein. It is an endless exercise in finding the right balance :-). To be honest, it is much more of a problem with my son, then it is with my daughter, who spends a lot of her free time drawing and writing and isn't as entertained by youtube videos.

As for teaching them to code, I have been giving them series of exercises and challenges that build up their skill with a few goals:

1. to build their own online mud (multi user dungeon)

2. to write their own compiler

3. to write their own operating system

4. to make their own computer

5. They each have come up with their own personal projects, so I tailor exercises to help them with problems that they need to solve

For our development environment, we use emacs + eglot [3], which is not surprising since the windows manager is exwm. I make them compile and debug from the command-line, because I want them to be competent with standard command-line tools. Fancy GUI-centric IDEs are distracting because all of the options are visible to them even though they lack the skill or need for such features.

I wanted this to be a happy experience, so I have never pushed them, but always challenge them to push themselves. I spend a few hours with them every weekend, then a couple of hours with them mid week to help them with challenges. But that is not how I started. I started with 1 hour first thing every morning Monday to Friday to teach them the basics and get them inspired. If they seemed drained, or I sensed that they needed a break, I just let them have a day off.

We also play erion mud [3] and sometimes hexonyx [4] because I wanted them to understand what a mud is all about and to build up interest. I am really into text-based games, so not surprisingly we play nethack (rogue like) [5]. I am also into interactive fiction and started them off on Adventure [6]. If you are interested in interactive fiction, then you might enjoy reading "Twisty Little Passages - an approach to interactive fiction" by Nick Montfort [7].

Full disclosure, I believe that the main reason I am able to pull this all off is that my wife and I home-school our children. It is a challenge though. Very few families where we are from are similar to us in our philosophy of technology and education.

[1] https://www.amazon.com/GeeekPi-Raspberry-Cooling-Cooler-Heat...

[2] https://github.com/emacs-exwm/exwm

[3] https://github.com/joaotavora/eglot

[4] https://www.erionmud.com/

[5] https://mud.hexonyx.com/

[6] https://www.nethack.org/

[7] https://quuxplusone.github.io/Advent/play.html

[8] https://www.amazon.com/Twisty-Little-Passages-Approach-Inter...


Hey, I don't know if your kids (or you) would be interested, but there's a few hacking games and what I'd consider educational games that they (or you!) might enjoy.

[1]https://nandgame.com/

[2]https://microcorruption.com/

[3]https://amar.bornofsnails.net/login

[4]https://overthewire.org/wargames/bandit/

Just though I'd toss those your way. I also love text-based gaming, so I'll be trying out the MUDS you linked. I used to play many moons ago, and definitely miss that era of my life. Was also big into the BBS scene in those days as well. And of course, who doesn't love Nethack? Ahh, the memories.


Thank you for those links, I played around with the first two and they are well done. I hope you enjoy the muds, we have been using tt++ with a custom script to split up channel conversations from the main story line thread. tt++ is a nice, no frills extensible mud client. The main site has a list of scripts [1] that you can download to get some ideas from. The tabs script [2] demonstrates a nice way to organize inputs on your screen. Just make sure you have a compatible version installed.

[1]: https://tintin.mudhalla.net/scripts/

[2]: https://tintin.mudhalla.net/scripts/windowtab.php


This is really incredible. Thanks so much for writing this all up!


No problem, and good luck!


>I really can't say how I would have approached ensuring my kids had a head start with technical computer knowledge had I not the knowledge myself.

Yeah, I was wondering how to teach my kid some computer languages I never quite got the hang of


> am currently teaching my son (11) C++

I'm ok with it, but you better hope child protective services don't learn of it :)


i participated in the OLPC program as a tester, and i had access to a bunch of devices (after buying my own in the initial fundraising campaign).

for a while i used the OLPC XO 1.0 and later 1.5 as a daily driver when on the road. most of the work i was doing was on the terminal, but i used the occasional activities. the browser of course, the camera, and others.

i strongly disagree that the interface is dumbed down. it may look toy like, but it serves its purpose.

the initial screen is just an application starter. i see no difference in that to any others on a standard desktop. the terminal and the source of all activities are available. and the actual inner working of the computer are accessible.

there is even a switch to switch from the sugar desktop to a normal one, and back.

the only valid argument would be, to ask what is the benefit of a different interface, as opposed to using a traditional one. but with that argument we are throwing out the idea of innovating on interfaces. and also a similar argument is used in many places to push schools to teach windows, as if it was important that kids learn to work with the most used interface only.

arguing about the interface is not helpful. if the interface works, it's good. kids need to learn concepts, and understand that computers do not all have to look and work the same way. a child that learns using the sugar interface and later a traditional interface, will learn and understand much more about computers and interfaces than a child that only learns a traditional interface, and then as an adult gets confused when presented with something different because it hasn't learned the actual concepts.

it can also be argued that as a project sugar is overengineered, because it solves problems (like activity isolation) a traditional desktop doesn't (but in reality, more and more needs to do too). but retroactively the same argument could be made for things like squeak, which btw was also available on the OLPC, because it is so different from a standard desktop. to be clear, squeak is not overengineered, but it looks that way from the perspective of todays interfaces, since it duplicates all the dev tools instead of using familiar ones. which is the same problem that sugar is being accused of.

the other side of the argument however is that sugar is what we get if we allow developers and interface designers free reign in creating something new.

so to me, sugar does not represent a dumbed down interface. but it represents innovation. and whether it is better or not should be evaluated on that metric, and not on the metric of how different it is from what we already know.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: