August 30, 2009

Destruction of Wood Playgrounds

I remember the joy I had running climbing and of course falling all over the large wood playground at the first house that my family lived in as a child. It was a huge structure, covering easily a hundred square feet and must have reached thirty feet high at the tops of some of the spires. I loved the ability to explore and climb anywhere I could, and a game of tag was filled with intense ducking and running through holes or quickly climbing to the next platform to escape. Even the smaller simpler wood playground at the second house had plenty of potential with climbing and swinging. However if you look around, these places are vanishing at an alarming rate! Where are the colossal playgrounds of old, I can't even find a picture of the one I played on as a kid!





Now everywhere you look you have cheap tiny plastic structures! While kids will find way to play on anything, these lame (safe?) replacements lack the creativity and imagination of true wood playgrounds that pushed the imaginations of past generations. Look below vs. above and just try to argue otherwise!




I can understand the desire to protect kids now a days, however there is no reason to protect them to the point that there is almost nothing left. Kids need to play and fall and hurt them selves, it is called growing and learning. My parents did it, I did it and if I have kids some day I want them to have the same chance to grow and play. (Hm, could this a source of the obvious lack of common sense in this upcoming generation...) Still ignoring the danger of gravity you still get the whole arsenic levels in wood debate, though it is a naturally occurring substance. (Via Wikipedia)"In addition to the inorganic forms mentioned above, arsenic also occurs in various organic forms in the environment. [15]" However, what I can not understand is why completely destroy what could be considered national treasures, when they could easily plan to slowly replace the "supposedly dangerous" pressure treated wood materials with newer recycled alternatives. Lets face it, plastic is not all that healthy either, but that is a debate that is going to rage on for some time. So school and town administrators, instead lets agree to compromise, if you are planing on removing a playground for what ever reason, you better at least replace it with an equal or better structure! Otherwise you have officially neglected each and every kid that will play on it.

August 14, 2009

Jyetech oscilloscope DIY KIT

A while back on gizmodo they had this oscilloscope kit for $33 from SeedStudio, which I had planed to purchase and try my hand at putting together for a while now. If it worked, although simple, it would work well for the basic circuit projects I occasionally work on. Also it may allow me to finally use the coin and dollar bill collector I have laying around. Oh, and if your are not sure what an oscilloscope is or why you would want one, click here



So after two weeks of shipping from Hong Kong it arrived and I got to work. First off I had to break down and buy some thin solder (0.32), as the thick kind (if you know me you have probably seen it) I am used to using for everything just would not cut it this time. Looking back I probably should have gone with an even thinner diameter and also grabbed some liquid flux as well, as there where a few places that the solder just refused to stick to easily. However the hardest part of the whole project was the tiny components. It was almost frightning how small most of the resistors and capacitors where when I opened the kit, and there are a lot of them to solder in very small places very close together. Going slow it took over nine hours to get everything connected and working, but was worth it in the end. Check out the picture below to see what I am talking about!



When everything was in place on the back of the board I plugged it in and checked the voltage and everything looked okay, but it was slightly unnerving as there was no way to completely tell if it would work when the panel was connected. Luckily after finishing the front side and adding the covers, I powered it up and low and behold the boot loader showed up and started graphing. Then after playing with it for a while I was satisfied that I had connected everything correctly and it was functional.

The image below is what the finished back may look like, however my kit was slightly different in that it had a few changed parts. I must confess that my connections where less nice and more painful spiky, but for my first big SMD soldering job I think I did quite well.




You can grab your own kit from SeedStudio in do it all yourself ($33), do only a little of it ($36), or already done ($49) flavors. Also I highly recommend looking at this site for more detailed pictures. I know I would have been in worse shape with out them. My final advice, you should to go with the SMD exempt kit for 3 dollar more unless you really want bragging rights. ^_^ as it quickly gets very annoying for several hours.

August 10, 2009

HTML 5 Canvas

I was almost giddy when I discovered the canvas tag to be included in HTML 5. With this javascript joins the ranks of C, JAVA and VB in the fact that I can quickly and easily draw straight to the window with a few basic APIs. So to have a little fun and to keep my javascript knowledge fresh, I sat down over the last few days and read up on the canvas APIs and played around a little.

(NOTE: IE does not work with canvas by default, use another newer browser!)

First off I started with the basic balls bouncing around program that I did in every other language that can draw. You can check it out here and see the code here.

I had to do a little research on classes in javascript, and while not exactly perfect, they do work as expected. After getting the bouncing shape test working I moved on to make a simple platform game. The hard thing with javascript is that it is slower and far more processor hungry then even java, so I had to be somewhat careful of sloppy waste, however I did not put too much effort into it as this was nothing more then a way to try out the canvas with javascript. You can see the result here and the code here.

All in all I am excited to see javascript starting to show signs of maturing into a really powerful and useful scripting language.

If interested, you can also read more on the canvas tag here.

August 4, 2009

JamBot

A while ago I was introduced to the online web game Jam Legend, so I checked out the site. The premiss is the same as any of the music games, you hit the notes as the move on the screen. I played for a while, then got bored and forgot about it till this week. However, after playing it again, and getting bored again, I decided to create my own challenge and finally check out the Robot class in java to see if I could create a program that could play it for me.

The Robot class is a java package that is designed to aid in computer automation. You can have it look at the current screen object and then move the mouse or hit keys. The big challenge for me was getting the bot to be able to recognize what was happening on screen. Like any robotics programing it is easy to say that it will look here and do something, but actually making it happen is quite a bit more challenging. To start off JamBot requires you to drag the transparent window over the game, this sets up a view port for the bot to look at a few different locations, namely in and just above the five note zones. The challenge with this is that when playing not only do the note locations change when you need to hit a key, it also changes the background colors as your multiplier increases. In order to adjust for this, the easiest way is to check the color percent of the note color for that spot, vs just seeing if the color has changed. If you look at the included code, the values have been adjusted to what I though worked best, but you may have better luck with some further adjustments. The next step was to also have the bot look just above the note zone to see if there is a hold note active. Then if a color match is found, instead of unlocking the key, it waits for the hold to finish. After figuring out all this, and a few hours later, I had a working bot, just for the insane tap difficulty which would get around a 90% on most songs. Is it perfect, NO, however it looks and act like a normal person playing with normal skill would.

Now if I was interested in further development I would look into adding separate Robot objects for the different notes, I think this will improve accuracy and timing, by using different threads for each zone. Right now the bot is missing notes due to the main loop not being fast enough to either see the note coming or hit it before it is out of range. I am reasonably sure that a more streamed lined threaded setup will fix this. Also it is missing the ability to select different difficulty setting, and needs an included feature for strum. All which would not be too hard to add, but I will leave that up to some one else, as I have other projects to start.

Quick Instructions for Use
[Only works for Insane Tap]
1. Open JamLegend and get to the point that you can hit play to start the song.
2. Start JamBot and drag window till the lines and circles line up on screen.
3. Click the Setup Button and then drag the window to the side.
4. Once out of the browser window click start.
5. Start your song and watch as it plays its self.

As usual I have uploaded the compiled class (MAC) and the java source code for anyone to develop further, however please credit me if you do. Download Here and enjoy.