Live data from Hacker News

Kid Pix as a JavaScript App

kidpix.app

71–80 of 94 posts

Re: Kid Pix as a JavaScript App

#72
post #7

Earlier quoted context omitted.

gotta hit the eraser and use the dynamite! But I guess if you hadn't used kid pix you might not know that.

The nostalgia of the explosion is too much for me this morning. I remember everyone in the computer lab always never actually drawing stuff and mostly just clicking the dynamite to get as many explosions on the screen as possible.

Was there any other use for Kid Pix? I thought that was all there was to do back when I was in elementary school.

Re: Kid Pix as a JavaScript App

#73

Is it weird that I feel like I've never heard of this app? I mean, I was around late 80s/90s but I dunno....what platform/years are the core of this? Here's some other retrospective from recent: The creative legacy of Kid Pix https://news.ycombinator.com/item?id=27563615

This was in the early/mid 90s or so I'd hazard to guess. I've only seen it on PCs.

It was often the most fun application in an elementary school's computer lab. As far as I know it was never officially bundled or anything, but just a popular program. I also had it on my computers at home because both my parents were in graphic design and used Corel Draw for work, and my dad was a bit of a computer geek.

Re: Kid Pix as a JavaScript App

#76
post #5

BTW I love this code: https://kidpix.app/js/app.js repo here: https://github.com/vikrum/kidpix

What do these 2 lines do? canvas.width = canvas.width; canvas.height = canvas.height; Workaround for some weird DOM issue?

Setting `canvas.width` clears the canvas and resets all canvas state (stroke styles, transformations, etc...)

As far as I know, setting `canvas.height` is unnecessary.

Also as far as I know, using `ctx.clearRect` is faster, though it's possible the author wants to reset that other canvas state as well (which `clearRect` won't do), or it's possible there's some older browser incompatibility I don't know about that the author wants to avoid.

Edit: it looks like the author is also calling `clearRect`? Maybe there's some browser behavior I don't know about, but as far as I think this code is unnecessary. You don't need to do both things.

Re: Kid Pix as a JavaScript App

#77

Earlier quoted context omitted.

Mathematically is the sum of six Math.random() any different than (Math.random() * 6)?

Yep, the sum of six Math.random() will start to look a bit like a normal distribution, while Math.random()*6 will stay flat. Even crazier: the sum of six (Math.random()>.5)?0:1 will also look a bit like a normal distribution, rather than just 0 50% of the time and 6 50% of the time. Central Limit Theorem eats distributions of all shapes and sizes and shits gaussians. That's why you see normal distributions everywhere…

Ohh okay. I see it now.

This is like how two D6 dice roll differently than a D12?

Re: Kid Pix as a JavaScript App

#79

Anyone think they can explain this in the source code? function ziggurat() { return ((Math.random() + Math.random() + Math.random() + Math.random() + Math.random() + Math.random()) - 3) / 3; } https://github.com/vikrum/kidpix/blob/9385acf5b3f57cdc8c5b3f...

https://en.m.wikipedia.org/wiki/Ziggurat_algorithm

Re: Kid Pix as a JavaScript App

#80
I was doing research for something else and found this great anecdote about Kid Pix that I've saved.

"Other product teams do not have the time or resources to work with children as often. In the case of Kid Pix, when it was first released back in 1989, Borderbund sponsored their first Kid's Day. It was a weekend testing day for 20 children to try out Kid Pix. Developers offered their testers cookies for a break and a crafts table with paper, glue, glitter, etc.--just in case the testers got bored. According to Broderbund employees, few cookies were eaten and almost none of the crafts were used. It was determined that Kid Pix would be a hit (Druin and Solomon 1996)."

Post reply on HN