Rob Ergenbright's Journey Through Programming EducationPosts RSS Comments RSS

Run, Spot, run!

Playing with vectors can be fun!


Once I figure out how to draw and make actual interesting things move with vectors, they will be more fun.  For now, playing with spots and vectors is fairly entertaining, though.  I’ve experimented with all the functions of Vectors, from addition to normalization, and come up with fun little things like this (sorry no motion – that’s the fun part):

Tree with movers movers coming at tree

That’s a series of 500 “Movers” attacking a recursive tree.  I can’t wait to figure out how to make objects interact – i.e. change the tree’s form when touched by a mover.  I’ve played around with a couple variations of how I thought this could work, but with no avail.  More research.


I have my idea for my semester project and this interaction is integral to the success of my ecosystem (as well as drawing things besides trees and simple shapes).  I haven’t yet copyrighted my intellectual property there, so I’ll refrain on divulging too much until a later post.  If all goes well, though, it should certainly be entertaining.


I attempted to get the android aspect of processing working, but haven’t yet succeeded there, either.  My ecosystem would not only be very cool on an android device when done, but it would certainly be nice to be able to show off my work when completed anywhere.  I’ll get that one figured out soon.


Oh – also – painful realization this week that my home computer (hand-me-down from work) has no 3D graphics card.  that will certainly have to be remedied this week.


Only week 2….

Comments Off on Run, Spot, run!

Week 1 – 3.0

Welcome to the third installment of my adventure in programming education!

Week one has come and gone fairly smoothly, albeit not without hiccups.


Too often in my life, the quote “leave well-enough alone” pops into my head and rings true for certain experiences.  Such was so this past week.  Before we had our first class, I was proactive and downloaded all the software for Eclipse, our book, The Nature of Code, and Processing on my home machine.  Well, it turned out that I had downloaded a different version of Eclipse than was recommended.  So, I removed that version (which seemed to be working just fine) and replaced it with the recommended version.


All did not go well.


Certain files in the .zip file of this new version were password protected and I wasn’t able to use them, so I got error messages every time I opened the program.  Also in this version, I couldn’t get the core.jar file added to the build path correctly so nothing worked.  I downloaded this new version on another machine and had the same issue.  After fooling with this for a bit, I just decided to remove that version and re-install the previous version that worked so well in the beginning.


All is well again.



There seem to be a couple issues with transposing code directly from the Processing examples in NOC to Eclipse:

(sorry for the fuzziness here, but it right now that’s just how things are – fuzzy)

Processing-to-Eclipse issues

Two errors occured from Processing to Eclipse

This class performed perfectly from the Processing console and produced this:Random Walker Big Steps  (My random walker taking really big steps.)


I played around with all of the examples from the intro to NOC.  Playing with the noise program in class was pretty cool – changing colors of the pixels, etc.  I wish I could remember how Dr. Brown did that.

Everything I’ve tried here at home just doesn’t work and still gives me boring black and white noise:

Noise 2D

I suppose we’ll be really learning how to manipulate this stuff very soon.  I can’t wait to get into the nitty-gritty of this course.  From what Dr. Brown has described, it should be very awesome.  I don’t want to get my hopes too high, but I’m very excited about the semester project of creating our own ecosystem.  I had a great time in 1110 doing something similar using Alice.  It will be very cool to learn the behind-the-scenes workings of that program (or something close to it).


Dr. Brown has talked a big game concerning this class and I’m excited.  I feel fortunate to have him to challenge me in such unique ways, from his comic in 1110, to his robot-text-book in 1510, and now with this semester-long project based class.


Oh, also I reviewed the blogs from last semester’s 1510 class and I am sad to say that if I was in a hiring postion and that was my pool, I would not be my first choice, nor my second.  Possibly my third.  Thus, I have challenged myself this semester to put forth extra effort here to better impress myself.  Hope it works!


My first instinct here at the end of this posting is to say, “Best of luck to us all in this class”.  But I remember another quote that now pops in my head often as well:  “Luck is preparation meeting opportunity.”


There is no doubt that opportunity will arise.  Let’s go get preparred.

Comments Off on Week 1 – 3.0

Always ironing

My wife sucks at ironing.  Forgive me for keeping this short, but she may appear at any moment.  She’s always sucked at ironing, so I end up doing it all.  I don’t mind it so much; it’s one of those tasks that takes just enough brain activity to remove you from other, more stressful thoughts.  But it does get monotonous.

