tag:blogger.com,1999:blog-91543017099629152662024-02-28T22:48:21.328-08:00Girls Can't CodeJuha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.comBlogger106125tag:blogger.com,1999:blog-9154301709962915266.post-37530311650479384832022-02-20T05:14:00.000-08:002022-02-20T05:14:12.638-08:00Getting started with HTML+CSS at age 12<p>Our first Web Development session started when she had written her very first HTML page on her own using TextEdit and viewing the page in Safari. We agreed to have a little 15 minute session to have a look what she had made. I was really impressed by her enthusiam and motivation and we had a really good time for the next 1 hour or so.</p><p>We started by discussing the structure of HTML documents:</p><ul style="text-align: left;"><li><head> part for meta stuff like <title> element that determines the title of the browser tab</li><li><body> part for all the rest</li></ul><p>No-one should be forced to use TextEdit, Notepad or the like for editing HTML code so before we started working on the code we installed VisualStudio Code, which is a free editor that a large part of professional developers use nowadays. It's a no-brainer, use it. Then we enabled "Format on save" from settings so that the HTML page will always be nicely indented so you can concentrate on the content.</p><p>Then we experimented with basic HTML tags like <h1>, <h2>, <ul>, <li> to get started. But quicly she wanted to have, you know, colors, fonts and other cool stuff so we discussed basic styling. I introduced two ways:</p><ul style="text-align: left;"><li>Use a <style> element (it's important to understand the concept of elements and that they can be nested tree-like) and include CSS style<i> </i>declarations within. In this option you'll use a <i>selector</i> like <i>body</i> to select where to apply style and then one or more style declarations within braces { }.</li><li>Use a <i>style attibute</i> directly in an element. This is not preferable because you'll end up with a cluttered document instead of a nice separation of style and content.<br /></li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj6SXtU9V2RNPqdBbqs2yPsKaRdI2lAR7Kg2cDFzFtRJDDMhwhLwafdQD-H6mkUoTkO7xjr-Npa26bRT2ZOgh2p3EhSMiRG4CKOCMA7RWlJJVj71bOWVwyjHxJ44-z2lFSrFbswHUEgKw26fxew4OV1ol6N6V2DmHBDU9hN-mVS-abauyZ0joEq88c0rw=s1024" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEj6SXtU9V2RNPqdBbqs2yPsKaRdI2lAR7Kg2cDFzFtRJDDMhwhLwafdQD-H6mkUoTkO7xjr-Npa26bRT2ZOgh2p3EhSMiRG4CKOCMA7RWlJJVj71bOWVwyjHxJ44-z2lFSrFbswHUEgKw26fxew4OV1ol6N6V2DmHBDU9hN-mVS-abauyZ0joEq88c0rw=s320" width="320" /></a></div><br /><p>She started working on a page describing her pets (two chickens and a lizard!). </p><p>We had such a good time that we also got to cover the topic of "how can I get my page on the Internet for reals". And for that you'll need to</p><ul style="text-align: left;"><li>Have your HTML placed on a server</li><li>The server needs to have a <i>public IP</i>. This is where we took a lengthy detour into networking. In home networks there's a router that has one public IP, while the local computers and devices only have a local IP and the router is doing NAT (network address translation) to allow the devices to connect to the Internet. But the problem here is that your laptop computer doesn't have a public IP and thus isn't reachable from Internet.</li><li>You should also have a <i>domain name, </i>such as blogspot.com, which then resolves into an IP address when your computer asks for the IP address from a DNS server.</li></ul><p>Then we discussed the URL, which is on your browser's Address Bar. An "Internet URL" will look consist of</p><ul style="text-align: left;"><li>Protocol, such as https:// (tells the browser how to talk with the server)<br /></li><li>Hostname, such as blogspot.com (resolved into IP address on DNS)<br /></li><li>A path such as /images/cat.jpg or just / for the "home page" (tells the server which file should be served)</li></ul><p>A local File URL on the other hand will look something like <i>file:///Users/mila/Desktop/milannettisivu.html</i>. I asked her where will the browser look for the page given that File URL. She got it right then: from your own computer.</p><p>But the best part of the session was when she told me that I'm a really good teacher. Made me so proud!<br /></p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><br /><br /></div><br /><br /><p></p>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-27585385972043803292022-02-16T14:09:00.002-08:002022-02-16T14:09:37.522-08:00file:///Users/mila/Desktop/milannettisivu.html<p>We had a little "career discussion" with my daughter last Sunday. She already knows I'm working at a <a href="https://www.reaktor.com/">pretty cool workplace</a> where we have, for instance, free candy and infinite amount of ice cream. So when she was pondering what could be skills that could land her nice summer jobs at an early age, I innocently suggested Web Development and starting with HTML. This escalated quickly into the following WhatsApps conversation.</p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi7QreQQKFbqGQy0v92rCaZ1lnYirZ01MJBXJNhbtAgDnD0msUvKdi1NXYbu5Iut3OlOrZjnXdd-Guyg_wbCRCsnPiyyAeCcw8QxwBxrwzMvX24rADM_8dBYsNQnBTNP8xLG_GiOIKMn8XC3U8G8L3ld0OJTAtYDmQlI7EEL-JeapF1p794ebJ2dj-5OA=s1125" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="868" data-original-width="1125" height="247" src="https://blogger.googleusercontent.com/img/a/AVvXsEi7QreQQKFbqGQy0v92rCaZ1lnYirZ01MJBXJNhbtAgDnD0msUvKdi1NXYbu5Iut3OlOrZjnXdd-Guyg_wbCRCsnPiyyAeCcw8QxwBxrwzMvX24rADM_8dBYsNQnBTNP8xLG_GiOIKMn8XC3U8G8L3ld0OJTAtYDmQlI7EEL-JeapF1p794ebJ2dj-5OA=s320" width="320" /></a></div><br /><p>So someone had actually watched a YouTube tutorial on writing an HTML page and got started. I was really proud! The URL of course had me smiling. Can you spot why its funny?<br /></p>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-7848865053060211072017-11-13T09:13:00.000-08:002017-11-13T12:44:18.569-08:00Threading: Consider it Done<span style="font-family: "arial" , "helvetica" , sans-serif;">Today we learned some threading. Threading is an advanced programming concept where the computer runs your code in multiple <i>threads</i> meaning that it actually does multiple things at the same time. It is known to cause headache to even the most advanced developers.</span><br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">In our case, we learned all there's to know about threading the Husqvarna Viking Emerald 122 by watching a YouTube video.</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">This is how it looks when it's properly done.</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1sRnGyzgiwdOmBxBBHwO6jf1FknXnpxBZBFDSWKtmn5HPlCrHIaciKccjri1GJ2-A09GNwc9NXdN-DE6jNV20H5KiPZ1djVVFaO1Qx2bhV7POT9iGWgZwG3tdEUoMDTrQjoiz8nqXWqN0/s1600/2017-11-13+19.04.20.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1sRnGyzgiwdOmBxBBHwO6jf1FknXnpxBZBFDSWKtmn5HPlCrHIaciKccjri1GJ2-A09GNwc9NXdN-DE6jNV20H5KiPZ1djVVFaO1Qx2bhV7POT9iGWgZwG3tdEUoMDTrQjoiz8nqXWqN0/s320/2017-11-13+19.04.20.jpg" width="320" /></a></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I have to admit though that I would still be perfectly helpless if I had to do all by myself and would have to resort to the same YouTube video again. Luckily my daughter is up to the task now and is working on a miniature backpack for her teddy bear.</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">We also discussed our Unity learning project briefly and concluded that the "intermediate" roguelike tutorial is too hardcore for us and we'll have to find something a bit easier to work on. I have a feeling that it'll take a while before we'll talk about threading of the computing variety.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">EDIT: You're probably dying for a great Threading Tutorial, so <a href="https://www.youtube.com/watch?v=i6KfHudz178">here's one</a>!</span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-44402638989022374422017-10-21T12:07:00.002-07:002017-10-21T12:07:32.781-07:00Unity: The Wrong Tutorial?!<span style="font-family: Arial, Helvetica, sans-serif;">Lately we've been going though the </span><a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial" style="font-family: Arial, Helvetica, sans-serif;">Unity 2D Roguelike Tutorial</a><span style="font-family: Arial, Helvetica, sans-serif;"> with my now 8-year old daughter who <a href="http://girlscantcode.blogspot.fi/2013/09/lesson-16-mom-learns-vim.html">taught her mom to use Vim</a> at the age of 4.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Well, it seems we picked the wrong tutorial... Not saying we're not learning though. It's just that the code that gets casually written there's like <i>protected virtual voids</i>:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO8osmbWjxigITbbOp-DxioeQeZmn5xkcganzYVn3hOlzCp4sKDvJkLOa6Ta48JDJoARQXcNtHbGyUSJ7VZNEi9aEfieOc88IEMOl5loAb4jaFYxLUCvGfZPmC_W5Dt8WajXrJ2QMiiC8_/s1600/protected+virtual+void.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO8osmbWjxigITbbOp-DxioeQeZmn5xkcganzYVn3hOlzCp4sKDvJkLOa6Ta48JDJoARQXcNtHbGyUSJ7VZNEi9aEfieOc88IEMOl5loAb4jaFYxLUCvGfZPmC_W5Dt8WajXrJ2QMiiC8_/s1600/protected+virtual+void.png" /></a></span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">... freaking hardcode object-oriented stuff! The kid is a brave one but come on, we're writing abstract behavior component classes that have virtual parameterized methods. Also, in some parts of the tutorial (like <a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial/moving-object-script?playlist=17150">this one</a>) nothing new gets added to the game, in the sense that you could actually see some results on the screen.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">There are easy and fun parts too, like working with the <a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial/player-animator-controller?playlist=17150">Animator Controllers</a>, and in these parts she gets engaged but in the hardcore coding parts we've now agreed that I do most of the work. And it's totally ok! For me, this is nice and easy, and I get to understand how Unity works. I just hope that she'll bear with me for the whole tutorial without getting totally frustrated with the <i>protected virtual voids</i>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">I was just about to rant that there are no easy 2D Unity Tutorials but ahem there seems to be at least this one: <a href="https://unity3d.com/learn/tutorials/s/2d-game-creation">2D Game Creation</a>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Now, should we abandon our work and switch to the easier tutorial?! Maybe I'll quickly skim through both myself and make the decision. Let see...</span><br />
<br />
<br />Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-4064028822587360272017-10-17T04:33:00.003-07:002017-10-17T04:33:28.383-07:00Coding in the Mediterranean<span style="font-family: Arial, Helvetica, sans-serif;">The weather in Finland at this time of year is not so nice. I wish we could transport Finland to the Mediterranean for the months of September to November. Until then, I'll have to tranport just my family there every now and then...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheYSxyzyqTgMgr4Xc_wxowuUqA8-5zfjEeaL4JAFFHJQQ9895hDFUdmeG4Uqpg4kUkCbLLkO3y5HN3k4S64PIXRVenuSSfg47nNm7cjPuzGg7LL1LQLqEaB32lxgRCIIXZAbNg5HUu9AD3/s1600/coding_mediterranean.jpg" imageanchor="1"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOhmNSv5DzLAvzZjBVh7Y0BPqKGqs7D8qZ93jvgbWEmarJLPyPykzMeW45R0Bpkj5rjERtvYUKQDYzsZePpCsKfWRANCle8AglSRgfJWCEZbtRwR5CIpB0VYtcFuip58YLqJ9dsxih771R/s1600/mediterranean2.jpg" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOhmNSv5DzLAvzZjBVh7Y0BPqKGqs7D8qZ93jvgbWEmarJLPyPykzMeW45R0Bpkj5rjERtvYUKQDYzsZePpCsKfWRANCle8AglSRgfJWCEZbtRwR5CIpB0VYtcFuip58YLqJ9dsxih771R/s400/mediterranean2.jpg" width="400" /></a><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">This is how we learn coding in the optimum learning environment, using my pretty new book <a href="https://verkkokauppa.oppijailo.fi/pyyhittava-koodauspuuhat-puuhakirja-6-8-v/571377/dp">Koodauspuuhat</a> which comes with an erasable marker! Only in Finnish though, at the moment.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-26779137558968994242017-09-24T09:57:00.002-07:002017-09-24T09:58:22.532-07:00Unity 4: BoardManager, Childhood, Mushrooms<span style="font-family: "arial" , "helvetica" , sans-serif;">Today we started on the <a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial/writing-board-manager?playlist=17150">Writing the Board Manager</a> part of the Unity 2D tutorial. This is the first part of the video tutorial that involves actual coding. And some code there is! Defining inner classes, methods, tons of variables, nested for loops etc.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I no longer wonder why this tutorial is not Beginner but Intermediate level :) We wrote quite a bunch of code of which I understood 100% and she maybe 20% or so. But no worries, we'll keep on coding and make something fun. Understanding how it actually works comes second, hopefully.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbs31UmmklEkX3FJ2Rf1YyQnQ0m-25bW0XqyrRj6Zp4BnYiEylK7BYJl9yTzJf-X121Sct0ZsomyjUZE7_Z5Krt784iki3JjYXPU5ALFSJlTf5nOKGUQxmJ-i9K0Bz3IQxMRNxy0Ksswoe/s1600/BoardManager.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbs31UmmklEkX3FJ2Rf1YyQnQ0m-25bW0XqyrRj6Zp4BnYiEylK7BYJl9yTzJf-X121Sct0ZsomyjUZE7_Z5Krt784iki3JjYXPU5ALFSJlTf5nOKGUQxmJ-i9K0Bz3IQxMRNxy0Ksswoe/s320/BoardManager.jpg" width="320" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">This reminds me of my own learning days when I was about her age and learnt coding from the Commodore Vic 20 Manual. Like this:</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4_eEuvUtT2KWPqvTrOVlR8tFeSRyZNnZ6ybgRuJpZd5ZjWN6xTqJa7OJd6uFodrIdThB8VeBQ0Cf2TF3Rx-HLwM5IgB9ZjMjld19HZtqWk3pRGMdm2C5MBg0f9i4-rq0uoXtH1Fns1VAX/s1600/vic20-ohje.png" imageanchor="1"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4_eEuvUtT2KWPqvTrOVlR8tFeSRyZNnZ6ybgRuJpZd5ZjWN6xTqJa7OJd6uFodrIdThB8VeBQ0Cf2TF3Rx-HLwM5IgB9ZjMjld19HZtqWk3pRGMdm2C5MBg0f9i4-rq0uoXtH1Fns1VAX/s320/vic20-ohje.png" width="320" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">There were tons of simple and progressively less simple computer programs that I just typed like they were written on the book. I had no idea what the program code meant but I just typed it anyway. And it was so exciting to finally type</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;"> run</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">.. and see what happened! Then I started slightly modifiying the ready made programs and finally started to understand the code by the effect that my little changes had on the outcome.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So, I hope she can also learn that way. And I'm actually 100% sure it's all about motivation and repetion. If she has the motivaion, she'll learn.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oh, and we found this mushroom on our backyard:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSE-9vqGCEfuoMlH08eIh9zi-XoWfZUaFhNc0EmbKkFsEcUeGFqINpDTD0M0rykz8QhnFSIuE9EOvnzRVjNfZW4XVR3nuzX-1CMJ7fme0h3-6Wj-WTsZcEY7j2Y-oZITYgS1zTnQ5z8QHy/s1600/magic+mushroom.jpg" imageanchor="1"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSE-9vqGCEfuoMlH08eIh9zi-XoWfZUaFhNc0EmbKkFsEcUeGFqINpDTD0M0rykz8QhnFSIuE9EOvnzRVjNfZW4XVR3nuzX-1CMJ7fme0h3-6Wj-WTsZcEY7j2Y-oZITYgS1zTnQ5z8QHy/s320/magic+mushroom.jpg" width="320" /></a></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Should we eat it, yes? While driving to her football match she asked me what these mushrooms actually do to people. I told her that it does something to your brain and you'll see funny things. And if you eat too much you'll die. Immediately regretted mentioning the hallucinations. Had to make extra sure that experimentation is out of the question in case more information of the effects is needed.</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-81510103545134623362017-09-19T12:02:00.003-07:002017-09-19T12:02:52.268-07:00Unity Sessions 2 & 3 - Prefabs<span style="font-family: "arial" , "helvetica" , sans-serif;">Our second session was successful, yet super short. We finished the animations tutorial video and managed to create something called an Animation Override Controller. It's used when you create multiple enemies which share the same state machine but have different animation frames. Cool, huh? At that point the urge to start creating cupcakes instead was unstoppable and cupcake time it was.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4bvzQLxQcuLfTORgrKYcEftVQSTzFyykjIMlDt_DKMXPSto3i4pBNca8w-yDuZXRJeqLcOEp3Q0dBQQ9Yb2ZWuffdlLoCX0BO4zL_3x1UAgI33urtzPFFGAzhXMXTTXlPAAGBliECXYQI/s1600/cupcakes.jpg" imageanchor="1"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4bvzQLxQcuLfTORgrKYcEftVQSTzFyykjIMlDt_DKMXPSto3i4pBNca8w-yDuZXRJeqLcOEp3Q0dBQQ9Yb2ZWuffdlLoCX0BO4zL_3x1UAgI33urtzPFFGAzhXMXTTXlPAAGBliECXYQI/s400/cupcakes.jpg" width="400" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Today she wanted to continue the tutorials so we sped through the next tutorial video on making prefabs for game tiles like floor, walls and food. These "prefabs" are saved object that define how a tile (a static piece in the game) look and how it interacts with its environment. Like, can you walk on it or not.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The stuff we've done so far has contained lots of repetitive works (like making 8 different floor tiles in the exact same way) which is kinda tiresome for people like me, but has proven rewarding for my 8-year old who has learnt to take these steps like a pro, just by repeating them over and over again. She can now make a lot of prefabs in the blink of an eye!</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">At this point I guess we have now set up all the assets so that we can start programming. Can't wait! On the other hand I'm a bit concerned how she'll handle C#, which is the first object-oriented programming language she's ever touched. There's bound to be a lot of weird boilerplate around, but I hope it won't matter too much. It's all about motivation.</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-18959101029048431652017-09-15T23:09:00.002-07:002017-09-15T23:09:10.040-07:00Unity Session I - Animation<span style="font-family: Arial, Helvetica, sans-serif;">I realised that we've started quite a few game projects before, which have all been abandoned at a very early stage. But this time we're gonna make it. I just know it :)</span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Ok, so we've started working on a <a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial">Unity 2D Tutorial</a> where we follow video instructions and try to do the same thing as the guy on the video. The idea is to create a simple 2-dimensional game with the <a href="https://unity3d.com/">Unity</a> game engine. I hope that after we're done with the tutorial videos, we'll be well equipped to start writing games of our own. So far, I have very limited Unity experience and I need the video tutorial as much as my daughter, so this'll be a great learning experience for both of us. My advantage over her is that I'm a professional coder at <a href="https://www.reaktor.com/">Reaktor</a> (yes, we're hiring in </span><span style="font-family: Arial, Helvetica, sans-serif;">Amsterdam, Dubai, </span><span style="font-family: Arial, Helvetica, sans-serif;">Helsinki, New York, Tokyo and Turku!). Her advantage is that she's young, smart and has an almost unlimited supply of free time to throw at the project.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">We had our first session the day before yesterday and we had a good time. We managed to create some basic animations for the player character and a couple of enemies.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwixOYJRCWxc-HhBYJ6-p1xXyDkCcrlCxfLRiP8BgDQ4bRYpXTBkibl_eq0NLFHpZ24j9LXIGUhLiImkMMQuxPKk8vAjqOUDMZeSmfumjzry0CxyjVWnTuexBc5issFzhS7lLz5h1rXhpi/s1600/2017-09-14+19.57.02+copy.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwixOYJRCWxc-HhBYJ6-p1xXyDkCcrlCxfLRiP8BgDQ4bRYpXTBkibl_eq0NLFHpZ24j9LXIGUhLiImkMMQuxPKk8vAjqOUDMZeSmfumjzry0CxyjVWnTuexBc5issFzhS7lLz5h1rXhpi/s320/2017-09-14+19.57.02+copy.jpg" width="320" /></a></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZQmRzi2l4p0i7PwgldxnsvxlGDeBHDcvlv-8gVg3sOlmJGugJuODNatGfZpnwrr3cucEAlqG7m74eVZNtk3ri1iqmaudMq7I_Q40HFIIJuXub0qA3o1q0nwTXcl9fzL-T6TBE1ZvIOhm/s1600/Ukkeli.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZQmRzi2l4p0i7PwgldxnsvxlGDeBHDcvlv-8gVg3sOlmJGugJuODNatGfZpnwrr3cucEAlqG7m74eVZNtk3ri1iqmaudMq7I_Q40HFIIJuXub0qA3o1q0nwTXcl9fzL-T6TBE1ZvIOhm/s400/Ukkeli.png" /></a></span></div>
<div>
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">After creating a couple of animations from the sprite sheet (basically a set of images) included in the tutorial, she was able to complete the rest by herself. After the one-hour session, she seemed quite enthusiastic about going on but it was bed time. I'm pretty sure we'll continue this soon. Stay tuned :)</span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-5126070177722625512017-09-13T10:50:00.003-07:002017-09-13T10:50:49.766-07:00Unity<span style="font-family: Arial, Helvetica, sans-serif;">A couple of days ago my daughter announced that she wants to create games that run on her phone. REAL games. I tried to steer her back towards Scratch and the like but she was adamant that those won't do, as she's about to start making real games. </span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">DAD: It's going to be really really hard and you'll be banging your head against walls for hours trying to make something work"</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">GIRL: That's exactly what I want!</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">She described a pretty complex game to me, containing several minigames and a main story. Then she showed me some graphics that she's drawn on paper. Fortunately I got her to understand that she needs to start with something smaller first, before creating her masterpiece.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">When she went to sleep, I started digging, knowing fully well that I'm not a game programmer and need to do some catching-up before I can help her in her endeavours. I downloaded Unity and made a good start of a Pong-like ball game. It was surprisingly fun and easy, so I guess we're gonna go on with Unity.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Today we did the first few clicks of the <a href="https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial">2D Roguelike tutorial</a> before it was bedtime. Fun times ahead!</span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com1tag:blogger.com,1999:blog-9154301709962915266.post-54677108427717952022017-03-13T00:55:00.004-07:002017-03-13T00:55:56.749-07:00Script Academy<span style="font-family: Arial, Helvetica, sans-serif;">In a comment to <a href="https://www.reaktor.com/blog/code-school-for-children-and-heads-of-state/#comment-3196812452">a post on Reaktor Blog</a>, a guy called Evgeni pointed me to a site called <a href="https://www.scriptacademy.net/">Script Academy</a>. It's a site for kids to learn coding. And it looks promising! It has a treasure map too!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<img height="290" src="https://www.scriptacademy.net/static/img/treasure_map_small.jpg" width="320" /><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">And it promises "After completing this course, your child will be able to create simple games and share them online." </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Well, we tried it with my 8-year old veteran coder girl who's used Vim at the age of 4 but since then gravitated towards other interests like 3D printing and playing the violin. Anyways, Script Academy starts in an easy way: Just click on buttons to generate Javascript that guides the (cute!) Owl to her baby. You can see the generated Javascript code and then run it. This was easy. Except the "run" button was a bit hard to find at first. For me. For the kid, it was peanuts.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Then came the part where you have to actually write the Javascript yourself. That didn't appear to be very hard, because example code was given. But here lied a surprising catch! Here's the result.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnZpnFUPFgX13DdQFREWyFayL7xAOl1h4hh2jxRjBPhsCOPEWLaaBSWUq7frqGazOypNl_sQTpjiEy1eVOgVRtw2MEv5VJezNuDScV1yvuEb8ieeQ06s71DZIrVcYuDBwTsj0SrUlabet6/s1600/pseudocode.jpeg" imageanchor="1"><img border="0" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnZpnFUPFgX13DdQFREWyFayL7xAOl1h4hh2jxRjBPhsCOPEWLaaBSWUq7frqGazOypNl_sQTpjiEy1eVOgVRtw2MEv5VJezNuDScV1yvuEb8ieeQ06s71DZIrVcYuDBwTsj0SrUlabet6/s320/pseudocode.jpeg" width="320" /></a></span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">I guess there was a bit too much freedom this time. Give a kid a text area and she'll fill it with - well - anything on her mind at the time. I love her too!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Let's see if we return to Script Academy later!</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-29503009213728351702017-02-26T08:40:00.002-08:002017-02-26T08:40:37.522-08:00Black Hawk Down!<span style="font-family: Arial, Helvetica, sans-serif;">Btw, did you know I'm a helicopter pilot?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">I have this 30€ helicopter from Clas Ohlson and I can totally land it on a dime. I mean, a two-euro coin. On a good day. But usually at least on the living room floor given enough room for maneuvering. My daughters, of course, share my passion for aviation.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8u1qaODWgOxat9brd7uoGYTG6NJrVkrMAdtqWakJT1wf2xNUDmzcnnN3uPDy5QXhnWAWC4xt35V0G73QOoayvnFoWGysImDZjHn60OvycvwpwLyVveLgdUjJs1KQjV9C9ptDKvm_P5I4W/s1600/chopper.jpeg" imageanchor="1"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8u1qaODWgOxat9brd7uoGYTG6NJrVkrMAdtqWakJT1wf2xNUDmzcnnN3uPDy5QXhnWAWC4xt35V0G73QOoayvnFoWGysImDZjHn60OvycvwpwLyVveLgdUjJs1KQjV9C9ptDKvm_P5I4W/s320/chopper.jpeg" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">I also have a spare chopper that has one of its main engines busted (not at all caused by a crash landing on my part). Or at least, had until today when my daughter wanted to build her own <i>boat</i> with a <i>motor. </i></span><span style="font-family: Arial, Helvetica, sans-serif;">So we had a long discussion about boat design, like, how should the weight be distributed (down), where the water line goes when it floats (dunna), where should the motor and the propeller be placed (down), how to make sure the axle hole won't leak water (grease?) and so on. Then she draw her boat with</span><span style="font-family: Arial, Helvetica, sans-serif;"> Tinkercad, with the intention to print it with our 3D printer. Here's how the design looks as of now. The design contains fittings for a little motor I had earlierly salvaged, that's something like 30*20*15 millimeters big.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<div style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnYbvzmoBFwVjCsSb4s-64Uk2A1VpGSHwBfhi9acSqq66BXa_174_Zw7d6CXMtNqcFghXgN5QuctvW37HxQOaNBLfzu17-gP1X3wOeX1Cb06ZWgKM96NrCoIJmbCxTuupwVZ222uMDSDCf/s1600/boat+design.png" imageanchor="1"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnYbvzmoBFwVjCsSb4s-64Uk2A1VpGSHwBfhi9acSqq66BXa_174_Zw7d6CXMtNqcFghXgN5QuctvW37HxQOaNBLfzu17-gP1X3wOeX1Cb06ZWgKM96NrCoIJmbCxTuupwVZ222uMDSDCf/s400/boat+design.png" width="400" /></a></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">You might notice that the motor compartment looks big for the tiny boat and the propeller placement isn't perfect: it'll be hard to get the whole propeller underwater. We are not boat engineers are we?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Then I remembered the spare chopper. It still had two (working) ultra-tiny motors, a control board and a Lithium Polymer battery onboard so it might be the perfect technical platform for the new little boat. So, we stripped all the unnecessary parts from the chopper and here's what we have now.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgff-n2-VVqTSRSFDsibOD29wCcp2NyJBpNhgD_vxprDnYw2qEkqaRjGq37IX5R4tD2xzqZVKcHvDzEwlBDQmlUB9upNEwCA8m7C7NBDU2ImWgCNvYLE3klMdRh6cHsGpv31Rqx-L-eRwP8/s1600/chopped-chopper.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgff-n2-VVqTSRSFDsibOD29wCcp2NyJBpNhgD_vxprDnYw2qEkqaRjGq37IX5R4tD2xzqZVKcHvDzEwlBDQmlUB9upNEwCA8m7C7NBDU2ImWgCNvYLE3klMdRh6cHsGpv31Rqx-L-eRwP8/s320/chopped-chopper.jpeg" width="320" /></a></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">A nice radio-controlled motor-controller-battery package salvaged from a broken chopper! Let's see what comes out when we print the hull and combine it with the motor package. Do you think it'll float or sink?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-74322412945075080562016-12-03T12:02:00.002-08:002016-12-03T13:10:07.488-08:00Going 3D with Tinkercad<span style="font-family: "arial" , "helvetica" , sans-serif;">I ordered a 3D printer for some of my own hobby projects and re-branded the purchase as a x-mas present for the whole family. Then I decided I need to learn some 3D design. I started yesterday with Fusion360 recommended by a colleague. I managed to create a shining box with rounded corners and could not remove the rounded corners. Gave me the same inadequate and stupid feeling I got with Photoshop before my friend taught me how to use it. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So I "downgraded" myself to Tinkercad. And got it instantly. What a wonderful piece of software, running in my browser! This is what I created in a minute, as a proof of concept.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYFYZprDvaYfOx6AI0ANaw12wNDnG8nxxe1zKuCyNFj7ixmZitwcVS-GvaFO7vc3MWPs4cgGWfsD4lyLDtixdYzYqgL6OnsUlEnL_7DhkZ5dXluf4hjaRemUG4CzuSluA7nDOz9YM57-B/s1600/simple-box.png" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYFYZprDvaYfOx6AI0ANaw12wNDnG8nxxe1zKuCyNFj7ixmZitwcVS-GvaFO7vc3MWPs4cgGWfsD4lyLDtixdYzYqgL6OnsUlEnL_7DhkZ5dXluf4hjaRemUG4CzuSluA7nDOz9YM57-B/s320/simple-box.png" width="320" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Today I told the kids about the upcoming 3D printer and they went mad. They already knew about such things and had seen one in the library. They wanted to print 3D Pokemons, of course, but I told them that the point is to create your own things, now just print stuff from the 'net. So today I showed Tinkercad to my 7-year-old and she was like "ok, looks a bit like Minecraft, what should I do in this world?". Well I told her that you can mess around just like in Minecraft. Plus the little bonus of being able to 3D print the result. BOOM! She went crazy.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Tinkercad was easy for me to learn and unsurprisingly it was easy for her too. So she crafted this little world in 15 minutes or so: </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyPNrpw-HI4HZYtASvxN67QEJJxQ1PUALjnt5I4MZ9O_XOKhUrd9-cRB0YA5b8PuK29O18OQyOit29xwyBfa2pkesMDm3_DKU80PupTosG8sVY5_skyVZ9VDQZgGXNsfZ0e6wZbNSvLGsZ/s1600/rakettimaailma.png" imageanchor="1"><img border="0" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyPNrpw-HI4HZYtASvxN67QEJJxQ1PUALjnt5I4MZ9O_XOKhUrd9-cRB0YA5b8PuK29O18OQyOit29xwyBfa2pkesMDm3_DKU80PupTosG8sVY5_skyVZ9VDQZgGXNsfZ0e6wZbNSvLGsZ/s400/rakettimaailma.png" width="400" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">After a bit she taught Tinkercad skills to her 5-year-old little sis too.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKRk-XvyaFjS_My0ukMQIigmZKdk1VkqUmXcivLhnrWFTvVIK8HwrmAzMncB4uZPJtr0YVhB8Qlec8a15tqAEUlkM35yrt_XWTj90AN9S9NOK-tcoso1Z912Xe0tJs1AwSI3OzU7G-suuv/s1600/pair-design-with-tinkercad.jpg" imageanchor="1"><img border="0" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKRk-XvyaFjS_My0ukMQIigmZKdk1VkqUmXcivLhnrWFTvVIK8HwrmAzMncB4uZPJtr0YVhB8Qlec8a15tqAEUlkM35yrt_XWTj90AN9S9NOK-tcoso1Z912Xe0tJs1AwSI3OzU7G-suuv/s400/pair-design-with-tinkercad.jpg" width="400" /></a></span><br />
<br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">... and here's what the 5-year old came up with:</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCg4v2U5D4lWR_WzfH4KmAMGzuwe5NEsSvpSH7xH8uwrHmR40vrI2IHnf18ljr87_702zZ9n7ThL_24LFLwqtqj52Vl7jJ-MJMVERiGTySd9qkDA_gQxQqc4FXuMnzE0T4Bw21pJ5ugYgv/s1600/2016-12-03+20.44.37.jpg" imageanchor="1"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCg4v2U5D4lWR_WzfH4KmAMGzuwe5NEsSvpSH7xH8uwrHmR40vrI2IHnf18ljr87_702zZ9n7ThL_24LFLwqtqj52Vl7jJ-MJMVERiGTySd9qkDA_gQxQqc4FXuMnzE0T4Bw21pJ5ugYgv/s400/2016-12-03+20.44.37.jpg" width="400" /></a></span></div>
<div>
<br /></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So, we had lots of fun and will have more tomorrow (bedtime came too early again). Cannot wait until the printer is delivered. I strongly recommend trying Tinkercad if you haven't done 3D design before or would want to let your kids try it too. It's online and it's free. A 5-year old can use it. You can too!</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Have fun!</span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com3tag:blogger.com,1999:blog-9154301709962915266.post-17245985443322376682016-11-28T11:55:00.002-08:002016-11-28T11:57:07.955-08:00New Rules for Minecraft <span style="font-family: "arial" , "helvetica" , sans-serif;">In case you haven't noticed, Code.org offers tons of fun tutorials for wannabe coders. The newest thing is the <a href="https://code.org/minecraft">Code.org Minecraft Designer</a>. I decided to give it a try with my two daughters, now 7 and 5 years old. </span><span style="font-family: "arial" , "helvetica" , sans-serif;">Minecraft is especially my older daughter's favorite game; she loves to create her own worlds from the simple 3D minecraft blocks. I thought that coding in the Minecraft world might inspire her. Guess what happened?</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The tutorial starts as do many other Code.org tutorials, by presenting you with a problem domain and a task. In this case, there's this sympathetic Swedish coder <a href="https://twitter.com/jeb_">Jens</a>, presenting us the Code.org Minecraft world and the fact that the <i>World Has Stopped. </i>Your task is to bring the animals back to life by coding. Like this:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AC5jn8KeuDQnPyt841hnZfq31IT-3TszCeBsZ6ES_DfBl_ChclX_C-IWsguh40innod9yR1iLiZJ4veC_DyhyphenhyphenuNYyIsRutRhfsRq5WBEjU49kThgUl1i8oHji2t9hRkmxLK4m2zYmSJU/s1600/minecraft1.png" imageanchor="1"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AC5jn8KeuDQnPyt841hnZfq31IT-3TszCeBsZ6ES_DfBl_ChclX_C-IWsguh40innod9yR1iLiZJ4veC_DyhyphenhyphenuNYyIsRutRhfsRq5WBEjU49kThgUl1i8oHji2t9hRkmxLK4m2zYmSJU/s400/minecraft1.png" width="400" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now this is a simple idea and there was nothing new really: a simple 2D world and the familiar programming blocks that are similar to the ones we've used earlierly in <a href="https://scratch.mit.edu/">Scratch</a> and other <a href="https://code.org/learn">Code.org Tutorials</a>. Yet, when I showed this to my older daughter, it totally captivated her. I had to read here the English instructions, like "The chicken is frozen. Place <i>move</i> and <i>turn</i> blocks in the <i>when spawned</i> slot to get it to work. I checked if there's a Finnish translation but it was very much lacking at the time.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Anyway, she had a very good drive and quickly steamed through the 11 assignments, animating chickens with loops, randomness and sound, learning about <i>events</i> by making sheep drop wool when "used" and so on. The best part was yet to come, though!</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The 12th assignment is in fact a full-blown game editor, where you can make different creatures appear at different times and positions and freely code their behaviour by dragging code into their event slots, like this:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPUNYFFxiRGEDRxBARoAncq1mZ9cGvngE0911B_49uc0pRSmmbz1wHB8GlnJFzvsR5GEhu1VDy2voH1ATPofMqSkHrjGci7Fx9LecvpETAB0e8N_11quIV1lxC1fT5G74hSjJl0nXZMfb/s1600/minecraft-editor.jpg" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPUNYFFxiRGEDRxBARoAncq1mZ9cGvngE0911B_49uc0pRSmmbz1wHB8GlnJFzvsR5GEhu1VDy2voH1ATPofMqSkHrjGci7Fx9LecvpETAB0e8N_11quIV1lxC1fT5G74hSjJl0nXZMfb/s640/minecraft-editor.jpg" width="640" /></a></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Here, for instance, the </span><span style="font-family: "arial" , "helvetica" , sans-serif;">Zombies chase the player and attack when touched. The </span><span style="font-family: "arial" , "helvetica" , sans-serif;">Iron Golems</span><span style="font-family: "arial" , "helvetica" , sans-serif;">, on the other hand, </span><span style="font-family: "arial" , "helvetica" , sans-serif;">chase the zombies. Until morning, that is. That's when it explodes!</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">This freeform editor thing totally really hooked by daughter into designing her game and having the creatures do a lot of funny things. Chickens laying carrots instead of eggs was good fun!</span><br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">She also made a nicer version of here game for her little sister, who was scared of the zombies. In that version, the zombies are nice and actually a bit scared of sheep, which was a lot of fun to watch.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Better yet, you can also save your work and share it as a mobile-friendly web page. Try it yourself! You can go directly to the editor <a href="https://studio.code.org/s/minecraft/stage/1/puzzle/12">here</a>. After running your game, click the Finish button, then share the URL that's presented to you. Then you can get back to editing the game. Each time you click the Finish button, you'll get a new URL.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">In conclusion, this was by far the most enjoyable tutorial from Code.org so far. I've never seen my kids so thrilled about coding!</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oh, and do you want to try (a version of) the game my daugther made? Try <a href="https://studio.code.org/c/293420322">here</a>. Use arrow keys to move and spacebar to attack/use. Wait until nightfall to see the zombies, creepers and iron golems. Have fun!</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com2tag:blogger.com,1999:blog-9154301709962915266.post-72702560151174474222016-09-28T10:08:00.004-07:002017-09-20T08:50:46.067-07:00Kid 2, Teaching the Teachers<span style="font-family: "arial" , "helvetica" , sans-serif;">I started the Girls Can't Code blog about 3 years ago with my 4-year old. Now I have another 4-year old who can't use Vim yet, a kind of a clean slate if you like. Should I teach her Vim or Emacs? Start with the command-line or go for Scratch to begin with?</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I have to admit that she's already exposed to some coding stuff though: we've played the Robogem board together quite a few times. That doesn't make her a coder yet, and she can't read or write much yet but certainly shows interest in learning to do so, so I think this is a good time to start pounding the keyboard.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Today we kinda started that by launching the lovely Bubble Bobble game on our good old Commodore 64.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYnD6CK1soPSBbwMp3pkIosrqX8c2r2Z24GjCw381PeK7XRYC3F9NF6n68Befeu6woKi9yjGLeCwEWlgIaT30P1bWlShIa-miUD3_b7NLMzk82o7DqI4VarK3mhj8ueP3IW_h_1it4_DSp/s1600/2016-09-28+19.41.34.jpg" imageanchor="1"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSLtZF7rlN1sB_5TZnczxGzhBYRQxF9CvLljcIZmCvkg1zLhttv8NIaJJVy8ckwAZ54IJr7xghJbpGrdgviSoavzjLQT0TGLyNVhP4rS0fVyD9y0CZUYbqMwMMJQ8yHA0P9oupu3FftVBj/s1600/2016-09-28+19.44.23.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSLtZF7rlN1sB_5TZnczxGzhBYRQxF9CvLljcIZmCvkg1zLhttv8NIaJJVy8ckwAZ54IJr7xghJbpGrdgviSoavzjLQT0TGLyNVhP4rS0fVyD9y0CZUYbqMwMMJQ8yHA0P9oupu3FftVBj/s320/2016-09-28+19.44.23.jpg" width="320" /></a> <img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYnD6CK1soPSBbwMp3pkIosrqX8c2r2Z24GjCw381PeK7XRYC3F9NF6n68Befeu6woKi9yjGLeCwEWlgIaT30P1bWlShIa-miUD3_b7NLMzk82o7DqI4VarK3mhj8ueP3IW_h_1it4_DSp/s320/2016-09-28+19.41.34.jpg" width="320" /></span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">I've put a sticker with instructions for starting games on the machine, so it was just a matter of writing exactly as the paper said. But it takes some effort to find all the keys on the keyboard and to type the quote characters which require you to hold Shift while pressing the key. She made it the first time though and got the game running. She's playing with her big sister as I'm writing this.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Btw we did a little Turtle Roy refresher with Big Sis couple of days ago. She had forgot most of her mad skillz since we haven't been doing our computer </span><span style="font-family: arial, helvetica, sans-serif;">lessons</span><span style="font-family: arial, helvetica, sans-serif;"> too often lately. We still have our little Egg Alert game project to complete. If I remember correctly, we have some images scanned and uploaded to Scratch. Hope so, as her computer (old Macbook Pro) broke down and she has to use mine for now.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oh and yesterday I went to the <a href="http://www.espoo.fi/kilonpuistonkoulu">Kilonpuisto School</a> to teach programming to the teachers. That was good fun and I got a lot of positive feedback along the lines of "I'm no longer scared of coding now that I got to try it". There's a lot of work to be done now that programming is a part of the national curriculum in Finnish schools, while the teachers are still mostly clueless on how to teach something they know mostly nothing about. But like the teachers discovered yesterday, coding is not rocket science; anyone can learn the basics and have fun doing so. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Which probably applies to rocket science as well. Good luck Mr Elon Musk, I hope you get to Mars one day and come back alive, too!</span><br />
<br />
<br />Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com1tag:blogger.com,1999:blog-9154301709962915266.post-13767867633819510572016-05-08T09:18:00.002-07:002016-05-08T13:21:51.015-07:00Moomins Teach Coding - Wait What?<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
If there’s one Finnish brand that will never expire, it’s got to be the Moomins. I read the same Moomin stories to my kids that my mom read to me. Also, every Finn seems to have a dozen of Moomin cups in their cupboard. You just cannot avoid them. I’m not sure if I’ve ever bought a single one, but I have like 5, which is probably below average. If you don’t buy them yourself, your mom or your friend will buy them for you.
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVhEemL8UIszBHrnFuuVrtfBqcs4cZGhrETbA1Pv7anH_66PRmFJbrjLFFahwb97kesWFjzp59t6-9u7K0G8dOHObSRwUCpkB4XasIppIJRatSgeGCKv-L4zsaOO4k8KVC7APVuUIDc1Cl/s1600/muumikuppeja.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVhEemL8UIszBHrnFuuVrtfBqcs4cZGhrETbA1Pv7anH_66PRmFJbrjLFFahwb97kesWFjzp59t6-9u7K0G8dOHObSRwUCpkB4XasIppIJRatSgeGCKv-L4zsaOO4k8KVC7APVuUIDc1Cl/s320/muumikuppeja.jpg" width="320" /></a></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
So, when the Moomins start to teach coding, that’s not something to be taken lightly. And guess what I heard? Well it happens that my Japanese colleagues at Reaktor are organizing a Moomin Code School in Tokyo next Saturday. I was lucky to have a sneak peek at what they’re gonna give to the kids, so I took the "Moomin IDE” for a test drive with my daughter.
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGmXmZ5CZguB-eLpEnFkRyvSiBp4ujDvXOrLinUwtmvj40srYqOWF8fYYnk7GkAJZ1GRIxkX3HlOKQGcBypMAOAOm-lgjURX-hzpDbzut3mcocs7b4duDfsYjXe-SW2iwOQOv_PWumdyNt/s1600/moomin+code.png" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGmXmZ5CZguB-eLpEnFkRyvSiBp4ujDvXOrLinUwtmvj40srYqOWF8fYYnk7GkAJZ1GRIxkX3HlOKQGcBypMAOAOm-lgjURX-hzpDbzut3mcocs7b4duDfsYjXe-SW2iwOQOv_PWumdyNt/s400/moomin+code.png" width="400" /></a></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
Things look up for the Moomins: the coding environment seems already pretty solid: it’s like Scratch but more focused and easier to use. You can learn the basics of programming, like command sequences, loops, even defining your own functions by dragging colorful blocks around. I would love to use this environment in my code schools too, before stepping into more hardcore stuff, that is.
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
My 7-year old coder girl picked up the Moomin IDE instantly. No wonder, because she’s already used Scratch and the layout is familiar. She easily threw together a program that draws a square and then, with a little help, named it “square” using one of the blocks in the "procedures" palette. This way a new block named "square" appeared in the palette. Using the newly made "square" block, she then made a program that draws a square 360 times, rotating just a little between repetions. The result was an awesome black ball! Too bad there’s no “change color” block yet, so we had to go back to Turtle Roy to make the Japanese flag:
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMiL30elGpEFsR2bVCqBvf7_eS9fjZoxa6_zwbBQt9KOtycnpvxRVWUuEQhxMQdG546UfpxFXzW0Mutf17AafAhiSB6m34QKZJP2tqpO8ip-XKL9v_qS91sP3SYjQz8DsGII5Klq9fZqQw/s1600/japan+flag.jpeg" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMiL30elGpEFsR2bVCqBvf7_eS9fjZoxa6_zwbBQt9KOtycnpvxRVWUuEQhxMQdG546UfpxFXzW0Mutf17AafAhiSB6m34QKZJP2tqpO8ip-XKL9v_qS91sP3SYjQz8DsGII5Klq9fZqQw/s400/japan+flag.jpeg" width="400" /></a>
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
Here’s our Turtle Roy drawing that draws the flag, btw: <a href="http://turtle-roy.herokuapp.com/?turtle=JRfxSaA8mI">http://turtle-roy.herokuapp.com/?turtle=JRfxSaA8mI</a></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
Regarding the Moomin Code School event, I’m damn jealous it’s in Japan! Would love to see what’s up. Is the Moominpappa himself a hardcore hacker nowadays? Which one of the <a href="https://www.moomin.com/en/characters/">Moomin characters</a> do you think will be the best coder? If I was looking for a Senior Moomin Architect, I’d probably hire this guy "Snork". If I was looking for a hacker-type I'd go for Little My.</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.moomin.com/en/characters/snork/"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgogIep9kFZB13KKm6beBrZMbhPcEP0fAcRcahiKAQNGg9Q09jOFbz9sNV_Hb3SJAkljOeYFpL1GLNLNdHyyev3Gzvz_9llWwX99vv4GDNFxkrZwjm2cwU3YFSHlt-dZj4ceR-RkgGRSZgi/s200/snork.png" width="200" /></a><img alt="little-my" class="attachment-medium size-medium wp-post-image" height="200" src="https://d1vxw9s9d8pjrr.cloudfront.net/wp-content/uploads/2015/01/26190152/little-my.svg" width="200" /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><i>Snork and Little My</i></span></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
The set of characters is just so juicy that I cannot wait for the Moomin Code School to land in Finland some day too.
</div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
Here’s a link to the Moomin Code School event page: <a href="http://moomincodingschool.com/">http://moomincodingschool.com/</a>. There are instructions for joining on the page, in Japanese. So if you’re in Japan, I insist you go there and tell me what happened!
</div>
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
<br />
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
</div>
<br />
<div style="font-family: 'Helvetica Neue'; font-size: 14px;">
<br /></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com4tag:blogger.com,1999:blog-9154301709962915266.post-35104696009421013312016-02-22T12:21:00.002-08:002016-02-22T12:21:25.436-08:00The Stuff that Coders Do<span style="font-family: Arial, Helvetica, sans-serif;">Greetings from wintery Finland! And sorry for being lazy on the blog. I'll try to get a grip on this:) We have indeed been coding every now and then, but mostly doing other stuff. Let's talk about the other stuff this time. Next post will be programming related, I promise.<br /><br />So, what do coder girls do when they're not coding?<br /><br />Well, they might play some Bubble Bobble on the Commodore 64. The kids can now connect the computer, disc drive and all the wires and use the "command line" to load games. The old Commodore is one of the favorite activities around here. There's just something magical about the machine and Bubble Bobble. Below, you can see someone hypnotized by the graphics shown while the game is loading.<br /><br /><br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmO7gO9IxXWSR1QqUlm29TAh115_uBsyPu0TG4TyDen87LG1x_CJyu6_6WjlPTHxCChSFzxMtF5kIOyKF9F4EsCJ1jL590roRSjhW86hqIxva3Fo0rk6UNSp5QOV1lra_tesMmh4dXK1an/s1600/bubble+bobblin.jpeg"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmO7gO9IxXWSR1QqUlm29TAh115_uBsyPu0TG4TyDen87LG1x_CJyu6_6WjlPTHxCChSFzxMtF5kIOyKF9F4EsCJ1jL590roRSjhW86hqIxva3Fo0rk6UNSp5QOV1lra_tesMmh4dXK1an/s400/bubble+bobblin.jpeg" /></a><br /><br />But one should not stare too much into plasmas, LCDs and LEDs right? That's bad for the eyes. And the brain needs some fresh air too. So, we ride ponies!<br /><br /><br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiER5v6os9jf-p-ZSWNZrpG7372DkTLCwd1m_L35IrsUhNzS3OH4025r9OAODIApS6BRSp95beWNxDQz64BCrhOjbAFEwrq6pH8NmpPRwCyeVn-pmPabeHtRmmjKJTcbWQGcHG36EFH8V_Z/s1600/moar+poniez.jpeg"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiER5v6os9jf-p-ZSWNZrpG7372DkTLCwd1m_L35IrsUhNzS3OH4025r9OAODIApS6BRSp95beWNxDQz64BCrhOjbAFEwrq6pH8NmpPRwCyeVn-pmPabeHtRmmjKJTcbWQGcHG36EFH8V_Z/s400/moar+poniez.jpeg" /></a></span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Well, that was more like a one-shot activity but will not be soon forgotten. At home, the kids love ponies too. They watch them on YouTube and make their own, too. These things are a bit freaky though, huh?</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5G1vOqPD_w8FMnHQI0mxYqEt8KHlC2pg88I0rh039wcrk0K6SLQIhWnROM-Bbdy661tvCugQn8ZrgVuCd6SbBN9eTN68em_aSmC7lwBT-8J1TlFkaMc54kfnVrmu8Gh_umn6U2WcFwBNI/s1600/teh+poniez.jpeg"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5G1vOqPD_w8FMnHQI0mxYqEt8KHlC2pg88I0rh039wcrk0K6SLQIhWnROM-Bbdy661tvCugQn8ZrgVuCd6SbBN9eTN68em_aSmC7lwBT-8J1TlFkaMc54kfnVrmu8Gh_umn6U2WcFwBNI/s400/teh+poniez.jpeg" /></a></span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />One of our latest dad-daughter activities has been recording music in the home studio. Older sister can now pretty much operate GarageBand on her own and record the lovely voice of the 4-year old. Both the girls have been coming up with songs of their own and I really want to capture those for future listening. You can never get that 4-year-old voice back you know.<br /><br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmO7gO9IxXWSR1QqUlm29TAh115_uBsyPu0TG4TyDen87LG1x_CJyu6_6WjlPTHxCChSFzxMtF5kIOyKF9F4EsCJ1jL590roRSjhW86hqIxva3Fo0rk6UNSp5QOV1lra_tesMmh4dXK1an/s1600/bubble+bobblin.jpeg"></a></span></div>
<div>
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioztL_6Ths-Xq8sBc4gNSZGXWsZcswLU31dWtMF74sHBpReOxRta6wOGmSizF7W02t9nzDoPxYUlSSP1ElLe48oghkUJZ0j7hW50jVXMxUzUw-w_RTj9l_qTZAw8w4ndxH1_08NlEHVFeH/s1600/recording.jpeg"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioztL_6Ths-Xq8sBc4gNSZGXWsZcswLU31dWtMF74sHBpReOxRta6wOGmSizF7W02t9nzDoPxYUlSSP1ElLe48oghkUJZ0j7hW50jVXMxUzUw-w_RTj9l_qTZAw8w4ndxH1_08NlEHVFeH/s320/recording.jpeg" /></a><br /><br /><br />The bigger kid can also read and write notes to some extent, so she writes her stuff down while talking with granma on the phone. <br /></span><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYijAybpwg_EyT2f90Bn_-VckUXj_62W8Ely3rgTdS1kfLRWnLCanybxx-ZEFyGNqCQNHAgPCqiIYgYxeOKiWi7xp6U2k7Y5uVUvJR5n0sew1z2_CoBlgsQg3uD3hLhfgQYLOUW6ZS7_is/s320/composing.jpeg" /></div>
<div>
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">So that kind of stuff.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Meanwhile I've been also been teaching programming to kids in Koodikoulu (Code School) events and was honored to have the Finnish president. It was pretty cute that he wore the same kind of name tag as the kids had:</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhucShO4UjqmcscOsTqTvdMLuGRXUMkY5J_oBPqNKfonkR2PBN04YgliYE5hJKSUIE1MZDIol2pW_tWwUcvFEkUoLJkh9M_bTcXIKxVY2ffBa1oL_kfG25hWHwAXMpUAyt5wy3tY8BlbOUg/s1600/Mr-Niinisto%25CC%2588-trying-out-coding-for-the-first-time.jpg" imageanchor="1"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhucShO4UjqmcscOsTqTvdMLuGRXUMkY5J_oBPqNKfonkR2PBN04YgliYE5hJKSUIE1MZDIol2pW_tWwUcvFEkUoLJkh9M_bTcXIKxVY2ffBa1oL_kfG25hWHwAXMpUAyt5wy3tY8BlbOUg/s320/Mr-Niinisto%25CC%2588-trying-out-coding-for-the-first-time.jpg" width="320" /></a></span></div>
<div>
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">You can read more about Koodikoulu on the <a href="http://reaktor.com/blog/code-school-for-children-and-heads-of-state/">Reaktor blog</a>.</span></div>
<div>
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Next up: more board game development. See you soon!</span></div>
</div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com4tag:blogger.com,1999:blog-9154301709962915266.post-21947762598979580462015-11-07T01:00:00.001-08:002015-11-07T01:00:26.577-08:00Robogem - The Evolution of a Board Game<span style="font-family: "arial" , "helvetica" , sans-serif;">A bit more than a year ago I took my first shot at designing a <a href="http://girlscantcode.blogspot.fi/2014/08/lesson-61-board-games.html">board game that teaches programming</a>. It was fun but the game didn't really work too well. I still like the idea, but ideas don't turn into good games too easily, I've found out...</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "arial" , "helvetica" , sans-serif;">Soon I got the <a href="http://www.robotturtles.com/">Robot Turtles</a> board game and after some playing decided that it's not fun enough. I want games with action and fierce competition! I asked my kids opinions and they agreed: they want to compete against each other. So I started <a href="http://girlscantcode.blogspot.fi/2014/10/turtles-and-tanks.html">experimenting for a new game</a>. The idea was that the players commanded tanks by making command sequences out of command cards. The game quickly from a co-operative search-and-destroy game to a competitive race.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The players raced each other on a hex board using the command cards (forward, left, right). Each player got to add or remove commands to their command sequence, which was repeated on each turn. So, you could either go fast by accumulating more cards to your sequence, or proceed more carefully. We used game assets from any available board games on my shelf.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial"; font-size: 13.3333px; margin-left: 1em; margin-right: 1em; vertical-align: baseline; white-space: pre-wrap;"><img height="240" src="https://lh3.googleusercontent.com/UQXYFjeoUbh3REE85w7WhWj9NbfbMUjBuOnDyNqq6BTVtgX4rh5Dkt98OAyaVHXMsmETJUcWQQv9WvxhyUkFt8h3q6MPdbS46rvKECjfjiSyiPSD_GPyaRQK-Hc5SCLPE7oJWl0" style="border: none; transform: rotate(0rad);" width="320" /></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The game was kind of fun, but was not very well balanced. You could easily drive yourself to a corner and it would take a long time to replace your program with something that will take you back on track. We changed the mechanism of adding/removing cards to a persistent program to one where you had a bunch a cards in your hand and could play any number of cards per turn. Then fill your hand back to 5 cards. That was nice until we discovered that unuseful cards will keep accumulating in your hand, because you play the better ones away.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Level design was very hard and the starting turn was too decisive. The hex board also made making full 180 turns quite tedious. Furthermore, the game was a bit dull, because it was quite linear; not many choices to make. </span><span style="font-family: arial, helvetica, sans-serif;">Game design is not easy, I had to admit again. Still, I was convinced that I had a good idea and could make it work by applying my scientist skills. I was indeed keeping a very detailed diary of my observations and insights.</span><br />
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<span style="font-family: arial, helvetica, sans-serif;">But</span><span style="font-family: arial, helvetica, sans-serif;"> So, after several iterations of changes, including laser guns of course, I decided to try something else. </span><span style="font-family: arial, helvetica, sans-serif;">Treasure hunt it was!</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<img height="240" src="https://lh6.googleusercontent.com/q8blEXUyDFyXVLwXsiNyt3ZODEDFz8Hxjb_ZvBv8apUCpDv6FODQhGBDPLocBzko5CynJEITGH9CRXgHTOdF6W4h33Y_zRVhqiAfh-C1Ghfng8ow3f8hKpn_IbamlIQ__18WDbE" style="border: none; transform: rotate(0rad);" width="320" /></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span id="docs-internal-guid-10207860-debc-cde2-60b5-4a2784a15d1f"></span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So instead of racing through a track the objective was now to fetch 3 treasures from the board. This gave the players more alternative ways of winning: there are more than enough treasures on the board. Also, because there are more alternatives, the problem of "bad" cards accumulating to your hand got less irritating.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Then my daughter (5 years at the time) told me a new set of rules: you have to fetch a treasure from the sea and return that to "home". Also, if you push another player who currently has the treasure, the treasure is transferred </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">to you. It naturally involved lasers that you could use to remove obstacles. The ideas of stealing treasures from your opponents and returning the treasure back home turned out to be a fun combination. Meanwhile, my younger kid was designing her own game.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><img height="240" src="https://lh4.googleusercontent.com/BSpNIGefc-ipZT89a8YDPXu1emDtMQL98QdmOWb8zGRxIZ1E3rncZ9zx6g-7e4Lxu1uKNWAevvB8Dir7efWjHxSv9-UmOjPLy-T5r7EQ_ptx9O5S4k0hbBsssFZsWVStbYMUhNE" style="border: none; transform: rotate(0rad);" width="320" /></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">We tried tens of variations of the treasure hunt game. Then we tried it on a rectangular board instead, to find the rectangular board worked better, because in a treasure hunt with opponents, you need to make a 180 degree turn every now and then. And it's also generally easier to play than a hex board. We tried loads different obstacle layouts and then found this one to be very good:</span><br />
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<img height="200" src="https://lh4.googleusercontent.com/Y4gsHO1kuaYg3ptNQgNHAl-7MVON2eHkYQsVmo4vYTxn3oLU3zc6Lnv9bsI7JCiCaqUxM2_87wibTe8TH_aWKsSTPssTWZ49uGuLQIXioNNT-BOXBH6s0Lnzi_z2bcLQYBwM7yU" style="border: none; color: #666666; font-family: 'Trebuchet MS'; font-size: 16px; font-weight: 700; transform: rotate(0rad);" width="196" /></div>
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<span style="font-family: arial, helvetica, sans-serif;">In fact, we never found a better one later, except for changes to the number and positions of the treasures.</span><br />
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<span style="font-family: arial, helvetica, sans-serif;">We were still experimenting with different card-playing systems, including one where you could either build/modify your program with new cards or run it. </span><span style="font-family: arial, helvetica, sans-serif;">Yet, a simple mechanism where you always get a completely new hand of cards after each turn turned out to be more fun. So I picked a game mechanism where you get 5 new cards for each turn and you play 0-5 cards on your turn, discarding the rest.I also decided that all players' cards should be visible. This gives you the opportunity to take others' cards into account when planning your strategy. You might think that having all cards visible would make the game simpler or more predictable but it's in fact the other way around: strategic players have much more variables to take into account. Yet, it gets easier for young children, because the older ones can easily advise them when the cards are in the open.</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">After about 1 month of active game design and dozens and dozens of iterations I finally had the feeling that we have a fun and simple game. I had the first set of game rules written down. I had simplified the game as much as possible, to make the rules easy to learn even for small kids. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">After signing a publishing deal (!) it took us a couple of months to finalize the game rules. This involved many rounds of testing with different groups of people, involving relatives and colleagues and their respective children. Minor modifications to the rules were tried and improvements were made.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I never explained the game rules to anyone. Instead they had to read the rulebook and start playing. It went quite well in general, but resulted in rulebook improvements of course. And this was an ugly rulebook with hand-drawn illustrations of course. Like this:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwXQBLMcjjnocsnQj8Yms3Q2cbrxKtiPDKqpMsGotic8hEyi24VEKFSdBAl0F_DWYtp-g9geT8X0qUCE2-gAHtrnrGwM4yvdL9UxWnK5hZDWdc4VYF1Hcwimgou_SJaZfTEgseIG-rLAPY/s1600/kaavio1.png" imageanchor="1" style="font-family: Times; margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwXQBLMcjjnocsnQj8Yms3Q2cbrxKtiPDKqpMsGotic8hEyi24VEKFSdBAl0F_DWYtp-g9geT8X0qUCE2-gAHtrnrGwM4yvdL9UxWnK5hZDWdc4VYF1Hcwimgou_SJaZfTEgseIG-rLAPY/s320/kaavio1.png" width="236" /></a></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">It also took some time to decide on the final game theme and the name. The tanks were ruled out pretty quick. We wanted to emphasize <i>coding</i> to some extent but still primarily make the game feel exciting and fun. It should be cool for both girls and boys. It should be easily applied to different languages and cultures. We finally landed on colorful and playful robots landing on a distant planet, in search of colorful diamonds.</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Then, like a frog turning to a prince, the cardboard monstrosity turned into something beautiful. I was blown away by the first graphic designs made by Mikko Hiltunen for the game. I haven't got those at hand right now, but here's the pretty much final box design.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTD6aGU8ABKI5MZWdHPJnrgIeO_o49AIVe7-JU3ieFZkY7-_njii1_OTm_MwhOK_MWM2ALKg1LTp4TzzkpCK6l_WrqicF5Nwyt8ZV9xnoVBlsyOgHLByK39pOq5LPKOiaI28Hwyn5Dv767/s1600/robogem+small.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTD6aGU8ABKI5MZWdHPJnrgIeO_o49AIVe7-JU3ieFZkY7-_njii1_OTm_MwhOK_MWM2ALKg1LTp4TzzkpCK6l_WrqicF5Nwyt8ZV9xnoVBlsyOgHLByK39pOq5LPKOiaI28Hwyn5Dv767/s320/robogem+small.png" width="320" /></a></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "arial" , "helvetica" , sans-serif;">So now we had a working but ugly game and beautiful game asset designs on the computer. You can imagine it felt like a lifetime to wait for the ready products to be shipped. And that it was amazing to finally lay our hands on the finished product. And it was super! To me it looked even better than I had hoped for. And the game assets (robots, diamonds and the board) are good quality and nice to use. The diamonds fit the slots on top of the robots and everything feels solid.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">And now the game is available both online and in many Finnish stores! </span><span style="font-family: arial, helvetica, sans-serif;">It was pretty cool to see our game in the local supermarket.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHllpHOxOma1sWKVq4i98GE-zLt_xazsG6xe4OUhedsuLjrkAKXPX-VBFtq74bTgiM7UTocBR3_2m1hmYywAyU8iCSkS2fPAwjd4QUJJdOmD1S1A4sdhIvyNtuUHQyiiBuVzIJ8yec1uQ/s1600/robogem+prismassa+small.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHllpHOxOma1sWKVq4i98GE-zLt_xazsG6xe4OUhedsuLjrkAKXPX-VBFtq74bTgiM7UTocBR3_2m1hmYywAyU8iCSkS2fPAwjd4QUJJdOmD1S1A4sdhIvyNtuUHQyiiBuVzIJ8yec1uQ/s320/robogem+prismassa+small.jpeg" width="320" /></a></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "arial" , "helvetica" , sans-serif;">Please have a look at the gameplay video and the rulebook online! </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://robogemgame.com/">robogemgame.com</a> (international)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://robogem.fi/">robogem.fi</a> (Finnish)</span></li>
</ul>
<br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">You can buy the game and have it shipped to Europe and the U.S at least, for a reasonable cost. We are still looking for distrubutors worldwide, to have Robogem in the board game boutiques, supermarkets and bookstores all around the world.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">It's been an exciting voyage so far, starting from learning <i>vim </i>and writing a few blog posts to actually being able a board game around the world. Now let's see if people like our game and we get to make more games. In fact, I'm already working on something new :)</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com5tag:blogger.com,1999:blog-9154301709962915266.post-33597103362873625922015-09-20T10:50:00.002-07:002015-09-20T11:40:44.890-07:00Talking Moose<span style="font-family: Arial, Helvetica, sans-serif;">Lately I've been fooling around with Bluetooth speakers so I suggested that we take some of my daughters toys and make it <b>talk</b>. She was obviously very excited. Imagine if someone suggested this when you were a kid. I'd personally had gone nuts. Well, she chose her dear Moose. </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTmQjEM60KYL_l7DfIZtPek4wAHFjHzm91XU5lGiShSJaCIikyYevhGLW8RseMgIP6XWkbsmrxGDideGp7Emx14GS5vE8a3xn3a2YwX9Vh53CEI_8pCRzDonBXN2mV2MVI5OveJlrhirW2/s1600/dear-moose.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTmQjEM60KYL_l7DfIZtPek4wAHFjHzm91XU5lGiShSJaCIikyYevhGLW8RseMgIP6XWkbsmrxGDideGp7Emx14GS5vE8a3xn3a2YwX9Vh53CEI_8pCRzDonBXN2mV2MVI5OveJlrhirW2/s320/dear-moose.jpeg" width="261" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">So I went to buy a cheap'n'small bluetooth speaker for 17 euros and we started by makingthe bluetooth speaker talk using the Mac's fabulous </span><span style="font-family: Courier New, Courier, monospace;">say</span><span style="font-family: Arial, Helvetica, sans-serif;"> command line tool. </span><span style="font-family: Arial, Helvetica, sans-serif;">First we connected the Bluetooth speaker by fiddling with the Mac's Bluetooth preferences. After that, the speaker is ready to use. Now, when you type something like</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> say "Hello world"</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">You'll hear speech from the bluetooth speaker. There's even a bunch of different voices available and you can add more from the Text-to-speech preferences. For the Finnish language, there's a nice voice called Mikko. To use a specific voice, you do like</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> say -v Mikko "Huomenta Suomi!"</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">And it was fun, once again. We've played with the </span><span style="font-family: 'Courier New', Courier, monospace;">say</span><span style="font-family: Arial, Helvetica, sans-serif;"> command before, but now the sound comes from a different box, so it was even more fun. Even our 3-year-old made the box talk. She can type her own name and learning more words every day.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dKfrE1WFak_j8wQkZinTrb97cxSwfRIF2nXgl0za7A56lvvc2aSKKWhspHZ_4-Pdro6BkA-ye2Sklw7aVQXN_DTX1s_CiBoXhnE3TkCjcXQ16yOib537ZM2pJUFuIhI_XtNOlWJP2hrA/s1600/breaking-the-speaker.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dKfrE1WFak_j8wQkZinTrb97cxSwfRIF2nXgl0za7A56lvvc2aSKKWhspHZ_4-Pdro6BkA-ye2Sklw7aVQXN_DTX1s_CiBoXhnE3TkCjcXQ16yOib537ZM2pJUFuIhI_XtNOlWJP2hrA/s320/breaking-the-speaker.jpg" width="240" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Then I suggested we break the bluetooth speaker to pieces, just for the heck of it. And sure we did. We found a lithium battery, a circuit board and a speaker element. And I do find my daughter to be much like me when I was a kid. I always broke things to pieces and usually was unable to put them back together. We, however succeeded also at putting the speaker back together too. And yes, we tried if it works when in pieces too.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigaKkgsyZCNuSiJX6eJlBCQ4iwGC6HxB90SfG7lcv_4xPCon3vCNdzG8svaz212OXd7DS98pLKrJLI445T7epo2AyAHrurj9LOmhENAYREt9YwKPwrC7gGp1cI2FliFOHmKhGFtmotXrkP/s1600/speaker-in-the-butt.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigaKkgsyZCNuSiJX6eJlBCQ4iwGC6HxB90SfG7lcv_4xPCon3vCNdzG8svaz212OXd7DS98pLKrJLI445T7epo2AyAHrurj9LOmhENAYREt9YwKPwrC7gGp1cI2FliFOHmKhGFtmotXrkP/s320/speaker-in-the-butt.jpeg" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Later today, she came back and asked whether we are going to make the moose talk. And we stuffed the speaker into the Moose's butt. Now it speaks. Through its butt. Great! We even added some velcro so that you can close the gap and hide the electronics. And open it to recharge the speaker via USB.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">By the way, you can actually connect several bluetooth speakers to your Mac. And you can address each of the individually using the </span><span style="font-family: Courier New, Courier, monospace;">-a</span><span style="font-family: Arial, Helvetica, sans-serif;"> parameter of the </span><span style="font-family: Courier New, Courier, monospace;">say</span><span style="font-family: Arial, Helvetica, sans-serif;"> command. What this mean in practise is that you can make a theatrical play with several soft toys speaking (through their butts) with different voices, by programming! </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">MUST BUY MOAR BLUETOOTH SPEAKERS!!!</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com2tag:blogger.com,1999:blog-9154301709962915266.post-17880058253111706952015-09-14T11:19:00.001-07:002015-09-14T11:19:43.280-07:00Hello Ruby!<span style="font-family: Arial, Helvetica, sans-serif;">A while ago we got mail.</span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">The long-awaited <a href="http://www.helloruby.com/">Hello Ruby</a> book by Linda Liukas arrived! We read it as a good-night story the same night and both the girls (6 and 3 years) seemed to love it. Even with about 60 pages of story, it was an easy and quick read and even the 3-year old was all ears and had no problem concentrating. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">I was expecting a bit more "programming" in the story though. There are references to algorithmic thinking (Ruby thinks like a programmer), but without extra explaining, the kids won't notice that. The references to Python, Django, Snowleopard, Androids et al are also cute but don't ring any bells to small kids. Not sure that it makes sense to add that kind of a layer on the story.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Nevertheless, the most fun part in the book are the excercises though. From page 65 or so starts a "workbook" (not sure about the wording as my book's in Finnish) section, which is a real treasure chest full of fun and graphical programming exercises that you can do without a computer. This is the section that makes the book twice worth its price even if there wasn't a story at all!</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKKzYS4xVrTjjhn2hJtKJ-gkM22Q0YXVJETdmyszSo0Xj1pNqyABWwR8VopY98dJuf_YOkqmlOaGDV6_7yjMfkvcP-BKtW1V4Bcs3rK3QbNb-ykYqqb_wA9lNO_P1F3wKTaJy8vt3ZJKs0/s1600/hello-ruby-excercise1.jpeg" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKKzYS4xVrTjjhn2hJtKJ-gkM22Q0YXVJETdmyszSo0Xj1pNqyABWwR8VopY98dJuf_YOkqmlOaGDV6_7yjMfkvcP-BKtW1V4Bcs3rK3QbNb-ykYqqb_wA9lNO_P1F3wKTaJy8vt3ZJKs0/s320/hello-ruby-excercise1.jpeg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Working on the 1st exercise</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">The exercises may seem simplistic, but at least for my quite-a-bit experienced 6-year old coder girl, they were just perfect. Easy and fun. We covered the first three exercises in half an hour or so. The first exercise was about writing written instructions for stuff like eating breakfast. Below there are the 6-year old's instructions. She even managed to make a loop to make sure that all the oatmeal gets eaten. She wasn't sure how you make a loop in this Finnish pseudo-language, and asked me how to "make a repeat" in Finnish, as she didn't know the right "coding words" in her mother tongue.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5S6Us7xrrY7KNdz8Syam1BvfrxPO9SuYRxR1Qhovztgewe7jZVfOrGQ7o69Bk2wqvN1fs_PItgyIIkVETq5vY2VUyLuKjEANcGJIlWHMbLdxPqP0KgJQUR2LWrXhxhy5241nrs6ieGiWz/s1600/hello-ruby-excercise1-results.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5S6Us7xrrY7KNdz8Syam1BvfrxPO9SuYRxR1Qhovztgewe7jZVfOrGQ7o69Bk2wqvN1fs_PItgyIIkVETq5vY2VUyLuKjEANcGJIlWHMbLdxPqP0KgJQUR2LWrXhxhy5241nrs6ieGiWz/s400/hello-ruby-excercise1-results.jpeg" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">The exercises involve not just writing step-by-step procedures, but also breaking things into parts, boolean logic and so on. As an extra, she got to draw Ruby in her weekend costume, the rules of which she had to write in exercise three. You can probably guess the rules from the picture?</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">And how about the 3-year old? She was busy too, and also drew a picture of Ruby.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh7a3EZ66mZqA5I8GPP47po0F64B1Dk9QW4UHX54Odg4XGvZktkb4BMmIKbpeRduo0AJrpn7PBcZAFDgMj3wQTGobpjTPXbXWBiX0NOh_kHhQeB7fTmBSRMp7gq8VLt36rxeQxF_R65VqK/s1600/little-sister-results.jpeg" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh7a3EZ66mZqA5I8GPP47po0F64B1Dk9QW4UHX54Odg4XGvZktkb4BMmIKbpeRduo0AJrpn7PBcZAFDgMj3wQTGobpjTPXbXWBiX0NOh_kHhQeB7fTmBSRMp7gq8VLt36rxeQxF_R65VqK/s400/little-sister-results.jpeg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ruby pictured by 3-year old artist<br /><div style="text-align: left;">
<br /></div>
</td></tr>
</tbody></table>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">So, Ruby is not just cute, but smart too. Well done, Linda!</span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com1tag:blogger.com,1999:blog-9154301709962915266.post-64272263326073582952015-05-26T11:22:00.003-07:002015-05-26T11:23:21.693-07:00The Milatron<span style="font-family: Arial, Helvetica, sans-serif;">We haven't coded much lately. Seems that she's interested in hardware at the moment :) And stuff like sports and music. With regard to music, we've been building a thing I call Milatron.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">It's a custom electric instrument that we designed earlier (see my <a href="http://girlscantcode.blogspot.fi/2015/03/lesson-67-modding-switches.html">previous post</a>). The idea is that we use an Arduino microcontroller to produce different sounds through a speaker, when you press one of the 8 colored buttons. Simple enough. We found a suitable cookie box to use as the chassis and decided to use a 4 inch speaker element which is way too heavy for our use but later on proved to be a good choice.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">First, we had to measure, draw and cut a hole to the chassis for the speaker, and install the speaker with bolts. She did most of the hard work, of course.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrmItS_C1dfP9mVXR-Qvd0ghOvCXByQO5AmVJoFe03w_Ws_4URJOFW6cEg-CeLqM9_ZbYzDs3-6oXWr-DN6AH2CCq_6w7BWx1pE4OUuzjbx6F91oJxOXHgbhYrA1ZFMJ_hhmUV21EW-7oy/s1600/2015-03-29+18.41.40.jpg" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrmItS_C1dfP9mVXR-Qvd0ghOvCXByQO5AmVJoFe03w_Ws_4URJOFW6cEg-CeLqM9_ZbYzDs3-6oXWr-DN6AH2CCq_6w7BWx1pE4OUuzjbx6F91oJxOXHgbhYrA1ZFMJ_hhmUV21EW-7oy/s200/2015-03-29+18.41.40.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHzdwww6kZd72vJbpZ-YgikP4SPaMWuviAhEJSxWEsviUg66yM3FvABgY8k24yyDOZG2E9elj84aWdl_mq60vgZj0D3OJVPhHX5Xnp1APBrkDMDondVCfi8PCJsSWYRVcMki-UTVZpZFU/s1600/2015-03-29+18.32.44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHzdwww6kZd72vJbpZ-YgikP4SPaMWuviAhEJSxWEsviUg66yM3FvABgY8k24yyDOZG2E9elj84aWdl_mq60vgZj0D3OJVPhHX5Xnp1APBrkDMDondVCfi8PCJsSWYRVcMki-UTVZpZFU/s200/2015-03-29+18.32.44.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">Then it was time to drill holes for the keys. At this point you could already see that this thing is gonna look awesome. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQS4DfmCxWJq3hkdapBHbCEk9vf1dNyLRX-D2ad5i-Hhc5V0Eb9NSdvvNGdwl5k1bUNi1HBuhGRtoR4F_G1yLTU1SZdmMUbeqghYNAiHB4KbvtCg7HHoETgQoOOqEEv9dqcCNmHcrbeEIx/s1600/2015-03-29+18.51.22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQS4DfmCxWJq3hkdapBHbCEk9vf1dNyLRX-D2ad5i-Hhc5V0Eb9NSdvvNGdwl5k1bUNi1HBuhGRtoR4F_G1yLTU1SZdmMUbeqghYNAiHB4KbvtCg7HHoETgQoOOqEEv9dqcCNmHcrbeEIx/s200/2015-03-29+18.51.22.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIwlw_AblNQyU1iLsQHUHcmIfcVruw6ZR6UNwXeZfJSZTgKzKUA9_0kuqCrDCQDdr2YlFZQ31xn-eiK6G5VEu1aUBJbAZOTRHo57vhPxnQCe-Te-gxer8qySXvVb7g0jeLcxh51h3c5e1/s1600/2015-03-29+19.04.43.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIwlw_AblNQyU1iLsQHUHcmIfcVruw6ZR6UNwXeZfJSZTgKzKUA9_0kuqCrDCQDdr2YlFZQ31xn-eiK6G5VEu1aUBJbAZOTRHo57vhPxnQCe-Te-gxer8qySXvVb7g0jeLcxh51h3c5e1/s200/2015-03-29+19.04.43.jpg" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">She installed the keys mostly by herself and did all the soldering too. She just loves soldering! </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">We added the Arduino and a breadboard inside. The breadboard had a sticker surface on its bottom so it could be nicely fitted on top of the speaker. At first I added a resistor between the Arduino and the speaker to turn down the volume a bit. Later we replaced the resistor with a potentiometer so that you can adjust the volume to your liking.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibaz977n4hW2rQ9v4bmlQXBP-u-0nUkz8ClA96Nn7K3OSronDfZjhGJSk9-UlkzwHHLjuObb81-giQfufaeNTDarzSDPmZHpDcZkh48fYjilesuMrjSrC5i3hUHZ5d6MMdQE8gvBwG9vmm/s1600/2015-03-29+19.37.51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibaz977n4hW2rQ9v4bmlQXBP-u-0nUkz8ClA96Nn7K3OSronDfZjhGJSk9-UlkzwHHLjuObb81-giQfufaeNTDarzSDPmZHpDcZkh48fYjilesuMrjSrC5i3hUHZ5d6MMdQE8gvBwG9vmm/s320/2015-03-29+19.37.51.jpg" width="240" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">We installed a 9 volt battery which is held in place by the huge magnet of the speaker. So the big speaker turned out quite handy in many ways. It also gives the gadget a considerable weight, so it doesn't feel like your average children's toy.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Here's the Milatron now. </span><span style="font-family: Arial, Helvetica, sans-serif;">It's tuned in D major and makes terrible noise. It even has kind of a polyphony. </span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAS9pKWAf2gm7w83l65eMkBZum9eMUIGoD21_ftdaPpUITe6nFsANAGJgdRmU3aMZqV5x7T81gqWBb8wCGgNekNag0swxstb6oa9jv-wXkrHjEU0vgLSpsQWfDnmzv-ZvhdIvuqkAo6z0k/s1600/2015-05-01+21.37.47.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAS9pKWAf2gm7w83l65eMkBZum9eMUIGoD21_ftdaPpUITe6nFsANAGJgdRmU3aMZqV5x7T81gqWBb8wCGgNekNag0swxstb6oa9jv-wXkrHjEU0vgLSpsQWfDnmzv-ZvhdIvuqkAo6z0k/s1600/2015-05-01+21.37.47.jpg" width="320" /></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">We did some experiments with software-generated sound before we started working on the actual instrument though. But</span><span style="font-family: Arial, Helvetica, sans-serif;"> I decided writing the actual Milatron software myself, because generating waveforms with different, accurate pitches isn't actually trivial. A bit too much for a 6 year old, I'm afraid. I think the main thing is that she knows it <i>can</i> be done.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">All in all, we spent something like 3 nights working on this. Good times! And the monstrosity is still in active use, a few weeks after its birth. We are planning on adding extra features like pitch bending later... </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Maybe I should post a video of how it sounds?</span></div>
</div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com2tag:blogger.com,1999:blog-9154301709962915266.post-43770508903504470942015-03-21T11:19:00.001-07:002015-03-21T11:21:23.811-07:00Lesson 67 - Modding Switches<span style="font-family: Arial, Helvetica, sans-serif;">Today I got a shipment of electronics. Me and my little girl were both excited to open a bunch of envelopes to see what's inside; we have been waiting for some more Arduinos and mechanical switches for our upcoming Electronic Instrument. She immediately recognized the Arduinos, of which I was kinda proud.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">The switches were a disappointment though. Colorful and all, but unfortunately of the "latching" type, meaning a switch that stays down when you press it, and comes back up when you press it again. And that just won't do if you're planning to build a keyboard for a musical instrument, will it?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">So, we started "modding" the switches be removing certain parts from inside. We had 15 switches to mod in total so there was some real work to do! You'd thing this would be tedious and boring for a 6-year old girl? Nope, not at all. Even the 3-year old helped the best she can. In the end, I was the only one (not counting the 3-year old in) unable to open the plastic casing of a switch without breaking it. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF15rRfSWD5vkdFI1DCXcdTXStLuFDeZXrH5n9HjMVIpXi0065GEyUNnta4IN7jkQ9YkH-WT-v4Rpo9t-kwTd1nu_Jpl07hxG2xfDs4_WON8voxxFP-JazTnci7Eh2_rjJZ8wYBVc-Vnik/s1600/modding+switches.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF15rRfSWD5vkdFI1DCXcdTXStLuFDeZXrH5n9HjMVIpXi0065GEyUNnta4IN7jkQ9YkH-WT-v4Rpo9t-kwTd1nu_Jpl07hxG2xfDs4_WON8voxxFP-JazTnci7Eh2_rjJZ8wYBVc-Vnik/s1600/modding+switches.jpeg" height="240" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">So the 6-year old can now mod a switch without any adult help, and does it better than me... And here they are, all 15 switched, modded by willing child labor!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh658rYgNxAyCRLVEZbfAfRed-RA_ZGe7PCR_-5VN98djaBGgxOYt3UZj0VmnwrExck4oVQ59mNA3Q_MqrHE59Kie0rCcEpbiXZ3g3pnR1V_vGCHVOmk72sbMa38PJLvRcXJVU62DNuqAXi/s1600/switches.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh658rYgNxAyCRLVEZbfAfRed-RA_ZGe7PCR_-5VN98djaBGgxOYt3UZj0VmnwrExck4oVQ59mNA3Q_MqrHE59Kie0rCcEpbiXZ3g3pnR1V_vGCHVOmk72sbMa38PJLvRcXJVU62DNuqAXi/s1600/switches.jpg" height="240" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Then we did some design on how the instrument would look like.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhD0boYFm-lQNjm3Tm4BJd4tXnWpibdkHwveJM-ykeDPBgv6e0u6opsrcXZv1fnjqUdtQrUQsBLP6swkpW6iOVSsc-pv5t4trB7rOT70BUg5XcV8nndt12uAvs0QLxXhw5-9qN8IQjXYty/s1600/instrument+design.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhD0boYFm-lQNjm3Tm4BJd4tXnWpibdkHwveJM-ykeDPBgv6e0u6opsrcXZv1fnjqUdtQrUQsBLP6swkpW6iOVSsc-pv5t4trB7rOT70BUg5XcV8nndt12uAvs0QLxXhw5-9qN8IQjXYty/s1600/instrument+design.jpeg" height="240" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Next up: woodwork. We need to build a casing for our thingie. And maybe we need to visit the local "recycling center" to scavenge some parts, including a little speaker element. The Hartke element might be a bit too heavy-duty for our use case, weighing 1 kg or so. You can see it in the picture too. Quite a monster, ain't she?</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com3tag:blogger.com,1999:blog-9154301709962915266.post-22606445034818353182015-03-06T13:52:00.001-08:002015-03-06T13:52:22.465-08:00Soldering school<span style="font-family: Arial, Helvetica, sans-serif;">Today her older cousins were visiting. She organized a Soldering School where she explained how to solder and had them all do some basic soldering. Was fun.</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-83621853449993201822015-03-05T11:20:00.001-08:002015-03-05T11:20:31.404-08:00Solder On!<span style="font-family: Arial, Helvetica, sans-serif;">Yesterday she was sick and I got to spend the whole day at home with her. Guess what we did? Well, she slept and watched Netflix while I was working. For a while. But when she got her energy back, guess what she wanted to do. Solder. So we did some serious soldering. Behold the METAL HORSE!</span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3IBXz4OgPOB7OpztYNGFp_qt4OXE2D9QPqUZrzCKf3nhNasuR8gL92bYY97YvLkX6p4cnhq3LNAOCHUsxKH4siXdV5zuADfUEckSf1tSr0LvS9DxU6FGxBNaW_6y4fB6-_KFz-vUfzBt_/s1600/solder+cow.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3IBXz4OgPOB7OpztYNGFp_qt4OXE2D9QPqUZrzCKf3nhNasuR8gL92bYY97YvLkX6p4cnhq3LNAOCHUsxKH4siXdV5zuADfUEckSf1tSr0LvS9DxU6FGxBNaW_6y4fB6-_KFz-vUfzBt_/s1600/solder+cow.jpeg" height="247" width="320" /></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">And today, I asked her to do her violin homework. Guess what she wanted to do. Solder. So solder we did. She soldered a resistor on the perfboard perfectly!</span></div>
</div>
</div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-43599618470275514852015-03-01T12:29:00.000-08:002015-03-01T12:29:09.310-08:00Lesson 66 - Solder Star<span style="font-family: Arial, Helvetica, sans-serif;">Yesterday she asked me if we could now build the magical electric instrument together. The one we discussed in <a href="http://girlscantcode.blogspot.fi/2015/02/lesson-65-arduino.html">Lesson 65</a>. I said yes.</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">So we started by recapping on our previous work with electricity. She struggled with terms (voltage etc) but with some help, she was quickly able to construct a circuit that will light up a led with 3.3 volts from the Arduino. And she remembered that you cannot use 5 volts for that. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Soon we were about to start connecting the speaker element to the board. Whoa! One of the wires soldered to the speaker had gone missing. We concluded that we're gonna have to solder it back. Now this speaker element is heavy-duty and has a magnet so powerful that when it gets stuck to a piece of metal, she can barely drag it free with all her might. Now imagine using a soldering iron on that. It'll do its best to draw the burning-hot iron to the speaker element. So we decided I'll do the soldering but she'll get to practice soldering after that. She helped me by keeping the wire in place with her steady little hands while I applied solder.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkWIf_nLP5_y6gR34JLqdWQVMeE04szsWYqNYKIZ0e4JxHGaGuyoSAxfOzXuCqkwgt_U_xeX6zkzpMLiNfjEqNNVyZKmrw8r4QAqdd_LR4YwUdjEGej2c5pQ3V_ONpLsBBlPisuDKu259Y/s1600/soldering.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkWIf_nLP5_y6gR34JLqdWQVMeE04szsWYqNYKIZ0e4JxHGaGuyoSAxfOzXuCqkwgt_U_xeX6zkzpMLiNfjEqNNVyZKmrw8r4QAqdd_LR4YwUdjEGej2c5pQ3V_ONpLsBBlPisuDKu259Y/s1600/soldering.jpeg" height="262" width="320" /></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">After fixing the speaker I let her do some free practice with the soldering iron, under my supervision, of course. She started by almost burning the power line of the soldering iron. After I showed her the burn-marks on the plastic cover, she took good care not to repeat that mistake again. Here are some of here works.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Rn3S6iVj7Qmgd35G2HlxzzoEUZY6VlF9T6gune7v3K3hAjOv0CuKDWpiiWz-p8dOzjdVJcqHuiS0FBsNSO6cFgN9-mjQ6A4zBi_0oeQMafERWys8HcQo-vnHInJLx6Pg0rRYDps1ZF52/s1600/soldering_works.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Rn3S6iVj7Qmgd35G2HlxzzoEUZY6VlF9T6gune7v3K3hAjOv0CuKDWpiiWz-p8dOzjdVJcqHuiS0FBsNSO6cFgN9-mjQ6A4zBi_0oeQMafERWys8HcQo-vnHInJLx6Pg0rRYDps1ZF52/s1600/soldering_works.jpeg" height="262" width="320" /></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">A stickman and a star that is. She wanted to keep on soldering but it was almost bedtime so we had to stop for now. Was fun! I think need a better soldering iron though. Mine's a 5 dollar one from the Internet.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com0tag:blogger.com,1999:blog-9154301709962915266.post-29486718417937758052015-02-23T12:49:00.000-08:002015-02-23T12:51:12.167-08:00Lesson 65 - Arduino<span style="font-family: Arial, Helvetica, sans-serif;">Yesterday we took a look at electronics and Arduinos. We discussed what electricity is and what <i>voltage</i> roughly means. We tinkered with some wires, leds and resistors to see that you have to make a <i>circuit</i> from the 5 Volt output of the Arduino into GND which stands for <i>ground</i> and is 0 Volts. We draw a lot of stuff on the paper to illustrate how our circuits worked.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">It was fun to use the 5 Volt and 3.3 Volt outputs of Arduino to run some motors (voltage affects run speed!) and then leds (you cannot feed 5 volts to a led or you'll break it!).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrU1EB1MYQYoQJ9u8F1CZFCBtNEnTmH2JRBjOxBHewSwbEX_NeHIXjVjsE-ZyfR9Po9IDHQafhKqz6HAHk_MGPN50AK2pU00GyYameAU1DPrZozmAyVHrfnhNT8IzXbn5UbCrx5eZf1j1i/s1600/leds.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrU1EB1MYQYoQJ9u8F1CZFCBtNEnTmH2JRBjOxBHewSwbEX_NeHIXjVjsE-ZyfR9Po9IDHQafhKqz6HAHk_MGPN50AK2pU00GyYameAU1DPrZozmAyVHrfnhNT8IzXbn5UbCrx5eZf1j1i/s1600/leds.jpg" height="300" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">She got really excited and told me she wants to build a robot that moves and <i>talks. </i>I used my consulting skills to talk this down to a single blinking led. We almost got that far in the end.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2gx4-ezF1-Fe-IYbTtyO5FMzsfd5RAHUkqVSjFj7wVoUIvL43zjj174xxwfc7mVnE3u1TRErsCNMcQbgOa8M0R07RRulpi5UrSJmX5Eu6ghrW_arCUAA1OVNCRPDJ9rul2KdndddDgbp4/s1600/first-arduino.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2gx4-ezF1-Fe-IYbTtyO5FMzsfd5RAHUkqVSjFj7wVoUIvL43zjj174xxwfc7mVnE3u1TRErsCNMcQbgOa8M0R07RRulpi5UrSJmX5Eu6ghrW_arCUAA1OVNCRPDJ9rul2KdndddDgbp4/s1600/first-arduino.jpg" height="240" width="320" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">So, from a talking robot down to a single lit led we went. But we had fun all the way.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Today I build a simple instrument with a push button and a potentiometer for controlling output frequency. The speaker is actually the tweeter part of my 350W Hartke Bass Combo that got spectacularly destroyed on the stage some 20 years ago.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAdHLt1JUDtIfkvQLkGggsinGhp3BOTH_l9SSOPzwi9dQ0a8qX3c9m0lSdfwUq1Ct09FU7tJxQ7XE6Oti8ILF62cTEFKBcAZ0cjT-mgohfbgFzxjDxV6jrN_0go5nR8DQyLaA7sLTeBZBZ/s1600/my-synth.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAdHLt1JUDtIfkvQLkGggsinGhp3BOTH_l9SSOPzwi9dQ0a8qX3c9m0lSdfwUq1Ct09FU7tJxQ7XE6Oti8ILF62cTEFKBcAZ0cjT-mgohfbgFzxjDxV6jrN_0go5nR8DQyLaA7sLTeBZBZ/s1600/my-synth.jpg" height="320" width="240" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">And that was super fun to play with. We agreed to build an electric piano-like keyboard instrument together. I think that's a really nice exercise really, as there's electronics, coding and even mechanics / woodwork involved. I'm planning to make casing out of wood. Let's see if we can do this...</span>Juha Paananenhttp://www.blogger.com/profile/11863701709479259865noreply@blogger.com1