Tuesday, September 30, 2014

Community Architecture Report - Duality

What is it?


Helpful Links:

Duality is a 2d Open Source modular game engine.  The engine provides a visual editor, is highly extensible, and is written in C# and backed by OpenGL.  If you'd be interested in developing 2d games with an engine like this check Duality out here: http://duality.adamslair.net/

The project aims to create a fully functioning, highly adaptable, efficient open source game engine for game developers to use.

Brief History

Development on Duality (according to the website) was started in 2011.  The actual first GitHub commit was July 21, 2013.  The most recent GitHub commit was authored about 4 hours ago from the moment that this sentence was written.

Who Approves Patches?

Despite the high amount of commits and changes submitted to Duality, actual patches do not go through until they are approved by the single entity known as "Adamslair" - aka all patches must be approved by 1 person.

Who Has Commit Access?

Although people can freely submit commits, only 3 people have had their patches accepted.  These people are: 

Who has the Knowledge?

Overwhelmingly, the knowledge and information for this project is stored inside the mind of Adamslair the primary developer.  The 2 contributors listed above BraveSirAndrew and fireDude90 also likely have some unique knowledge on the project.

Calloway Coefficient of Fail?

The Coefficient of Fail that we calculated using this test: http://hfoss-fossrit.rhcloud.com/static/books/tomspotcallaway-howtotellifyourfossprojectisdoomedtofail.pdf was a 265...being that this is above 135, this would be described as "So much fail, your code should have its own reality TV show."

Turnover in Core Team?

Short answer - no.  The core team is basically 1 man.  He is the lead developer, contributor, and basically complete creator of this project.  Overtime it is nice to see that the other 2 contributors mentioned above managed to patch 4 commits to the engine, but no real changes to this 1 man team.

BDFL?

Adamslair is indefinitely the benevolent dictator for life, of this project.

Front End Back End Work?

Essentially all work done both front end and back end is done by Adam.  Aside from Adam, fireDude90 implemented a feature affecting both the front and back end of the program, and contributor BraveSirAndrew worked on the front end with his 3 commits.  BraveSirAndrew also fixed a couple of bugs.

Bugs?

Unfortunately, because of the infinitesimally small development team, this project has encountered many bugs.  Most of these bugs look like they fall in the genre of improving things by making them more efficient.  The head developer also appears to want people to just use his engine more.  All bug fixes must go through Adam.  Adam also is in charge of quality control and appears quite hesitant to accept any contribution, unless it meets all of his standards.

Trending Project Participation?

Although actual outside contribution to the project is very low, the project has been forked 56 times and has 233 stars.  This implies that the project is actually very trending and people see a lot of potential in it.  The game engine itself appears very polished and far into the development process which probably accounts for why people like it so much.  Not to mention the fact that the main developer Adam constantly works to update the project.

Raptor Test?

This project would be doomed if the BDFL Adam were eaten by a Velociraptor for numerous reasons.  In this project, basically all of the knowledge both unique and not, is held by Adam.  Also, Adam is currently the only person who oversees the project in terms of accepting bug fixes and patches and knowing the requirements to really get a patch through.  If Adam were eaten by a Velociraptor, the game engine could probably still prosper because it seems far in development, but it's likely that evolution of the project would completely halt.

Git by a Bus?

Being that the lead development team consists of one BDFL and 2 minor contributors, it is very likely that the project would not survive if this collection of people was hit by a bus.

Onboarding?

Luckily, there is an official onboarding process for this project.  The lead developer is very responsive to anyone who contacts him, and he seems eager to have people contribute to his project.  The project also has its own wiki and readme file to introduce people to the project.  Having said that, the project seems pretty complex so it may take some time to really get involved in it.

Documentation?

Documentation for this project is limited.  Most of the documentation is about how the game engine can be used as opposed to how people can modify and adapt the source of the engine.  There is a wiki and a website for the game engine and people are encouraged to contact Adam for any questions.  A lot of bugs and issues are documented well, so there are things to work on.  There are not many code examples.

Contact

If I ever found myself needing any kind of information on this project of any kind, I would contact Adamslair - http://forum.adamslair.net/ via his forums, or on GitHub.

Structure and Opinion

