Hacker News new | past | comments | ask | show | jobs | submit login
TurboWarp Desktop (turbowarp.org)
183 points by varun_ch on Nov 17, 2022 | hide | past | favorite | 43 comments



At around 8 years old i went out with each of my kids and we bought a second hand PC together and setup Linux.

We purchased a working computer, but I went through the motions of pulling out the hard drive and the RAM when we got home and then we went through a process of “building the computer together”, screw driver, case off etc.

Having my kids start on Linux has massively levelled their tech skills up and setting up coding tools has been much more intuitive and natural.

My son it’s now a coder and a very competent Linux user and his ops skills have supported him as he has begun coding professional now that he has graduated.


My dad used to distrohop a lot in the linux and bsd land. I first used linux around 20+yrs ago when my dad set up some linux(red hat or suse I cant remember). My dad never really taught me to program or supervised my usage of computers but when I got my first pc I was eager to set up linux. In the end I ended up bricking my windows xp install (no more games for me). My usb mouse would also frequently not work on linux. But that got me started on my journey through foss land. I'm now doing a PhD in robotics and I have no regrets.

My younger brother also ended up using linux as he got my second hand macbook (with linux) as his first laptop. He is now headed down the med school route but still very proficient with coding thanks to his linux experience.


I wonder, for kids whose parents have done this but those kids didn't get into computer science, what other cognitive benefits they might have realized? Just because somebody doesn't get into CS in some form doesn't mean the exercise is a bust at all, but being exposed to seeing how things work, the logic, science, nuts-and-bolts of it all has got to have a net positive on the development of the child brain. And I wonder if there have been any studies proving tangible benefits from doing so, such that we could use that as justification for earlier exposure to such educational experiences in an age appropriate manner (where feasible/possible).

Just some musings from my "mental mind" (stupid pun intended). Anyway, way to go mom or dad!


I want my kid to use linux/windows/mac to train his ability to recognise basic concepts and apply them across any device. I also want him to hit issues and ask questions like "why can I do that here but not over there?"


Congrats, how do you keep their attention towards this path when they get so distracted with everything shiny?


Oh another thing that I suppose helped was to collect and build an appreciation for old school tech.

A gameboy is a parents friend these days, much less addictive than most modern devices.

Gameboy, record players, takagochi, visits to a local HackerSpace and later a home drone and some 8 bit gaming, all helped build an appreciattion for a more home grown tech aesthetic.

Also I had the plan to pay my kids $200 if they could get their touch typing speed up high enough, but that’s another story.


Not the GP, but I seen family to have elders who's aware and keen on not having a lot of shiny stuff in general. Computers _are_ shiny for kids in such households.


I don't know how to code and I don't know where to start. When I've attempted to start in the past, with Python, I've quickly become massively overwhelmed and given up or slowly faded into inaction.

Scratch has always seemed like it would be a good entry level sort of thing, but then I see all of this stuff about 8 year olds using it and everyone talking about it being only for children.

I understand that it's meant to be visual and intuitive for kids and whatnot, but it's discouraging, because I almost feel ashamed for wanting to use it.

Maybe it's that I have so little confidence in my mathematical skills and other "logic-related" things that I'm nervous to even start, just to avoid the shame accompanying my inability to achieve anything with a platform literally designed for elementary school kids.

Just venting a little bit. Anyone have any advice for getting started? There are so many little projects and seemingly simple things I'd like to do with my PC, like running custom scripts on my Pis, making cool AHK macros, creating home cockpit stuff for MSFS, etc.

It's incredibly discouraging to see people making all of these incredible things that I daydream about constantly, knowing that I am completely unable to even scratch the surface.

Pity party over.


The dirty secret of programming education is that Python is, in practice, a sort of dead end for the majority of the people that it gets pushed on. There's a veneer of simplicity and approachability due to the design of the language itself, but (by-and-large) people often don't progress with it in a meaningful way and don't pick up good practices. (NB to pre-empt the backlash: "often don't" doesn't mean "no one does".) In that regard, it's not terribly dissimilar from Scratch or, say, the path of VBA programmers.

Given that it involves the possibility of an annoying installation and setup on platforms where it isn't available by default, and the tooling past that point is itself a bit of a backwater, it's surprising that we're still sticking this out over the decades and still pointing newcomers to Python. We probably should have done something about it by now—where that involves fixing the Python ecosystem, or putting efforts elsewhere.

I'm not alone on this. Konrad Hinsen has written extensively from a first person perspective on this as someone who 1. seems to like Python, but 2. has to deal with its (mis)use in the sciences.


I understand where you're coming from, every language or tool you look into opens up a Pandora's Box of tooling and libraries that you Should Be Using, and it's difficult to see the forest from the trees. For me this goes back all the way to PHP, where you don't just do, idk, "php helloworld.php", but you had to set up Apache, MySQL, and everything that comes with it, or some Windows application that sets up a server.