I find myself constantly ironing with this course, as well – only I’m ironing out bugs instead of physical wrinkles.  This can prove somewhat monotonous as well.  I think I’ve got everything sorted out, but then another little wrinkle comes up that simply won’t lie down.  It almost always seems it’s something that has already been gone over, making it that much more frustrating and harder to remove.

My blog is due tonight, so here I am.  The assignment may not be completed till the morning, provided I figure it all out.  Back to work; wish me luck.

Comments Off on Always ironing

I got this

I sure hope everything I did on this week’s assignment is right, because I feel pretty confident about my work.  I’m not 100% confident about how it will work with other programs, but we’ll just have to see.  The methods in my new FinchController class all work as expected.

Creating this new class inheriting from the existing Finch class has proven easier than last week’s assignment.  I guess because the only real difference this week is that we had to add the words ‘extends Finch’ to the class definition. (I know that there’s more going on than just adding a couple words but, in effect, that’s what we did.)

One thing I am still confused on though:  when to use an interface.  The whole concept still eludes me somehow.  I’ll have to study it a little more to see when and how it is necessary to use this tool.

Back to this week’s assignment, though:   I set up the accelerometer methods to reflect changes in acceleration like we talked about briefly on Wednesday.  I hope this will be acceptable.  I haven’t seen any posts from anyone else about MoveChange vs. AccelerationChange.  I guess I’ll find out soon enough.

Nervous about the next exam.  I feel very confident about what we’re doing now, and that scares me.  I know I’m not doing everything right, but I’m not sure about what I’m doing wrong… I guess I’m not so much worried about the exam, but worried about really understanding the concepts behind what we’re doing.  I want to use all the skills we’re learning in the workplace eventually, and I want to be sure I really know what’s going on before I get to that point.  In my current career, I’m the go-to person for what I do.  My goal is to be that person in a new role, so I want to know this all inside-and-out.  Thank you, Dr. Brown, for making me think.

Comments Off on I got this

I’m not Jewish, but OY VEY!

What a week!  I have a 2-year-old son who has come down with: Double ear infection, 20 hours of 104+ fever, tonsilitis, and fluid build-up behind his eardrum.  And my wife is sick. And I am sick.

Yes, this is an excuse, albeit all true.  I haven’t been able to dedicate the time I should to this week’s assignment.  I *think* I totally understand the concept of classes – at least it all made sense in class on Wednesday.  This week’s assignment shouldn’t be that difficult to complete, given what we’ve done in the past; time is my only enemy.

All I can say is, “Thank you, Dr. Brown for making this assignment due Tuesday instead of Sunday.”  Hopefully we will have the .wav file issue figured out tomorrow; my son would go crazy if this little robot started sounding like a ‘moo cow’.  Some laughter from him now would be a welcome departure.

Three quotes find their way to my mind this week:

““The point is, you see,” said Ford, “that there is no point in driving yourself mad trying to stop yourself going mad. You might just as well give in and save your sanity for later.” ” -Douglas Adams

“No live organism can continue for long to exist sanely under conditions of absolute reality.”  – Shirley Jackson

and finally…

“When you get to the end of your rope. Tie a knot and hang on.” – Franklin Roosevelt

Thank  you, Mr. Roosevelt; I’ll sure try.

Comments Off on I’m not Jewish, but OY VEY!


This has been by far the coolest week for me in this class.  We’re now designing programs that actually look like programs!  Playing with the Finch in Netbeans has been fun and entertaining, but it’s very cool to see a program work outside of the Netbeans console and use the JOptionPane API.  Figuring out how the different methods need to work and how they need to work together has really been fun.  I love a good problem to solve.  This week’s assignment was kind-of like a good book I couldn’t put down until it was done.

I’m anxious to use what else we’ve learned so far to create databases and access them using the JOptionPane API and different methods to yield different results.  I may be starting to sound like a broken record, but again I am realizing the practical applications of what we are doing.  Every week seems to open a door to the under-workings of programming we see every day.  Now I look at windows popping up within programs everywhere and understand the process by which it got there.  Very cool.

After writing somewhere around 200 lines of code for this week’s assignment, I have gained more appreciation for those who code programs like the POS system we use at work, etc.  I understand somewhat how these programs work now, and am confident I could do something of a similar nature not too much further down the road.  The code behind those programs must be monstrous.  Seems a fun challenge to me.

My goal with studying programming is to use these skills for business solutions with programs like Sharepoint.  Java is intriguing and I know it is the stepping-stone to other languages, but I’m anxious to see how it can help with that.  I’m sure there is correlation; I just have to find it and find how to apply it.

Comments Off on Progress


That’s the sound of the light bulb coming on this week.  This week’s concentration was arrays, but really what really sunk in for me was the importance of the ‘for’ loop and how it can be used to make things so much easier.  In the previous weeks, the ‘for’ loop confounded me.  I didn’t really understand when you would need a ‘counting loop.’  Now I see.  I’m sure there are many more uses for this loop, but loading and working with arrays has really helped me put together this helpful tool.

Arrays really make sense to me.  What’s cool about this section is that I can start to really see the practical application of what we’ve been learning.  Searching through address books or other data files is done millions of time every day, and now I have an understanding of the basic blocks forming those databases.  It feels like I’m on the threshold of something huge.

Along with the ‘for’ loop clicking, I’ve really learned this week to appreciate the usefulness of flowcharts.  Spending 30 minutes working out a flowchart certainly saves time when writing out the code.  It changes the blank screen from an empty canvas to paint-by-numbers.

Very cool week for me.  I really enjoyed working out the assignments.  It will be interesting to see how Dr. Brown builds the assignments as opposed to how I put them together.


Comments Off on *click*

Got it down, mostly.

So I’ve got this week’s assignments mostly done correctly, I believe (I know my confidence is overwhelming).  What I can’t seem to figure out, though, is how to get a freakin’ picture to actually show up in my blog post.  I did this over and over in CSIT1110, which is why this is extra-frustrating.

So I can’t show you, but my Finch has terrible vision.  The program for obstacle avoidance works well, but only if it only needs to avoid large sheets of paper placed in front of it.  My dark wood furniture is all but invisible, and my cat has been run over multiple times (no, she willnotmove for this silly thing coming at her!).  You’d think the flashing lights and tones would move her, but no such luck.

I altered my altered menu again and it works like a dream.  The code looks much more efficient now, too.  Something I need to work on, I’ve learned, is not to over-complicate things.  I wasted many an hour trying to figure out why things weren’t working, when all I had to do was delete about half of what I had done.

My Finch Theremin is fun to play with, albeit a little disapointing.  My light levels where I can conduct my homework are not the best, and I think (I hope) this is causing some sort-of strange activity with the tones / sensors.  It works as expected, up until my hand gets about 4 inches away from the finch, then it skips up a couple octaves reverses ‘polarity’, getting higher as I get closer instead of getting lower.  Hmmm.  I’ll try this again in the lab and will hope for better results.

Till next week.  Wish me luck on the test!



Comments Off on Got it down, mostly.

It’s a little bit funny…

In talking with a fellow classmate, I realize just how differently people think.  This guy, for instance, loves a flow chart.  If a program seems complicated to him, he wites up the flow chart and it makes sense.  I, on the other hand, struggle with the flow chart.  Funny.

For example:  On this weeks first program assignment, I spent probably a good 30 minutes writing out a flow chart.  I did it four times and still it didn’t seem correct.  Eventually, I just wrote out the program and it worked.  I then wrote out the flow chart based on the program.

I’m afraid this may be my demise, though.  Dr. Brown says getting down the flow chart is one of the most important concepts to grasp, and that worries me a little.  For the second program this week, I just jumped right in.  It all looks good to me so far, but after selecting a menu option, the program does nothing or skips straight to the default line.  My Switch statements look just like the ones I wrote down in my notes, so I’m not sure where it’s going wrong – yet.  I’m sure it will just require a little more research…. or perhaps Netbeans has thrown me another curveball.  No telling how much time I spent trying to get the string to be read correctly on last week’s assignment….

Very excited about turning my Finch into a musical instrument next week.  I have a bit of an idea about how the code will work, but we’ll just have to see.

Comments Off on It’s a little bit funny…


So far, I’ve written two of the assigned programs for our homework this week.  This has led me to a bit of a realization: Programming languages are, in fact, languages.  Learning how to communicate with the computer reminds me of learning the French language years ago.  Foreign.

When something comes together and works, though, the sense of achievement is almost overwhelming.  I ran my first Finch program (the one that changes beak color) 7 times after I got it right.  Sure, all it did was change colors – but I did that.

The second homework assignment has proven more challenging.  I have it completed, but am having trouble getting the Finch to say more than one word of the String that the program reads in.  This will require a little more research on the Scan method I think.

Flow charts have become easier to me since last week.  Like an outline for a speech or paper, they help spell things out before you get too involved with the code.

I hopefully will have assignment #2 figured out before the end of the night,and am anxious about the next assignments.  Certainly looking to having them done and moving on to next week!

Comments Off on Epiphany

Next »