Archive for September, 2008

Another Week Finished

Friday, September 26th, 2008

So, I finished up the week with another hike up the Reservoir, we started at around 3:00 PM, it was bright, sunny and hot. We went past the second reservoir to the first “fire pit” and had lunch. We then continued going towards Limbah Loop as the clouds rolled in and dusk settled. It was absolutely gorgeous. On our way down, we once again saw a huge number of crows cawing and heading to roost in the mountains for the night. It was eerily beautiful.

We also saw a bunch of ducks in the reservior (six in total). Slowly swimming around and feeding. There’s so much wildlife so close to the city, it’s really amazing.

Well, I once again run into my classic problem when it comes to academics, I have too many things I want to do :(. So far I’m thinking my possible thesis topics are thus:

  • Computer Enhanced Autodidactic learning systems. That is, using the computer to teach subjects (language, natural science, physics, programming, mathematics) in an autodidactic manner. Possible ways of doing this would be to create a eToys equivalent for python (related to this previous blog post) or enhance something like mnemosyne for broader use. Another option would be to study the effects of using a tool in mnemosyne in a learning environment (freshmen in college).
  • Static Type Analysis/Contracts for Python. Adding contracts or static type analysis to Python would be useful, but I don’t think it’s really unique enough for a master’s thesis. JITs for Python kinda fall into the same thing, I could do a project/thesis on it, maybe I should send some feelers out to the PyPy community?
  • Something involving Bayesian Inference — perhaps this could be used in one of the other ones…Can’t really think of something *specific* to do with this.
  • Genetic algorithms/programming use to solve physical engineering problems. This interests me a lot at the moment, I want to make a genetic algorithm to solve a Fantastic Contraption type game. I also think it’d be cool to have a genetic algorithm design fuselages (and wings) for aircraft…perhaps UAV project? (It may also be interesting to try to generate designs for “real” mechanical for something like reprap if I can figure out a good way to constrain it to manufacturable designs.)

eToys for python

Tuesday, September 23rd, 2008

What would be really cool would be a framework similar to eToys for python.

I’m thinking the basic user interface would be a open field, with icons at the top for file -> open,save,quit and add -> shape,picture,etc. It’d start out being similar to MS Paint or another drawing tool, possibly with handles around the objects like eToys, and then you could add actions to objects.

Actions would be methods that were dynamically added to the objects. Objects would have standard properties such as speed, heading, x and y, etc. Code could possibly generated by dragging and dropping tiles, it would be nice to be able to convert from code back to tiles or just have the tiles drop “snippets” into the method.

Of course, code for classes and initialization of the worlds current state should be generated and saved (probably should look to see how pythoscope does this.) You could also save the world as a pickle, but I think being able to open the code in a text editor would be a good way to introduce more traditional ways of coding.

One of the goals would be as simple as possible, so no built in network capability, should be portable (runnable off of thumb drive, distributable as an egg or py2exe zip file). Interoperate with other tools (GIMP, animations, text editors.)

RPG Site idea

Friday, September 19th, 2008

One the biggest things with running an RPG, at least from the GM’s perspective, is getting ideas and source material. This usually comes in the form of books that list abilities, attributes, character flaws, political makeup of worlds, and items.

My thought is to create an open content hybrid voting site/wiki for RPG content. So it would kinda work like Stack Overflow in that you submit items/content and the community rates them. It could use something like the JAGS 2 gaming system and be under a creative commons share-alike. (They would also be editable by members of the community, like a wiki.)

So basically there would be forms to submit items, abilities, etc. Tags could be used to categorize them into the correct worlds themes, and then the top rated content could be periodically play tested, possibly using some automated tests as well (create a bunch of random characters and have them fight….) The user created content for items and abilities would, of course, be linked to a character sheet generator for JAGS 2 or whatever gaming system we choose to implement.

It may be interesting to attempt to publish a “best of” book occasionally after all the items/user content has been aggregated.

It should also have an interactive lobby type thing for people to play games online, in addition to doing it table top.

Amazon mechanical turk might be usable to jumpstart plot hooks, items, settings, finding duplicates, etc.

Studying Anything

Thursday, September 18th, 2008

I’ve been thinking recently about the basic path taken when learning a new subject or skill. It appears to me that generally learning something new follows these basic steps:

Context

To learn something new, a context to place the new knowledge has to exist. Generally this context first has to be developed through hands on experience, but in more advanced subjects can be previous academic experience.

Introduction

The new subject is introduced within the existing context. The learner can create a general model of the knowledge, using the existing context as a base.

Reinforcement

Repetitive drills or actions are used to reinforce the new knowledge. This “sets” the memory in the learners mind, be it a fact, or muscle memory.

Currently, based on this post, I believe that lack of context is the primary reason why there is such a great difference in the apparant aptittude of students entering computer science. I am going to try to develop a hands on activity to give context to “how machines work” and algorithmic thinking, focusing on variable assignment, and then sequential processing. Might make a nice master’s thesis :)

Drawing from last night

Sunday, September 14th, 2008

Here’s another drawing I did quickly last night.

Drawing

Sunday, September 14th, 2008

Fist

Well, it seems my drawing has improved over the past view days, behold!

Latest Drawing

Saturday, September 6th, 2008

First drawing for blog

Here’s the latest drawing I’ve done on the picture plane, I’ll post these occasionally to show my progress.

Drawing 1

Thursday, September 4th, 2008

So I did a still life of the laptop infront of the couch. The laptop cord was really interesting to draw, and the perpective was interesting, too.

The hardest part was keeping my left hand steady so that I could draw properly. I’m going to do some drawings of my left hand (just like the exercises in Drawing On the Right Side of the Brain), that should be a bit easier.

It was  a lot of fun to see the perspective and “shut off my left brain” while drawing, definitely a great way to unwind.

Drawing For Fun And Profit

Wednesday, September 3rd, 2008

I spent a few minutes this evening drawing some quick portraits and still-lifes on a transparent picture plane. The transparent picture plane is just a clear picture frame I purchase from Hobby Lobby for about $7.

It’s a lot of a fun and really relaxing, and really quick to do! I’m planning on doing at least one quick sketch on this transparent picture plane every day. When I have time, I’d also like to regularly do a modified-contour drawing of my hand. That’s a lot of fun to do as well, I also recently finished an Inkscape picture that I’ll post a bit later. Shading highlights is a lot of fun.