Based on all of the above, I would say the structure of this development community is based around a single ruler in the entity that is "Adamslair".  This is a monarchical structure and all decision making is done by Adam.  Personally, I think this is not a very ideal architecture for an Open Source project, as although Adam appears to be opening up his project for others to contribute, I don't think he does a great job providing them with enough up front information to get started, and it appears to be pretty difficult to get a patch through to the core project.  I can see reasons for making an architecture like this for example, if it is an architecture built around a very personal project that one would show great pride and possession in, but I don't think I would like to work on a project like this.  I think the biggest problem I would have working in this type of structure would be that I would feel that I would be putting in a lot of work for no reason because it is unlikely my contributions would actually make it through to the core - that's if I even managed to fix one of the many complex bugs.


Sunday, September 28, 2014

Weekly Blog 5

Well, this was a pretty eventful week for me!  As I said in my last weekly blog post, there was a lot for me to "look forward" to doing, and I was absolutely right.  I worked like crazy to get all of my work done.  It was almost like my teachers had their work buttons turned off until this week, when they apparently decided to crank them full blast.

One of the black holes that sucked up all of my time this week was a video art project that I had to complete by Thursday.  The purpose of the assignment was to use what we learned in class so far to create some kind of video art piece that "disrupts the medium".  For my project, I created a split-screen video that displays one side of the screen as a first person view of someone walking forward, while the other half of the screen shows the behind view.  This project took me an enormous amount of time because I had to experiment with manipulating 2 iPhone cameras around various spots on campus to get some footage that I liked.  I wanted to challenge how viewers perceive the world and show them that they do not take the time to admire what is around them, as they are always looking ahead.

The other project that I had to work on was a board game that I had been producing in a team for my Game Design class.  Specifically, I had to create a highly visual one page design document for our game.  This took me a long time because I had to fit a ton of information on one page.  While I worked on this, I also programmed a space shooter project for my Rich Media class.  Lastly, I worked on a team proposal for my Open Source Software class.  You can read about that in my previous blog posts though.

Although I did a lot of work this week, it definitely felt great to accomplish so much.  The other nice thing about all of this is I can finally slow down and relax now that all of the hard work is out of the way.  As for this coming week, I can "look forward" to performing a community analysis and giving a presentation on the "Duality" open source game engine.  I also get to start programming a digital game for my Game Design game.  I'd say I'm super excited, but really I'm only moderately excited :)

Thursday, September 25, 2014

Team Proposal

List your other team members below:

Nicholas Gallagher - npg3253@rit.edu - Handle: MrNex
Josh Davis - jad2828@gmail.com - Handle: Dtendr

Which Project did your team choose?