Anyway, that's not really practical advice. I'd say, either use Python, avoid any libraries or tooling, just stick to basic python scripts to get to grips with it. Make some of the tools you mentioned, or else do a series of challenges - Advent of Code is coming up, but that quickly goes pretty advanced.

Alternatively, I've had a lot of fun with pico-8; it's an intentionally constrained environment where you can only see a dozen lines of code at once in low resolution blocky text. It removes any inclination for e.g. libraries or clean code, in favor of just pragmatism. Learned a few tricks there too, like practical applications of the mod operator and the like.


I'm kind of a beginner, but as someone who really likes getting visual feedback, I think 2D gamedev is a good place to start. Try Godot [1] which uses GDScript, a language similar to Python or Unity [2] which uses a more complex scripting language (C#) but has a lot more tutorials for it.

[1] - https://godotengine.org/ [2] - https://unity.com/


I've been teaching an afterschool class for the last six or so years for kids using scratch, whilst yes its aimed at that level - it does allow you to understand concepts so easy, especially as you can build, rearrange and change like lego bricks.

I find out stuff I didn't know when I am just noodling around designing lesson plans for the next week - what you learn will follow you and help with other coding.


Have you looked into some of the "fantasy consoles," such as Pico8 [0] or TIC80 [1]? These emulate "8-bit machines" with graphics and sound, and are completely self-sufficient systems. Compared to real 8-bit machines, your creations can easily be shared as they can be exported to run directly on web pages. The shared place for projects is also a wonderful place to learn from others: from running a game to inspecting the code is a matter of pressing `esc`.

[0]: https://www.lexaloffle.com/pico-8.php [1]: https://tic80.com/play?cat=0&sort=2



I love this. I've looked for good learn to program things for our kids but most of the ones I find are online only web sites or cloud connected apps.

"Hey kids, welcome to the dystopia of 21st century computing! You can make cool programs but they're not yours. You have to pay rent forever or they disappear. If you ever want to revisit your old creations when you're older, too bad. By then the site will be gone. Even if you could download them you could never run them. Everything you do is tracked and data mined, so behave!"

I have my old childhood Commodore 64. I can load programs I wrote when I was 9 from floppy disks. I want that for my kids.


_Coding Projects in Python_ is a nice book I found for kids and doesn't have any proprietary stuff. Just plain, offline programs one can try at leisure.


_Coding Projects in Python_ is a nice book I found and doesn't have any proprietary stuff. Just plain, offline programs one can try at leisure.


A bit meta, but still:

If you're going to translate something, translate it well. This page is (I assume) auto-translated to Swedish using Google Translate or something similar, and the result is poor. This makes the whole thing come off as a scam.

Further, there's no way that I can see to switch to the original English version of the text. So I'm stuck in a poor experience.

In short:

- translate well, or don't do it at all

- allow the user to select the language/region to their liking


Same with the German page. I still have no idea what this is, because the sentences are completely garbled up.


> TurboWarp Desktop

The only thing they forgot is to add a description: what is and what it does.


I had the same question when I first saw this post because the title is kinda generic, but the description is right at the top of a page: a Scratch mod with a compiler. There's more detail on the actual tool's page:

> TurboWarp is a Scratch mod that compiles projects to JavaScript to make them run really fast.

And Scratch has it's own resources, because it is it's own project; the target audience is clearly (possibility prospective) Scratch users.


My first foray into programming was on an HP-41C calculator. At the time I didn't know it was "programming", I just used it to make life at school easier. Kind of seems like an Excel moment now, where most people don't know they're "programming".


Off topic, is there something like TurboWarp where you visually design a flow chart of basic operations and it gets evaluated as code?

I'm looking for something like that to use as an educational tool to help with teaching people how to program


How are HN parents teaching their kids to code? I've got a 6 yo who I think might be ready to start learning and am curious how you've done it. What age is a good age to start? How do kids age out of languages/runtimes into other languages/runtimes?


We've started with Codespark Academy for our pre-literate kiddo. At first he said "I don't like this, it's boring."

And 20 minutes later came back with "Daddy, can you help me? This program is in a loop and it will run forever"

Flash-forward a few months and he bursts into the bathroom while I'm showering to show me the game he made in their side-scrolling platformer authoring environment: "You need to grab the jetpack, then you can fly over the wall of fire to get the coin and win."


Lovely. How old is he?


When I was that age in the early 00's, my father set me up with an emulated Tandy Color Computer 2. He figured that he had learned on it, so why not his son. Later on he bought me a real one (and some cassette tapes that he had used with his. They still worked).

There is a real magic, interacting with a computer like that. It had almost no functionality outside of what I could program on it. It had simple graphics, sound, and tons of hidden functionality that was just a POKE away. (For instance POKE 65495,0 would increase the clock speed).

Going from BASIC to my first "real" programing language was a mind bend. It took a lot of experimentation for me to wrap my mind around variable scoping.


Awesome. I learned a lot of stuff on a real CoCo 2. The book that came with it is pretty great because it really walks you through everything down to the key press and shows a lot of examples.

https://colorcomputerarchive.com/repo/Documents/Manuals/Hard...


