<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Raven&#039;s Mutterings &#187; Life</title>
	<atom:link href="http://raven.phoenyx.net/mutterings/tag/life/feed/" rel="self" type="application/rss+xml" />
	<link>http://raven.phoenyx.net/mutterings</link>
	<description>Wherein Carl Cravens talks about geeky stuff</description>
	<lastBuildDate>Wed, 02 Feb 2011 14:06:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Learning Flash ain&#8217;t so hard</title>
		<link>http://raven.phoenyx.net/mutterings/2010/10/learning-flash-aint-so-hard/</link>
		<comments>http://raven.phoenyx.net/mutterings/2010/10/learning-flash-aint-so-hard/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 15:01:01 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://raven.phoenyx.net/mutterings/?p=288</guid>
		<description><![CDATA[So while I'm learning ActionScript 3 and trying to write games with the Flixel game library, I'm reading the Flixel forums. And it's educational... the number of "kids" who have jumped into Flash programming as their self-introduction to software development is high. What's funny about it is how obvious it is that some of them [...]]]></description>
			<content:encoded><![CDATA[<p>So while I'm learning ActionScript 3 and trying to write games with the Flixel game library, I'm reading the Flixel forums.  And it's educational... the number of "kids" who have jumped into Flash programming as their self-introduction to software development is high.  What's funny about it is how obvious it is that some of them haven't learned the fundamentals.</p>
<p>"The random number generator keeps giving me a floating point number and I need integers from 1 to 20.  It took me a long time to come up with this solution, so I thought I'd share it here."</p>
<p>It was more or less the right solution (though I don't know why they abandoned Flixel's random() function to call on Math.random() when they both do the same thing), but it struck me... dealing with random numbers is a beginner's problem, and I dealt with it <strong>long</strong> before I was doing graphics programming, or even had libraries outside the core language to work with.</p>
<p>And this is where it occurs to me that I have it easy learning ActionScript.  I already know the fundamentals.  I can't imagine how intimidating the vast Flash library must be to someone who doesn't take for granted the knowledge of how to generate a random number from an integer range.</p>
]]></content:encoded>
			<wfw:commentRss>http://raven.phoenyx.net/mutterings/2010/10/learning-flash-aint-so-hard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning the Language, Part 2</title>
		<link>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language-part-2/</link>
		<comments>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language-part-2/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 20:06:35 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://raven.phoenyx.net/mutterings/?p=271</guid>
		<description><![CDATA[So, shortly after I wrote yesterday's post (half a year ago),  I decided to try C++.  I know C moderately well (though I'm rusty), and C++ pretty much has everything I'm looking for… robust GUI libraries, tons of third-party libraries, a billion books and resources. And C++ isn't all that "old school"… lots of useful [...]]]></description>
			<content:encoded><![CDATA[<p>So, shortly after I wrote yesterday's post (half a year ago),  I decided to try C++.  I know C moderately well (though I'm rusty), and C++ pretty much has everything I'm looking for… robust GUI libraries, tons of third-party libraries, a billion books and resources.</p>
<p>And C++ isn't all that "old school"… lots of useful features have been added to the standard libraries, like greatly improved string handling classes and garbage collectors.  The OO features of C++ let me abstract away a lot of the more painful bits I remember from C.   I worked through a beginner's book on C++ and felt oddly at home and awkward at the same time.  It's been a <strong>very</strong> long time since I've had to deal with memory management.  C++ has really improved it, with all the standard libraries having hooks to integrate your own garbage collector, etc.  But in the end, it didn't really stick.  I think, like many of the languages I've dealt with, the overhead of learning the language combined with trying to learn the GUI libraries at the same time puts me off.</p>
<p>Then, aside from my own projects, I'm dealing with another factor.  My 10-year-old son wants to write video games.  Has wanted to for some time, in fact, and we've dabbled with <a title="Scratch" href="http://scratch.mit.edu/">Scratch</a> and <a title="Etoys" href="http://squeakland.org/">Etoys</a>, both of which are built on top of the Squeak Smalltalk environment.  Scratch is pretty cool, with its drag-and-drop programming elements... it worked really well for teaching my son basic programming ideas.  But it was really limited.  Arrays didn't get added to the language until we'd been using it for a few months.  It just can't write "real" games.</p>
<p>Keep in mind, we're competing with Flash games here.  When I was a teen, we all tried to write games.  But my Apple //e was competing with the Atari VCS and other Apple games.  And I paid money for some Apple games that looked like they'd been written by teenagers, some of them written in Apple BASIC.  So it wasn't a large leap to get from basic programming skills to something that could reasonably compete with home video games.  Cabinet games were something else, but they had dedicated hardware, and even Atari proved that they couldn't reproduce Asteroids or PacMan on the VCS in a way that felt anything like the arcade games.  But my son has had a PS1, GameCube and now a Wii in his house.  He has a wealth of Flash games he can play for free.  When he wants to write a game, he wants to write at least something of the quality of N64 Mario Bros.</p>
<p>So we jumped to Etoys, which isn't as elegant as Scratch and has a much steeper learning curve, but is still very drag-and-drop, visually oriented.  This was pretty cool, really... a sprite on the screen was an object, and it had scripts attached to it, so the whole object-oriented, messaging paradigm was clearly illustrated for my son.  And it had better collision detection, the ability to create and destroy objects on the fly, and so on.  But we still ran into limitations... Etoys could get really slow.  The collision detection wasn't reliable (I uncovered a bug in it).  And the developers made it clear that Etoys is meant to teach concepts, not to produce finished works.   Combine that with Smalltalk being a dead-end for all of my purposes, we ended up dropping it.</p>
<p>Which leads me to these last few weeks.  I finally gave in and started learning ActionScript 3 to write Flash games.  The Flex SDK, which includes the compiler and libraries, is Open Source.  ActionScript 3 is a flavor of ECMAScript, making it a brother of  JavaScript... these are useful languages to have to further my career.   It's a "real" language with a vast, professional core library.  All I had to do was figure out how to write ActionScript code and compile Flash without an IDE on Linux.  (That's a tutorial for another day... it's amazing how most Linux tutorials assume you know something about building Flash already when they talk about using the Flex SDK compiler without an IDE.)</p>
<p>I found a robust game library, <a title="Flixel" href="http://flixel.org/">Flixel</a>, which does a huge amount of the heavy lifting, such as automating motion, collision detection, and so on.  Flixel is great, and there are utilities available for it, even on Linux.</p>
<p>I generally consider Flash on the Web to be mostly evil.  But I think of Flash as being a perfect platform to deliver games... I don't have a problem with that at all.  And now I'm teaching my son to write games in a language that doesn't have any limitations... it can do what all of those games he likes do, because it's the same platform.  He can freely share games with his friends (something Scratch and Etoys weren't so good at).</p>
<p>I won't lie... ActionScript and the compiler have their oddities.  But the language is both a career skill and useful to teach my son, so it's a win all around for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning the Language</title>
		<link>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language/</link>
		<comments>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 22:11:20 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://raven.phoenyx.net/mutterings/?p=267</guid>
		<description><![CDATA[I've been stuck for blogging. Mostly because I have a handful of half-finished posts that keep me from blogging about anything else. Time to clear them out. I've run into a odd crisis of sorts. Professionally, I'm a Unix systems administrator. But not a fill-in-the-blank, push-the-button sysadmin&#8230; I write lots of utility code, I analyze [...]]]></description>
			<content:encoded><![CDATA[<p> I've been stuck for blogging.  Mostly because I have a handful of half-finished posts that keep me from blogging about anything else.  Time to clear them out. </p>
<hr/>
<p>I've run into a odd crisis of sorts.  Professionally, I'm a Unix systems administrator.  But not a fill-in-the-blank, push-the-button sysadmin&hellip;  I write lots of utility code, I analyze system problems with lsof and strace.  I understand a lot of what's going on under the hood.  I've done a fair amount of software development in and around the systems administration stuff.</p>
<p>I started out on this path planning to be a developer.  And in fact, my current job title <em>is</em> Software Developer (even though the job can be more sysadmin than development).  I started programming computers in middle school (not many forty-somethings get to say that), and I progressed from Apple's BASIC to Borland Turbo C on a MS-DOS box.  In college, I had to learn a little Pascal and Modula II (I dislike "teaching languages"), as well as being exposed to Lisp and Prolog.  But C was pretty much my go-to language, and there wasn't a great deal of that GUI stuff going on yet.</p>
<p>During college (which came a few years after High School), I started working for an ISP, my "career" skill-set started focusing on systems administration, and Perl and Bourne Shell became my go-to languages.  I still wrote in C for school (a simple Unix shell, networking code, lots of stuff), but Perl did everything I wanted for my personal projects without the overhead of that "complicated" C stuff.  I dabbled with C++, but I was really just writing C while taking advantage of the IO stream system&hellip; I never really learned the OO stuff.</p>
<p>But career-wise, I figured, I'm a systems administrator, Perl and Bash are all I really need.  I looked at Python, but I didn't really like it, and the joy of learning a new language has faded for me&hellip;  it just gets frustrating when I think, "I already know how to do this in Perl, why am I trying so hard to figure it out in Python?"  And I think the big thing there was that Python wasn't bringing enough value to the table&hellip; sure, it was supposed to be better at OO (OO being required, instead of an optional tack-on like it is in Perl), and easier to maintain with larger projects.  But it was still an interpreted scripting language&hellip; it was adding a second hammer to my toolbox, and while it might have been better suited to certain tasks than the hammer I already had, learning to use it took far longer than just applying the less-ideal first hammer.  So I abandoned it.</p>
<p>But over the last few years, I've run into a problem.  I need tools that are not in my toolbox&hellip; primarily, I need a good platform for building GUI applications.  And to complicate that, I want something that's as cross-platform as I can get.  I have a couple apps I'd like to develop that I want to share with people, and I don't want to tell the Windows users to take a leap.</p>
<p>Thing is, Perl can be kind of slow with a GUI, it's difficult to distribute to novice Windows users, and really&hellip; for all my love of Perl, I <strong>still</strong> think of it as a little utility language.  I don't like writing big apps with it.</p>
<p>So then what do I do?  Java?  I've not had good experiences with cross-platform Java apps&hellip; getting them to run in Linux has often been a pain, and very few Java apps <strong>look good</strong>.  Some look amazing, but considering that most don't, I'm guessing that making it look good, and/or like a native app, is rather difficult.</p>
<p>I've been learning Haskell on the job, but I'm not finding Haskell to be suitable.  It has a lot going for it, but two big strikes against it (for me), aside from the steep learning curve, are that the size of the third-party library selection is small and often "experimental", and my code wouldn't get distributed very far&hellip;  there are plenty of folks who aren't going to install a Haskell build environment just to compile my code.  To top that off, Haskell doesn't do much for my resume&hellip; Haskell programmers are not in demand.</p>
<hr/>
<p> Six months after I wrote the above, it's still complicated.  There <b>aren't</b> any good, cross-platform choices.  The languages I find attractive aren't good at being cross-platform, and the languages that <b>are</b> good at cross-platform fall under the "slightly evil" heading.  Tomorrow, I'll tell you what's happened since and which "slightly evil" I've chosen, albeit with the best of intentions. </p>
]]></content:encoded>
			<wfw:commentRss>http://raven.phoenyx.net/mutterings/2010/10/learning-the-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Knitting with Nathan</title>
		<link>http://raven.phoenyx.net/mutterings/2009/12/knitting-with-nathan/</link>
		<comments>http://raven.phoenyx.net/mutterings/2009/12/knitting-with-nathan/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:45:22 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Crafts]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[knitting]]></category>
		<category><![CDATA[Nathan]]></category>

		<guid isPermaLink="false">http://raven.phoenyx.net/mutterings/?p=236</guid>
		<description><![CDATA[So my knitting has taken an immediate detour&#8230; I started working on a hat for myself (Eco Alpaca's Charcoal Grey undyed baby alpaca) and it's going well, but Nathan, and Christmas, have side-tracked me. On the way out of Twist a week ago, Nathan (our 9-year-old) saw some bright orange yarn&#8230; orange and blue are [...]]]></description>
			<content:encoded><![CDATA[<p>So my knitting has taken an immediate detour&hellip; I started working on a hat for myself (Eco Alpaca's Charcoal Grey undyed baby alpaca) and it's going well, but Nathan, and Christmas, have side-tracked me.</p>
<p>On the way out of <a href="http://twistyarnshop.com/">Twist</a> a week ago, Nathan (our 9-year-old) saw some bright orange yarn&hellip; orange and blue are his school colors (their mascot is a tiger), and he wanted to make a scarf for a teacher.</p>
<p><a href="http://www.amazon.com/gp/product/0312366612"><img src="http://raven.phoenyx.net/mutterings/wp-content/uploads/2009/12/loomknittingprimer.jpg" alt="Loom Knitting Primer cover" title="Loom Knitting Primer cover" width="193" height="250" class="alignleft size-full wp-image-238" /></a><br />
So last Saturday, we dropped by Twist to knit and I bought him a couple skeins of Cascade wool yarn in bright orange and a darkish blue.  Borrowed the round "hat" weaving looms out of the library and Mona, one of the Twist regulars, taught him how to knit on the loom.  We abandoned that little bit of work and left the looms behind, and Sunday I bought a set of "long" ("double-rake") looms at Michael's, since he wanted to knit a scarf, and the Knifty Knitter double-rakes are set to a smaller gauge than the round "hat" looms, which is more appropriate for the worsted weight yarn he picked.  I also ordered the <em><a href="http://www.amazon.com/gp/product/0312366612">Knitting Loom Primer</a></em> from Amazon Sunday afternoon, and thanks to Amazon Prime's two-day shipping and the book shipping from the Oklahoma warehouse, it arrived yesterday.</p>
<p>So when I got home from work yesterday, Nathan had the book out and had started the scarf by himself.  He wasn't far in and was having trouble with getting the wrapping right, so I helped him set it straight and he knit three rows before deciding to play a board game.  But he enjoyed it, and likes how quickly it goes, and he's making big plans to make all kinds of things and to learn to knit on needles.  I'm just hoping he finishes this project.</p>
<p>While we played the board game, I started a hat with the other skein of yarn that matches his scarf.  There are a lot of neat patterns and techniques in the book (dang, you can purl, increase/decrease, cable knit and even do Fair Isle patterns&hellip; the makers of knitting looms are under-marketing them) and I figured it was a good idea to get ahead of Nathan a bit, so I could help him when he tried something more advanced and had trouble.  And he's more likely to finish his work if he sees me finishing something similar.  So I'm making a hat, and I've got another small Christmas project I want to knock out, so my own hat is on-hold for awhile.  Which is cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://raven.phoenyx.net/mutterings/2009/12/knitting-with-nathan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My son&#8217;s idea of &#8220;what makes a good mystery&#8221;</title>
		<link>http://raven.phoenyx.net/mutterings/2009/12/my-sons-idea-of-what-makes-a-good-mystery/</link>
		<comments>http://raven.phoenyx.net/mutterings/2009/12/my-sons-idea-of-what-makes-a-good-mystery/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 22:10:09 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[storytelling]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://raven.phoenyx.net/mutterings/?p=228</guid>
		<description><![CDATA[My son is nine-years-old and in the gifted class. I'm still kind of embarrassed when I say that, because I don't want to brag, but it's just a matter of life. When I talk about my nine-year-old fourth grader, it helps to understand that he's read The Hobbit, the entire "Series of Unfortunate Events", and [...]]]></description>
			<content:encoded><![CDATA[<p>My son is nine-years-old and in the gifted class.  I'm still kind of embarrassed when I say that, because I don't want to brag, but it's just a matter of life.  When I talk about my nine-year-old fourth grader, it helps to understand that he's read <em>The Hobbit</em>, the entire "Series of Unfortunate Events", and is in the middle of the sixth "Harry Potter" book.</p>
<p>He can explain the Three Act Model and the sequence of rise, climax and denouement, and how conflict is required to build this sequence of dramatic tension and release.  Of course, like any parent, I wonder if he really <strong>understands</strong> it, or just recites what he's been told.</p>
<p>His new gifted class teacher is well-connected to other such teachers in our district, and some of them got together and had their students read the same book, <em>Chasing Vermeer</em>, a mystery.  They then started an inter-school discussion of sorts on a blog set up for the purpose.  The first blog post to which they were to respond asked, "What makes a great mystery?"</p>
<p>Many of the responses were the kind of thing you expect from the upper grade school levels: "One that I can't put down," "One with a great cover," "One that keeps me guessing."  A few were moderately insightful, but few really grabbed hold of something that explains <em>how</em> to write a good mystery.  But here's that proud parent moment, over which you may roll your eyes if you wish&hellip; my son's response:</p>
<blockquote><p>
I think what makes a good mystery is:</p>
<ol>
<li> a key item or number </li>
<li> characters who normally don't like each other work together </li>
<li> no one except main characters know about crime/theif </li>
</ol>
</blockquote>
<p><em>Chasing Vermeer</em> involved numerical clues, so he focused on "number" there, but #1 hit up on the essential MacGuffin.  But #2 is the big one for me&hellip; right there, he defines part of a good mystery as <strong>creating conflict</strong>.  Not just the primary conflict of solving the mystery, but secondary conflict between two main characters who don't get along.  Sure, he was prompted by the content of the book, but he <em>identified</em> this aspect as being important.  I haven't read the book, but I'm guessing that #3 is a source of tension and possibly direct conflict.  The big difference between his response and most of the other responses is that his response addresses <em>concrete</em> elements of story and while the others are much more general.</p>
<p>So I have some confidence&hellip; he is actually understanding something of the theory he's been taught.  Now, I'll grant you, he's been taught a lot more than the usual fourth grader.  They did study rise and climax in class, but he and I have looked at some of his favorite movies and books to identify and understand the story elements at work.</p>
<p>On the other hand, he needs to work on that i-before-e thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://raven.phoenyx.net/mutterings/2009/12/my-sons-idea-of-what-makes-a-good-mystery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