My team chose to work on a project called "Duality" (https://github.com/AdamsLair/duality) .

2-liner description of the project?

"Duality" is a "2d Game Development Framework" which appears to be very similar to a game engine.  Specifically, it reminds me of "Unity" (http://unity3d.com/) .

"Duality" is programmed in C# and implements OPENTK (http://www.opentk.com/) which wraps OpenGL, OpenCL, and OpenAL.

What will each team member's role be?

Team roles will be determined.

Source Code Repository URL?


List your upstream Mentor's below:

Adam from "AdamsLair" - adam@adamslair.net

Other mentor's from Github include: fireDude90 - fireDude90@gmail.com
and BraveSirAndrew - andrew@batcatgames.com

How will you communicate with them?

Adam prefers to be contacted via his forums here: http://forum.adamslair.net/
The others we will contact via Email and IRC if possible.

The Easy Parts

  • Judging by his contribution, the main developer Adam seems extremely invested in this project, and he has done a good job organizing everything, especially information about current issues.
  • My teammate and I already know each other and live together, so communication between us should be very easy.
  • Being that my teammate and I have both programmed extensively in C#, we should be pretty familiar with the programming used in this project.

The Hard Parts

  • We will have to juggle a lot of other work on top of this project.
  • The fact that this is a game engine implies that it is very complex.
  • We don't know how picky or trusting the main developer is about his project, so he may be reluctant to how we want to change things.

How will you overcome both?

Overcoming obstacles will involve communication within our team, but also with the contributors.  It will also require a lot of diving into the code.  Lastly, I think we will need a positive attitude and some good structure and organization.

Milestones:
  1. Familiarize ourselves with the code, contact Adam or contributors with specific questions
  2. Address exactly what we want to work on to narrow down and be more specific
  3. Make sure that what we want to work on is worth the time and effort
  4. Actually start working on the issues - this will likely be a different process entirely
  5. Get some commits up
  6. Continue conversation to make sure everything is coordinated
  7. Eventually finalize what we have done
  8. Testing changes
  9. Reflect? Maybe?
  10. Profit.

Bug Fix

Although I have had to fix numerous bugs in my own projects, this past week for the first time I got the "pleasure" of squashing a bug that was not of my own creation.  This experience had terrible moments, enjoyable moments, and moments of fear.  I say "fear" because I was afraid I would not be able to find a bug to squash in a week.  Despite the mixed feelings involved in this experience, it was nice to feel like I helped contribute to a project being developed by an active team of people.

I began my search for a bug to fix on the homepage of Github - https://github.com/ .  Unfortunately, I immediately did not have luck finding an easy bug to fix.  I thought it would be cool to look for 3d Modeling projects to work on, but quickly realized that most of projects involved 3d printing, which I did not really feel like diving into.  I thought maybe my luck would increase if I searched for projects in languages I had a lot of experience with, so I searched for projects in Java.  Unfortunately, I found that the bulk of these projects were in the field of Android development, which I really don't know much about.  I checked out this project here: https://github.com/CovertJaguar/Railcraft/issues because I thought it might be cool to work with a Minecraft mod, but I could not find a bug that I was confident that I could fix.

Finally, I consulted my good friend MrNex (blog here: http://nexleveldevelopment.wordpress.com/) who told me that he found a lot of issues in a project called SIPp on GitHub.  What was great about this project, was that the developers labeled which bug fixes were good for beginners.  SIPp is an open source project developed to help users test their SIPp systems.  Here's some specific information about the project if you're interested:
As you can see through the issue link, someone asked for help getting started on a bug fix and no one responded to them.  This implies that the contributors are not going to waste time helping someone with such a vague question, but luckily, the readily available information on the issue was more than enough for me to attempt to fix the bug.  In fact, I did not really need to contact the community until I sent the commit saying I tried to fix the bug. 

All in all, to fix this specific bug, I had to reference a commit that someone else had made to their local fork of the project, and implement it into the main original SIPp.  This really was not very difficult and required that I copy, paste, and adapt about 36 lines of code.  The fix was used to "Implement a better log when receiving an unexpected response but expecting a request."

Once I finally contacted my friend and found a suitable project to work on, this experience really became about 100 times easier.  The major difficulty was in initially finding a project to work on, and then finding a bug in that project to squash - but I guess that could just be because I am a picky programmer :P

Sunday, September 21, 2014

RocPy!

This passed Tuesday I got to attend a RocPy group meeting at the University of Rochester with my Humanitarian Free and Open Source Software class.  The meetup took place from about 7-9pm and details on the group can be found here: http://www.rocpy.org/

The meetup was extremely fun and equally as informative.  There were several lightning talks given by members of the group.  I found these presentations to be interesting because I am not a big user of Python, but I got to see what Python can be used for.  I learned how helpful Python can be as a programming language and I also learned how many different ways Python can be used.  I was also shown some ways in which Python can be used in a similar fashion to other programming languages such as Java or C.

I did find it difficult to comprehend some of the topics discussed in the meetup because I really don't have any knowledge using Python, but it was interesting to get a glimpse of how the members of the group utilize Python.  A lot of the meetup involved discussing new topics in the Python realm.  I found these new features to be cool, and I like to see how programming languages evolve over time.

One thing that I found especially intriguing was the hacks and tricks that some members of the group showcased in lightning talks.  For example, one member showed how he was diving into Markov Chains: http://en.wikipedia.org/wiki/Markov_chain through programming.  He then showed how the Markov Chains worked with his blog WuPotus which is an awesome Tumblr that mashes up speeches by Barack Obama and Wu Tang Clan lyrics.  Check out WuPotus here: http://wupotus.tumblr.com/ .  I found this to be hilarious, but on a more serious security side, another member of the group showed how to hack websites on Git using an exploit he found involving (I think) the .git folder.

In terms of recommendations for getting more people involved in the club, I found the more humorous or more hacking related projects to be the most interesting.  I found that the group really does not appeal heavily to people who don't have any interest in Python programming, but for people who are interested in getting involved in the Python community, the group is fairly appealing.  I enjoyed the lightning talks, but I agreed with what one participant said in that it would be cool to have work sessions where members can come to work on their projects and get help on problems they are having.  I think this would really strengthen the community and help out a lot of people.

All in all, I thoroughly enjoyed the RocPy meetup, and although I don't know how interested I would be in getting involved in the Python User Groups, the experience definitely made me want to get more involved in groups that focus on programming languages that I do make heavy use of.

Weekly Blog 4

This 4th week was pretty good!  I got a lot of work done.  As for exactly what I worked on this week:

  • I programmed an audio visualizer in html5 with Javascript.
  • I learned about using vectors, homogeneous coordinates, and quaternions in C++.
  • I went to a RocPy meetup which you can read about in my next blog post.
  • I helped finalize a board game that centers around launching folded papers with rubber bands.

Unfortunately, along with getting a lot of big projects done, I was also assigned a lot of work this week.  Here are some things I have to "look forward" to next week:
  • I have to create a C++ program that converts vectors, homogeneous coordinates, and quaternions.
  • I have to create a highly visual design document for the board game mentioned above.
  • I have to write an essay on a piece I would create in the realm of Video Art.
  • I have to perform a bug fix on an open source project and then describe the experience.

In other news, I was extremely happy that I got to drive home for the weekend and see my family.  My uncle is visiting from California and my sister came home from college.  I was delighted to see everyone.  Unfortunately, I am not delighted to have to drive the 6 hours back to Rochester tomorrow.

Despite the hard work I fear I am going to have to put in this week, I am looking forward to getting a lot done.  I hope I can continue to do well and hopefully have a great semester!

Sunday, September 14, 2014

Microsoft Coding Competition

This past Wednesday 9/10 Microsoft hosted a Coding Competition at Rochester Institute of Technology.  There were 2 prizes at stake: a $100 gift card for first place, and a tablet decided by raffle.  My friend and I jumped at the idea of winning a prize and getting to test our programming skills, so we enrolled about a week before the competition.

I had never really spoken to anyone about programming contests before so I honestly had no idea what to expect.  I joined hoping that we would not have to present anything or have our code looked over.  I remember reading the email which said something along the lines of "Think your the best coder here?  Here's your chance to prove it!".  Admittedly, this made the competition sound very difficult, and I definitely did not join thinking I was "the best coder" at RIT.  I mainly joined because it sounded like a friendly, no pressure competition, and I hadn't gotten a chance to really test my coding skills in awhile, so I looked at this as a way to refresh and test my skills.  Also, I would be lying if I said my friend didn't completely pressure me into doing it.

The competition kicked off at about 7pm in the Xerox auditorium on campus and there was a little over 100 people there.  For those of you who aren't really interested in a technical overview of what a Microsoft Coding Competition is like, just skip this paragraph.  Basically, my friend and I entered the auditorium and snagged a seat in the back next to a power outlet.  There was free pizza and soda that I more than helped myself too.  I had to text my roommate and ask him to run a notebook over to me because I thought we could benefit from being able to write any complex programming ideas down physically.  Once everyone was settled in at about 7, the workers from Microsoft introduced themselves and told us how the competition was going to work.  Everyone in the room had to join the coding competition's website via a Microsoft Live account.  On the website, we were presented with 6 problems that gave us some background on a topic, and then asked us to write a program to accomplish a specific task based on the topic.  Each problem was worth either 1, 2, or 3 points based on difficulty, and upon solving a problem, our team would be awarded the corresponding points.  To complete a problem, I would have to select a "compete" tab on the website where I would be given an input text file.  I would copy the contents of the text file and paste the input into my program.  I would then copy the output from my program back into a textbox region on the website and submit my answer.  If my program was able to produce the correct output, my team would be awarded the points.

Personally, I thought the problems were all quite challenging.  The highest valued 3 point problem involved using binary trees and searching using in-order and post-order traversal.  I actually remembered learning about the topics for this 3 point question in my classes, but I recognized that the problem was extremely difficult, so I suggested that my friend and I deal with it later.  The problem my friend worked on dealt with taking some text or word as an input, creating a word search puzzle with the input text, and then having the program solve the word search from top left to bottom right.  The program then had to replace the chosen path with periods, so others could see the way through the puzzle.  The problem I worked on was a palindrome problem where input was given in the form of sentences.  My program was then supposed to find all palindromes in the text and return only the longest palindromes in each line.  If there was no palindrome, my program would return a blank line.

At the end of the competition, our team "Nex Level Development" came in 16th place with 2 points.  I think I speak for both of us when I say we were very happy to be visible on the score board throughout the whole competition.  We actually did better than the majority of the other competitors.  Unfortunately, I was not able to get my problem completed, but my friend/teammate did complete his 2 point question, which was awesome!

Overall, even though we did not win first place, and neither of us won the raffle for a tablet, I think I speak for both of us when I say we were glad to have participated.  I got to program in Java, which I hadn't done in years!  I also got a great mind workout in by doing some difficult problem solving and programming.  I had a ton of fun competing with my friend and I think we'll definitely be keeping our eyes out for other coding events like this in the future!

P.S. If you're interested in the palindrome problem that I had the pleasure of trying to tackle, here is a source I found extremely helpful:  "Manacher's Algorithm" http://leetcode.com/2011/11/longest-palindromic-substring-part-ii.html

Weekly Blog 3

This 3rd week was actually quite eventful!  I didn't have to worry about much homework and one of my classes even got changed to an "at home reading day".  I did manage to make a lot of progress on my longer term projects.

Mainly what I worked on this week was my Rich Media homework project.  The assignment was to develop an interactive drawing application in html5 and javascript.  It wasn't very difficult but it was time consuming.  I enjoyed modifying the code after I finished the base project to add more features to the program for bonus points.  I also learned a lot about video game physics in my Data Structures and Algorithms class.  Lastly, I helped my group progress in our creation of a board game for my Game Design class, and I got away from all of my Game classes by learning about Video Art in my Special Topics in Fine Arts class.

Aside from my work on class projects, my friend Nick and I attended a Coding Competition run by Microsoft, but I'll save the bulk of that for my next blog post.

In my Open Source Software course, I finished reading some articles and I learned a lot about what Open Source developers do and how the Open Source process works.  One of the resources I read regarding the "Open Source Way" can be found here: http://opensource.com/open-source-way.  I even took a quiz on these readings, which can be found if you look down at my last blog post!

I am enjoying my classes so far, and I really look forward to our Open Source Class field trip to the RocPy event at U of R: http://www.rocpy.org/ on Tuesday!

Hope to see you there!

Thursday, September 11, 2014

TOSW Quiz

In Chapter 3 of Stephen Weber's The Success of Open Source, there was a listing of eight "General Principles" contained within the chapter.  Last week, we discussed in class the five pillars of "The Open Source Way."


1. What are the titles of each Pillar?


1. Open Exchange - This pillar states that we are able to learn much more when information is freely and openly available, and that this is crucial to establishing an environment for people to learn and build on existing ideas.

2. Participation - This pillar states that when we are able to work with each other freely and voluntarily, we can create more, and with enough collaboration, even the biggest problems can be solved

3. Rapid Prototyping - This pillar states that by constantly releasing what we have, we can test the product and find and solve problems faster.

4. Meritocracy - This pillar states that it is important for the best ideas to prevail, that way the best work is pushed to production.

5. Community - This pillar states that by building a community, we can maximize our ability to create because a large group can quickly accomplish things that an individual never would be able to.


2. What are the titles of each General Principle?


1. Make it interesting and make sure it happens - contributors must express their ideas in a way that makes others want to get involved.

2. Scratch an itch - contributors will work on something to make it better for themselves or to adapt something.

3. Minimize how many times you have to reinvent the wheel - contributors will work on something to minimize how many times the same process must be done.

4. Solve problems through parallel work processes whenever possible - Multiple contributors working on different problems simultaneously greatly increases how quickly work can get done.

5. Leverage the law of large numbers - Contributors use their large numbers to accomplish great feats.

6. Document what you do - Contributors will document their work for others to understand and look back on.

7. Release early and release often - Contributors will release what they have as soon as possible to test and fix bugs quickly.

8. Talk a lot - Conversation allows contributors to efficiently collaborate and understand the direction of a project.


3. What are the similarities between Weber's eight principles, and the five pillars?


   Weber's eight principles and the five pillars go hand in hand.  They are very similar and touch on a lot of the same points.  The eight principles discuss what people need to do when involved in the creation of open source software, and the pillars explain what good can come if people follow the principles and create open source software the correct way.  For example, the principles "Solving problems through parallel work processes" and "Releasing early and often" both support the pillar of "Rapid Prototyping".  By constantly working parallel with others and by always releasing work, the software can be rapidly tested to find and fix problems.  Similarly, the principles "Document what you do" and "Talk a lot" support the pillar of "Community" in that by documenting and discussing what you do, you help build a positive efficient community.  By talking a lot and by "scratching an itch", people also support the pillar of "Participation" by participating in working on the project.  These are just some examples of how each of the principles support each of the pillars, and how they touch on very similar aspects of open source software.


4. What are the differences?


   The main differences between the eight principles and the five pillars are in what each set actually is.  The eight principles explain what people involved in open source projects ideally do, and the pillars represent the Open Source Way.  Essentially, the principles explain what contributors are doing to the open source projects and why they are working on the projects, but the pillars describe what good comes out of open source projects and what the aspects of open source are.  Where the principles are about the people working on open source software, the pillars are about the process and what open source software achieves in establishing.


5. Bonus: Who's "keen analysis" did Weber "Draw Heavily" upon?"


Weber "Drew Heavily" upon the "keen analysis" of the open source process by Eric Raymond.


6. Double-Bonus: What was the title of this "keen analysis." (Hint: Weber hinted at the title when he was talking about Cathedrals earlier in the chapter.)


The title of this "keen analysis" is "The Cathedral and the Bazaar".


7. Triple-Bonus: Where can this keen analysis be found? (Answer in URL form, i.e. http://placeofkeenanalysisis.com/analysis)


This "keen analysis can be found here: http://www.catb.org/esr/writings/cathedral-bazaar/




Tuesday, September 9, 2014

Literature Review 1

Author: Steve Weber

Title: What is Open Source?


When: 2004

The Gist:
   Chapter 3 of the book "The Success of Open Source" focuses on explaining what open source is, how it functions, and how it is organized.  It highlights problems within software development and shows how Open Source is a great way to fix and minimize these problems.  This chapter also demonstrates how successful Open Source can be over commercial software development, and portrays Open Source projects as constantly evolving, self building systems.

The Good:
   I thought the author did a great job explaining how Open Source projects function, and how arguments are settled within contributor communities.  I also found it interesting to see the extreme diversity among the developers within Open Source communities, and how the author brings up the point that the studies show that most developers are contributing on their own free time.  Lastly, I was impressed to learn how Open Source software so successfully almost builds itself, in the sense that people latch onto projects and constantly work on issues in a parallel fashion.

The Bad:
   I thought this chapter was a bit too wordy in spots.  I thought the middle section portrayed more data than was necessary.  I would have liked the author to clarify more about the different licensing within Open Source.

The Questions:
   -How exactly could someone profit from Open Source Software, especially as the initial developer?
   -What are some statistics on how many machines run Open Source Operating Systems and apps?
   -We've seen highlighted ways in which Open Source trumps commercial software development, but what areas does it severely fall short?

My Review:
   In general, I found this reading to be surprisingly interesting.  I noticed myself feeling very intrigued by how Open Source Software seems to be a way that I could put up an idea and some code, and watch it evolve and build itself into something that I probably never would have been able to produce otherwise.  It was also interesting to see how ordered an Open Source project can be despite sounding very chaotic.  The article itself was quite long and wordy, but conveyed a lot of information.

Rating: 7/10

Sunday, September 7, 2014

Weekly Blog 2

Second week of classes complete.  It was nice having off for Labor Day, and it made this week go by much faster.  I got a chance to work on a lot of cool projects this week, as well as complete work for my classes.

I programmed some simple introductory html5 canvas applications for my Rich Media and Web Application Development class.  Hopefully I will be able to incorporate some of my knowledge from programming these apps into making some cool things for the open source community.  I also learned a lot about game and graphics physics in my Data Structures and Algorithms 2 Class, which I hope to incorporate in some games in the future.  Lastly, I was able to read through most of a required article for my Open Source class - hopefully this will help prepare me for my class on Tuesday.

This past weekend, my roommate and I were going to do a friendly little game jam to create and open source Java game, but I was having trouble finding a version of Eclipse that would run on my computer.  By the time I found a suitable version, it was late and we decided to postpone our game jam for another day.  Along with this game jam, my roommate and I signed up to do a Microsoft coding competition this Wednesday, and we hope that we can incorporate some aspect of Open Source Software into this event to add to the community.  Hopefully we will even be able to snag some extra credit points in Humanitarian Free and Open Source Software class!

I'm not sure what this third week holds in store for me, but I hope it is fun!  I think this Coding event will be cool, and I hope I can get a lot of work done in my classes.  I just purchased THIS touchscreen monitor, so I want to start getting creative and artistic with my programs and games :)