Spent years on a coco 2. Loved it.


My son turned 6 recently. You might find this doc helpful:

https://docs.google.com/document/d/18qNHqaZ9CdVwQsh4sEslf3GG...

The things my son has used or is using:

* Osmo Coding Awbie (requires Osmo hardware)

* Osmo Coding Jam (requires Osmo hardware)

* Scratch Jr. To use Scratch Jr effectively, it’s good to have a book or a guide. I chose this set of example exercises: https://www.amazon.com/dp/1593278993

* Code.org (Course A or Course C)


+1 for osmo


Depends on the child, but started with Scratch with mine for the visuals. I've heard good things about Swift Playgrounds recently too but it was rougher a few years ago. One thing that I'm not doing is pushing this too heavily as there are so many other potential interests they could develop and (I believe that) the set of STEM options are wider these days -- excepting chemistry kits which all seem to have been neutered.


I set up a raspberry pi to auto boot into Commodore 64 mode with a BASIC command line. It was a fantastic start, there is something magical about that experience. The boy then shifted to scratch and also uses REPLIT.


Nice. One side project I'm thinking of is to build a simplified msdos environment for the Raspberry, with basic shell commands like cd, dir, md, etc and a set of basic programs inside the same environment to do productivity/office things, with some basic internet tools (email, wikipedia..) but also with a pico8 like game creation tool..

Like an msdos without the unrelevant parts (system files, configuration,..) with a good enough/interesting set of apps tailored for 5-10yo children

In my mind the idea makes sense at least :_D


I designed a custom embedded board (really simple, comparable to a 80s home computer) with 64KB SRAM, video output, and LEDs in key locations illustrating the inner workings. We started at 7, playing with Forth and assembler, drawing sprites on paper and trying to make a simple platformer game. The key point here was a physical machine that does as little magic under the hood as possible, and is super slow so you can intuitively get the limitations; I also implemented step-by-step debugging and ultra slow clock mode. Then we switched to RPi, writing simple games in Python, then we made a raytracer in plain C (easy to explain and write, huge interest spike as you get magical results), then a voxel Minecraft-like prototype. Now he's 15, mostly interested in ML and graphics.

As others said, it's harder to suggest something interesting for kids to make than to actually teach them. They want shiny things immediately, so you have to make sure that each step looks somewhat closer to the target. CGI and game development is a classic attraction that still seems to work. Don't worry about dumbing everything down too much; kids easily develop superficial understanding of what you're talking about, it comes handy later in the form of easier understanding of the details.

And keep in mind that at 9-10 (YMMV) there's a severe shift from goal-less play towards attempts to make something practical. Which can leave the kid disappointed and disinterested if something goes wrong or the goal is too ambitious.


My kids aren't old enough yet, but I started my nephew out with a raspberry pi Kano kit (wouldn't recommend Kano anymore as they went all in on crypto instead of education). But it had a couple things that he somewhat understood. Some nice Scratch tutorials to build games that he found fun. There's also bashcrawl which turns basic unix commands into an adventure game. At 9 his reading comprehension wasn't quite there to grasp it without a lot of help from me.

I think I'll focus on talking through decision making logic with my kids until they can read decently and then we can try some Scratch and other simple programming concepts.


I have tried a number of coding games with my daughter since she was 7: lego mindstorm. swift playground. minecraft. godot. She probably got the furthest with swift playground, but the end of day if her friends are not into it it's very hard to make it stick.

Now she's 11 I found more success doing challenging math problems with her. There's a book series called "art of problem solving" which focuses on competitive level math. I can see her eyes light up after solving a hard problem and she enjoys sharing them with her friends.


A mix of Scratch on the laptop and Game Builder Garage on the Switch.


Code monkey is brilliant. I have a kid starting out on sequencing in code while another one is designing a game in the app (sprites, loops, events..)


Have you considered Lego Mindstorms? I think it was recently discontinued but you can probably still find them.


Not on NixOS :(


I don't use Nix but was curious how hard it would be to package; the dependencies listed on GitHub are... NoddJS. I'm not familiar enough to start rooting through their node dep files, and am under the impression that packaging node applications can be a bit of a pain depending on wether the modules it depends / their deps on are already packaged.


It probably wouldn't be that hard to package.

For example, I committed this to a fork of a C++ package a few days ago just to be able to build it in Nix; it only took me like 20 minutes to figure out. It's literally just 1 step away to go from building it here to putting this in nixpkgs but I don't want to be responsible for it (I've also never taken that step yet) and it also doesn't (yet) use Flakes: https://github.com/10gic/vanitygen-plusplus/blob/master/defa... Note that I am not a C++ developer, I just know the basics.

In theory, though, you'd just have to find a similar Node example out there and crib off its nix config/build file. And if you converted it to a flake, you'd have a guaranteed-reproducible build (but then you'd also be responsible for updating it). Perhaps that's why nixpkgs has one of the highest package counts in the Linux space of package managers. It's pretty nice.




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

Search: