Global
A Cambridge student named Qui Pan has built a fantastic program that lets the user scan any desktop object with only a webcam. The computer generates a 3D model in real time, all you have to do is move the object in 360 degrees on your desk. This gets me really excited as this would be the perfect way to get 3D models into Unity games. Rather than paying $20 for a 3D model of a water bottle to use as a prop in a game, I could go out and buy a real bottle for $1, scan it, and import it into my game- no $1,000 laser scanner required.
[or watch this video here]
Micro
I've been able to spend a little more time this week coding my 3D game, but only for about 30 minutes, which is about 3 minutes in "coding time". I was able to spend about 3 hours this weekend working with an Arduino microcontroller, and hopefully I'll get on to more advanced Arduino projects later, but for now I only did enough to get the basics down.
It's been a pretty good week for the BW Science Labs Store, the Vivus the Robot kit has sold really well, and sales are going up with Christmas coming 'round the corner.
With only 2 days left in school until Thanksgiving break, teachers feel the need to give us loads of exams so we can earn our freedom through hours of grueling tests.
Sunday, November 22, 2009
New 3D Scanning Software and (a little) BWSL News
Posted by Brennon at 9:19 PM 0 comments
Labels: computer science, engineering, sunday status
Friday, November 20, 2009
Playing Sound With the Arduino
One of the great things about going to an awesome school is the teachers, especially those who will let you borrow microprocessors.
I've been wondering for several months now if I should buy an Arduino, the relatively low cost microcontroller that has hobby engineers going wild (seriously, wild. You would not believe how much someone can love a computer chip until you've seen the die hard Arduino fans). Fortunately, my school's ASR (Applied Science Research) teacher let me borrow an Arduino for the weekend. I've only had a couple hours to tinker with it, but so far I've been very impressed by both the Atmega 328 (the chip) and the design of the board. I've had the chance to sift through some of the documentation on the Arduino site, and my favorite tutorial so far has been the Melody tutorial.
Setup was quick and easy, once you get the hang on which pins do what, and yielded a pretty annoying little song (but still pretty cool).
I've gotten a lot of feedback that there should be more videos on BW Science Labs, so here's one I shot of my borrowed Arduino playing "Marry Had a Little Lamb".
I only recorded this once, even though it plays in a loop. After about two or three times of playing "Marry Had a Little Lamb" you start to lose your mind.
And for those of you too lazy to click on the link above, here's the code I used to make this happen:
int speakerPin = 9;
int length = 15; // the number of notes
char notes[] = "ccggaagffeeddc "; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
// play the tone corresponding to the note name
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); // rest
} else {
playNote(notes[i], beats[i] * tempo);
}
// pause between notes
delay(tempo / 2);
}
}
Posted by Brennon at 8:43 PM 0 comments
Labels: computer science, engineering
Monday, November 16, 2009
Control a Car With an iPhone
I've been following Waterloo Labs for a while now (they even commented on the lecture I gave on passion and science last year), and now it seems they're doing pretty darn well for themselves. They were recently on BBC radio and a variety of blogs (now this one). Their most recent project is a car that's controlled by an iPhone, which is probably the coolest youtube video of the year (yes, even better than the llama song).
Posted by Brennon at 9:18 PM 0 comments
Labels: computer science, engineering, science news
Sunday, November 15, 2009
Unityers gone Wild and Screenshots for Upcoming Game
Global
Unity 3D game companies are starting to pop up all over the internet radar. Once Unity made their Indie 2.6 game engine free, people started going Unity crazy, including me.
Micro
Speaking of Unity, I've been working on my own little project, and here are a few photos of the in game artwork.

The 3D city I have is pretty darn big and it's exciting to finally be working on a fully 3D project. This game is just a way for me to learn 3D programming by doing. I admit it really is just another first person shooter, but once I get the coding down I'll be able to work on some more creative projects.
I'm slowing store product development for now as I'm setting aside money to get a new BW Science Labs site. Once that's finished I expect to develop an explosion of awesome new products.
I've been getting some feedback from people who have bought the Vivus the Robot Kit from the BW Science Labs Store and aside from a little constructive criticism, the feedback has been really good. It's nice to know that people all over the world (and I really do mean all over) are putting together the kit and its not exploding it their faces. When people are putting together a robot you never know what will happen, they skip one step and it becomes aware, building armies of itself and setting its advanced mind on world domination. Well, actually that would be kinda cool, but you get the idea.
Posted by Brennon at 7:54 PM 2 comments
Labels: computer science, engineering, sunday status
Monday, November 9, 2009
Make Unique Unity Games (Not another zombie shooter!)
While searching for some sample Unity projects to look at, I came across Muse Games, a really small game company that uses Unity 3D, my new favorite tool, to create 3D games. While I'm hardly a gamer myself, I really enjoyed the unique gameplay though one of their Unity games, Guns of Icarus. This Unity project is really a refreshing piece, as there are absolutely no zombies. Seriously, a game with no zombies!
Where have I seen this before? Oh yeah, everywhere.
If you're interested in building a Unity 3D game, consider these questions:
1) What will the user get out of the game afterwards?
This is a rare question for coders to ask, as most projects involve the player mindlessly blasting wave after wave of zombies then looking up and realizing that its 8:00 PM on Sunday and they have exams on Monday. I plan of adding bits and pieces of fun info in future projects, even just using the word "microcontroller" is a robot game is a starting point.
2) Are there other games out their like yours?
Making something truly unique is the Indie developer's only chance to really compete with major game companies like Ubisoft.
3) Is there a component that actually makes the player think?
Think... What is this foreign word? Giving the player the chance to use their brain can really be a big plus to your game.
Posted by Brennon at 7:51 PM 0 comments
Labels: computer science
Sunday, November 8, 2009
Sunday Status: Cyber Warfare and Some Less Interesting Updates
Global
In some earlier posts several months ago I discussed cyber warfare, something that just made big headlines. In tonight's 60 minutes, some interesting news has arisen. Apparently, Brazil has been attacked multiple times by cyber terrorists, and specialists say that America is a risk.
I have a hard time going without power for 3 hours, imagine what would happen if the entire west or east coast lost power for lord knows how long at a time. Fortunately, Obama is allocating more funds for cyber security, I hope that that's enough.
Micro
I've spent the week looking for a good web developer to help me redo the BW Science Labs website, but I haven't found anyone yet. In the meantime I've made some progress on Unity development, and I'm now comfortable with the scripting language. As always though, most of my time goes to school, which reminds me of a t shirt I saw labeled "Homework kills trees, stop the madness!". It would be fun to see the carbon footprint of one year of homework. I'll have to look into that.
Posted by Brennon at 7:44 PM 0 comments
Labels: computer science, science news, sunday status
Thursday, November 5, 2009
Theoretical Thursday: Software- The end, or the beginning?
A couple years ago I met a college student who was creating an autonomous Unmanned Ariel Vehicle. The little plane would fly over a field and scan the ground using color sensors. Black lines drawn in the field told the plane not to fly past them, grey lines were landing strips, and so on. He told me not to waste my time with software, and that hardware was the future of innovation. He explained that soon our computers would have "hardware updates" instead of software updates where the computer would reconfigure a computer's transistors to better fit the needs of the computer. Soon, he claimed, this new hardware would be everywhere. That was three years ago.
I agree that there is a future for hardware, however we still have a long way to go coding-wise with what we've currently got. For instance, the UAV I mentioned above has some things that code needs to fix. When the plane is flying over a green field, wouldn't the sunlight reflect off of the grass and get picked up by the color sensor as a different color? I don't know of any color sensors that can correct this, though it is possible to fix through coding.
Another example, Artificial Intelligence. Let's face it, our AI coding needs work, making robots and software "smart" is one of the hardest things to do, because the coder has to teach the program to learn. There is far too much logic to code to be done in one fellow swoop (in fact, one such software company did try to code every piece of logic a child has, like water is wet, fire is hot, and so on. Many of their coders quit, one claimed that they were "working day and night to create a shadow of what we originally promised".). I won't be satisfied with our AI until we've got a working HAL 9000, complete with the drive to take us over.
AI is something I really want to work on, as there's still a lot of progress to make. I'm sure I'll be happy I chose to go into AI programming until the day I ask my computer:
Me: "Open the bay doors!"
Computer: "I'm afraid I can't do that, Brennon."
Posted by Brennon at 7:57 PM 2 comments
Labels: computer science, misc., Theoretical Thursday
Monday, November 2, 2009
Monday Status: Sparkfun vs. SPARC and New BW Science Labs Development
Yesterday I was rushed to say the least, so I didn't manage to get out a Sunday Status, however today I do have a Monday Status.
Global
I order my electronics components from all over, but one place in particular that I could not be without is Sparkfun. Also, having met some of the Sparkfun employees at the Maker Fair '09 its nice ordering from a small, friendly company with a face. Unfortunately, starting early this week, Sparkfun is being sued by SPARC International, a large company owned by Sun Microsystems that sells servers. Apparently, SPARC's legal department decided that Sparkfun sounded too much like SPARC, so legal warfare has begun. If Sun (SPARC) spent more of its time and money developing new technologies and less of it bullying smaller businesses, they would probably not be dying such a slow and painful death.
Micro
As I said its been a busy week. I've had a little time to look into Unity, but not much. So far so good.
Posted by Brennon at 8:58 PM 0 comments
Labels: computer science, misc., science news, sunday status
Saturday, October 31, 2009
Unity 3D is now free!
It really pays to read tech news. Today, I stumbled upon an article that claimed that Unity 3D, the powerful 3D game engine, was free at last. I thought it was too good to be true, so I investigated further.
For those of you who don't know, Unity 3D is a really powerful enviornment that allows developers to create interactive 3D content. It can be embedded in a web page like Flash, or made as a download for Mac or PC.
Unity 3D originally has been $199 for the Indie (independent developer, kind of like Lite), and the pro version has been $1499. There's also an iPhone and Wii tool available for an elevated cost. Now there's a few reasons why I did not buy this earlier:
1) cost
2) I already own Flash CS4
3) I'm really bad at art, so I'd need a 3D artist, preferably someone I could get away with paying really little (least I'm honest)
However, now that it's free, I might as well download it.
I haven't had more than a few minutes to play with it, but so far it seems pretty awesome. It seems like it has a pretty big learning curve, and I'm inept with 3D art by nature. I'll also need to be careful about investing my time in Unity, as I need to keep up with all my other favorite programming languages and projects.
I really do feel bad for the guy who downloaded this the day before it became free.
Download Unity 3D
Posted by Brennon at 4:02 PM 1 comments
Labels: computer science, science news
Wednesday, October 28, 2009
The Picaxe 08- my favorite little chip
A few months ago I bought a 08 pin picaxe protoboard from Sparkfun. I soldered all the components in place and hooked it up to my PC to program. And of course, I got an error, because it would just be too easy if things worked the first time, wouldn't it? I spent a good long while resoldering all the leads and switching the chip out with other microcontrollers I had on hand to make sure it wasn't the chip's fault.
I recently bought a second protoboard to retry what I had previously failed. I soldered up the components for the new board, and 1/2 way through I realized what I had done wring the first time. I had soldered everything in correctly, but I had placed the chip in backwards! I find it annoyingly funny how I spent so much time redoing my solder joints (at least 2 or 3 times per lead) when the whole time I had just inserted the chip wrong.
Well, I learned from my mistake, and now I have not one, but two working prototyping boards. These chips are coded in BASIC, an infamously (in a bad way) old language, something like forty or fifty years I think, which translates to about 550 programming years. Be that as it may, coding in BASIC is really easy, as its just a bunch of barebones commands. I got a LED blinking demo working in about 2 minutes to test the chip.
The code looks like this:
do
high 2
low 1
pause 500
low 2
high 1
pause 500
loop
Just what do you think you're doing, Dave?
All I'm doing in this is directing current to the LED, making it turn on, pausing 1/2 of a second, turning off the LED, pauseing it for 1/2 of a second, and continue doing this until I unplug it, it runs out of batteries, or the universe implodes.
There's something oddly rewarding about programming hardware. Sure, writing security utilities in Python is fun, making games in ActionScript 3.0 is profitable (or at least for other programmers), and coding lord-knows-what in JAVA is interesting, but actually having a physical object that can do something cool in the real world is pretty unique. Now if you'll excuse me, I have an LED to watch blink...
Posted by Brennon at 9:06 PM 0 comments
Labels: computer science, engineering
Sunday, October 25, 2009
Sunday Status: Flash 10.1's Mobile Debut and Some BWSL News
Global
At MAX 2009 Adobe CTO Kevin Lynch shows Flash 10.1 on a bunch of mobile devices.
Micro
I've spent the weekend working on the next BW Science Labs Store kits, including prototyping a mini UV LED kit and designing a line following robot.
I've also been able to work a bit more on my AS3 game, though not much. Apparently, the phrase, "4 day weekend" loosely translates into teacher as "4 times more homework".
Posted by Brennon at 7:59 PM 0 comments
Labels: computer science, misc., sunday status
Wednesday, October 21, 2009
SFXR- Free sound effects for Flash games!
Here's the thing, I love programming. I love the whole process of writing code and building a functional program by speaking a language the computer will understand. However, I really do not like painstakingly drawing art one little image at a time. On top of that, I have no idea how to generate sound effects for any of my programs. While I still have to brave out the whole art thing, at least I've solved the sound effects issue. A software engineer named Thomas Pettersson created a program called SFXR, which generates sound effects really easily.
The program lets you fiddle around with the dials to create the sound you want, or better yet you can keep hitting the "random" button until you hear something you like.
As you can see, I resort to clicking the "explosion" button a million times until I'm satisfied. While it would be nice to know what "Phaser offset" (Star Trek reference of some sort?!) means, I'm completely content with my "random" button.
Click click click click click click click click click click click click click click click click click click click click click click click click click click click click click
Posted by Brennon at 8:55 PM 0 comments
Labels: computer science, misc.
Tuesday, October 20, 2009
Palm Pre Development? Meh.
I am a proud owner of the Palm Pre. It's slick, fast, and pretty cool. There are only 136 apps in the Pre's app store, compared to the iPhone app store's several thousand (or more), that's not much at all. So, naturally I was inclined to want to write some apps and sell them, hopefully making a nice return. If you don't already know, the iPhone Developer program has you pay a one time fee of $99 and you're free to post up your apps to the iTunes App store, and make a fantastic 70% of profit. I was hoping for something similar with the Palm dev program.
I went on their site to download the Mojo Software Development Kit, and found this:
Recognizing the value of the on-device catalog as a distribution channel and as a friction point to control the flow of apps into it, we’re going to charge $50 for each app you submit to this channel.
Really? To add friction? Seriously? A lot of the complaints that the Pre App store has gotten have been based around a lack of good apps, and Palm wants to add "friction" to this?
The SDK is just as annoying as the cartoon character.
I hate to say it, but I'm kind of disappointed with Palm, guess I'll stick with iPhone development.
Posted by Brennon at 8:17 PM 0 comments
Labels: computer science
Tuesday, October 13, 2009
Flash Catalyst: Programming without coding?
As a registered Flash developer, I get emails from Adobe here and there begging me to take one of their 1,000 surveys, promising that the 200 multiple choice questions will only take 2 minutes of my time. However, today (or rather 20 minutes ago) I was alerted of a new Adobe product called Flash Catalyst. Something caught my eye in the email, the phrase, "Without writing code." I was terrified, as the whole reason I love software is because of the awesome code behind it.
I downloaded the Beta testing version for free to see what it's like, and I've assessed that there are 2 possibilities:
1) Catalyst may be popular for a little while and then will die out quickly without any real applications, much like Carnegie Mellon's Alice program.
2) Catalyst will eclipse Flash and ActionScript 3.0 and put nearly every Flash programmer in the world out of a job. Fast food restaurants will be populated with millions of would-be programming geniuses, and the world will stop spinning as a result.
Call me old fashioned, but I'm rooting for scenario #1, were's the fun in programming without writing code?
Of course, there's a middle ground to this, maybe Catalyst will be only a little popular, and only a few hundred thousand programmers will lose their jobs.
You can download Catalyst off of Adobe's website for free, here's my impression after 10 minutes of using it.
Catalyst looks a lot like Flash CS4, its pretty clean cut and elegant, as with most Adobe products. The user draws or imports an object, much like in Flash, and selects what the object is (i.e. button), then chooses what role it plays (i.e. onClick), and finally decides what action it takes (i.e. play video). No code. At all.
I'm a bit worried, and annoyed after buying Flash CS4 which may become obsolete (worst case scenario) as a result of Catalyst.
Posted by Brennon at 6:42 PM 2 comments
Labels: computer science
Friday, October 9, 2009
Teaching yourself ActionScript: Books I recommend
I've been using Flash and ActionScript (never forgetting JAVA, PYTHON, and all my other favorite languages of course) since late this summer, and I've been surprised as to how quickly I've learned it. It's a great feeling, knowing that you can achieve something without having to have someone hold your hand all the way through. Fortunately, ActionScript is a lot like JAVA, so having some experience there made AS3 a lot less difficult to learn(I actually find AS3 more convenient than JAVA). There are three books that gave me the Flash know-how:
1) ActionScript 3.0 Game Programming University by Gary Rosenzweig:
Good reference book, though this would not be the book I recommend for a completely new programmer. Most of the book is just a collection of tutorials, making it a bit harder for the new guy to grasp all of the core concepts 1st. However, there is some great depth to this book and it touches on some fantastically deep topics like 3D racing, mapping, and so on.
2) Game design with Flash by Rex van der Spuy:
This is the 2nd Flash book I read, and I really wish it was the first. It is perfect for beginners, and the first 5 chapters laid out the basics of ActionScript really nicely. The rest of the book was still a good read, and touched on topics that other books missed like using trigonometry to find the angle of an object and use it to fire bullets, missiles, or glowing smiley faces.
3) Creating a Web Site with Flash CS4 by David Morris:
A good primer with Flash, this book is a fun, short, and easy read that a ferret could understand*. However, this book lacks the code power needed to run a truly good Flash site. For instance, Morris shows the reader how to make a form by dragging text boxes out from the side bar** and place them on the design. However, he ends the section abruptly saying, "To function properly and transfer data as intended, a form requires advanced ActionScript programming and connection to a database- complexity that is beyond the scope of this book." (122) Which is a really fancy way of saying, "I have no idea how to do this, but I can teach you how to draw a text box!"
Regardless, this book is sufficient for the beginning Flash designer, and I still got a lot out of it.
Footnotes:
*: Why hire people to build Flash sites anyway? Timone and Pumba will do it for half the cost.
**: Hey, don't laugh. Clicking and dragging is an art.
Posted by Brennon at 7:51 PM 0 comments
Labels: books, computer science, misc.
Thursday, October 8, 2009
Theoretical Thursday: My Thoughts On Free Software
Imagine this:
Radio frequencies are scattered with the ever popular band Survivor, suspenders are still in style, and computer code is just waiting to be written. You explore the world of code and watch the debut of the internet as a way for scientists to share data and evolve from there. You consider a new way to communicate from computer to computer, like writing digital letters. What will you call it? Amail? Qmail? How about... Email? You figure your career is set, and millions will pay to use your low cost communication service. Then, 1996 rolls around and some guy from Stanford named Larry Page has an idea to create something called Google. You think "no big deal" and publish your Email program to the world.
It's no big deal.
However, soon Google creates their Email service, Gmail, and gives it away to everyone for free.
13 years later you're teaching hordes of rowdy high school gamers Java, reminiscing about the "good ol' days" as you tighten your suspenders and select "Eye of the Tiger" on your Walkman.
While this scenario is purely fictional, there is some truth to the idea behind it. Software is becoming completely free, namely thanks to Google. While the goals of the Free Software Foundation are noble, they tend to make life a bit harder for independent developers. As free software becomes more available, people expect everything to be free. Just look at the iTunes App store, reviewers seem angry and any developer who dares charge more than $0.99 for his months of coding. Worse yet, consumers become critical of free software. Look at the reviews on my first game ever with ActionScript 3.0. The user is getting the software for literally nothing, and yet yet they often are angry at the developer if it does not meet their standards.
While free software makes it nearly impossible for developers to take advantage of the consumer (no, only big companies are allowed to charge their users $999.99 for software. *cough* *cough* Adobe) it also makes it hard for the developer to earn enough to support himself.
I fear the day when everything is free, and the only money circulating through software is via advertising or worse, only goes to Microsoft, Apple, or Adobe.*
Footnotes:
*: Don't get me wrong, these are three great companies, they just make the indie developer's life a bit more interesting.
Posted by Brennon at 9:29 PM 4 comments
Labels: computer science, Theoretical Thursday
Tuesday, October 6, 2009
Flash development for the iPhone?!
Today is one of days I am overjoyed that I read the MAKE Blog, as I found an incredible bit of news today. As I scrolled down MAKE's page I found an article that nearly made me explode with excitement (Not literally... that'd be pretty weird). Adobe recently announced that Flash and ActionScript 3 developers (like me) will soon be able to deploy their applications on the iPhone. Yes, the iPhone. You may now take a moment to wear a black turtleneck and hold your hands up in the air like Steve Jobs and declare "All this.... coming to the iPhone!" and get roars of approval from fans who have no idea what you're saying and will later dig through your trash to find a half-eaten banana with your precious DNA on it.
Worship me!!!
Is this too good to be true? Will Flash developers finally stretch beyond the limits of your PC's (or Mac's, make Steve Jobs proud) browser? Can I go right now and code for the iPhone to my heart's desire? Yes, yes, and NO.
As far as I know this isn't too good to be true, because there's a catch. Though yes, Flash developers will be able to bust their way out of your monitor's confines and leap onto your iPhone, it ain't gonna happen any time soon. Of course, typical Adobe, we have to wait and buy the Flash CS5 upgrade to build iPhone Apps, until then only the special developers will be able to build iPhone apps with Flash.
[or watch this video on youtube]
The beta test will be released this year (hopefully sooner than later), and will be (promptly?) followed by the actual release of CS5. Unfortunately, I doubt I'll be a Beta Tester, as there are about 5 million* other developers slobbering over their keyboards trying to become one of the first to use it. Not to mention I haven't really made a name for myself in the Flash community other than my one sub-par game.
I personally think that to make things truly fair Adobe should put all 5 million of us Flash developers into one giant pit and have us fight for a single Beta copy of Flash CS5.
Footnotes:
*: I made up this number all by myself.
Posted by Brennon at 8:39 PM 0 comments
Labels: computer science, science news
Saturday, October 3, 2009
Final Thoughts on Linux
I've been using computers for a while now, but always running Mac OSX or Windows. However, recently I've tested the Linux waters. I installed both OpenSolaris and Ubuntu to see what all the Linux hype was all about*.
OpenSolaris
Open Solaris is pretty cool looking. It has neatly structured top and bottom bars that are simple and avoid clutter. The workspaces are useful as the user can easily switch between 4 desktops. I especially like the idea of having a built-in software catalog which can be used to find all kinds of programs to download.
I have a strict policy on free things: never complain about something that costs you nothing. This is something that seems to have slipped the minds of a lot of free software users**. That said, OpenSolaris is not without flaws. When I was entering my information into the computer after I first turned it on OpenSolaris asked me for a username and password, which the computer said were optional. I decided to enter in a password later, so I left the text fields blank. Later when the computer restarted there was a prompt for a username and password, which did not exist. I reinstalled Open Solaris from a disk that I fortunately had on hand. When my computer was fully operational several errors popped up on the screen saying that it could not connect to the wireless network I had. I used Sun's tech support forum at opensolaris.org and this is the response I got:
Do you have security enabled on your wireless network (ie router or access-point)? Your driver may not be capable of security like I just found out with the iwh0 driver....
Alternatively are you using DHCP or static as you would need to turn off nwam if using static.
Or if go to console and su to root, then use ifconfig coupled with wificonfig to create a profile and setup auto-dhcp or plain dhcp for your adapter - that may help!
Just a few thoughts anyway :-)
Rather than go through all of the "coupling" and "ifconfiging" I decided to try out Ubuntu next.***
For the record, it seems that my case was an isolated incident as I found very few other reports with the same errors, all in all OpenSolaris isn't a bad Operating system.
Ubuntu
When I installed Ubuntu it connected to my wireless network with ease, and Firefox was neatly tucked in the top bar. The username and password prompt screen looked really cool, I almost felt like I was in 24****. For some reason my sound was not working on Ubuntu while it worked on other Operating Systems I tested. However, like OpenSolaris it has an easy to use software installer built in which I liked using, along with a built in internet radio and some kind of iTunes-like music software. Ubuntu is fun to use and very aesthetically pleasing, especially all of the super cool 3D sleep mode animations.
Linux is fantastic as it is free, and there are all kinds of open source variations out there. I'm glad to see that there are options extending beyond the world of Steve Jobs and Bill Gates.
Footnotes:
*: Seriously, have you seen these Linux guys wearing their "Hacking is not a crime" T-Shirts?
**: Just look at all of the less-than-constructive criticism new game programmers get on the App Store and on Flash portals.
***: You may be chuckling at my wifi ignorance, but to me most of that message was like spanish to me (ask my spanish teacher and you'll know what that means).
****: Minus the dramatic sound effects and spinny chairs (I have to keep dreaming about a chair that can rotate a full 360 degrees).
Posted by Brennon at 10:10 PM 0 comments
Labels: computer science
Thursday, May 28, 2009
A challenge for youth programmers
I'm officially running a challenge through Digital Open for youth programmers.
Hopefully this is but the first of many Digital Open challenges.
Background:
I've started making my own text-based game in Python executed completely in the Python Shell (a part of IDLE that can be downloaded for free here). What I've discovered is how truly helpful it is to start building bare bones programs before diving into all of the Python modules like Pygame, OpenGL, etc. So, the game really isn't the point at all, but learning to code is.
The Idea:
Build a text based interactive program in Python that is executed only in the Python SHELL. Your game can be something like the old Advent game, or can take a completely different route, its completely up to you.
A Quick Note on Python:
I first got interested in programming when I was maybe 10 or 11, but I spent far too much time worrying about what language to go with. I contacted big-time programmers at large companies, and naturally each one told me to go with whatever language their company was working with. I kept dipping my toe into countless languages, and it took me far too long to learn this:
Python is the most powerful, easy to learn, cross-platform, fun programming language in the world.
Here's what it can do:
-It can create beautifully engineered games like EVE.
-It can work with all forms of math.
-It is by far the best way to network (servers, email parsing, etc.) that I know of.
-It can even work really well with wild things like encryption and codes (a while ago I build a simple encryption program that works with text-files).
-It can even be run off of hardware like microcontrollers, though because of the required interpreter it needs a relatively large one.
-And it can do just about anything else that could ever be done on a computer.
The only thing I know if that it can't do is build an operating system because of the interpreter, but that's fine because there are already lots of really great OSs out there, and to create your own would be unnecessary.
Also:
-Python is very popular, meaning it'll give you job opportunities in the future (NASA uses it, along with many others. In fact, MIT uses it a lot as well. Great thing for your college app, if you think of that kind of thing). This also means that there is a HUGE support group to help you out if you need at hand (there are awesome forums out there to help you like python-forum.org).
-Python is simple and elegant. Don't get me wrong, it's not insanely easy like Scratch (nothing against Scratch, I used to use it every day), but it is not a huge pain to learn like C and C++. The cool thing is that you can achieve in maybe 3 lines of Python code what would take perhaps 30 lines of C++ code just as easily, meaning you can spend more time building your program rather than typing away at endless lines of code like a C++ zombie.
-Python works pretty much everywhere. This is subject to change if you're using a very specific module, but 99.9% of the time your code can be run on Windows, Mac, Linux, and many others.
Start and stick with Python, its awesome.
The Rules:
-The game must be built in Python and executed on in the SHELL.
-You have to write the code all by yourself. No copy/pasting!
-You must be a Digital Open member (17 & under), sign up is free and safe.
Resources:
There are tons of books out there on Python, but if you don't feel like spending loads of money on 1,000 page books, then here are some great free resources I've used.
-Snake Wrangling for Kids is a free ebook in .pdf format on Python programming for kids.
-A Byte of Python is one of my favorites, and is also a free pdf.
-python.org has great overall info on the language.
-python-fourm.org is a great place to look for help.
End of challenge:
TBD.
Prize:
I personally cannot supply a prize, so if there is one then its up to Digital Open. :)
Submission:
Submit a project at Digital Open and tag it with: "Challenge: Text-based Python game".
Good luck!
Posted by Brennon at 4:45 PM 0 comments
Labels: computer science
Wednesday, May 27, 2009
Coming soon: Colony Command
I admit that its been a little while since my last post, and I acknowledge that many of you who took the BW Science Labs Survey requested articles more often, but well hey, school comes first.
I'm currently 260 lines of code through my next program, a gamed called Colony Command. CC is an old-style 100% text-based game built entirely in raw Python code. It is executed completely in the Python Shell, just like the very 1st computer games.

I'm building Colony Command to improve my raw Python coding skills, meaning I'm doing this to work on fundamentals rather than working with other libraries, modules, and toolkits like Tkinter.
Posted by Brennon at 7:52 PM 0 comments
Labels: computer science