Wednesday, May 23, 2007

Random Plans

I've officially started my new workout regamin. I was thinking about switching my home workout routine around a bit, making the workout more structured. After a week of mulling it over, I decided to try a new format - compound interest! Every week I'm going to increase the numbers involved by 3% and see how long I can keep up the exercises, but I'm cheating some because I'm starting with an easy 20 of everything: 20 push ups, 20 leg lifts, 20 setups, 20 second handstand, and whatever I can get for curls. This isn't close to a full or balance workout, but I think it will be good enough for an experiment.

What started me thinking about switching my workout was when I learned when I would be going home. I have a little over a month to get in shape for my homecoming. The vacation this time will be for over a week! I want to get my airline reservations finished before the week is out, but it may get put off a bit longer. :-)

I don't have many more random plans to share - I'm heading to WalMart after work to get a CD of some pictures from my camera so I can send them off to a friend. The pictures are of the Cinco de Mayo party... Oooo. I never posted about that. Maybe another day.

One final bit of news to remind my readers that I am a law abiding (cough), honest citizen.
During my last trip to WalMart, I bought StarCraft. I didn't buy it because I wanted to play the game more, but because I have played the *free* versions of the game a lot and I wanted to make restitution.

Tuesday, May 22, 2007

Scuba Diving 101

Ta-Da!

I've completed my first open water dive. My class went to Blue Springs and went
down the into the spring... but I get ahead of myself.

The class met at our lovely diving shop at the dreadful hour of 7:00 AM Sunday morning and I carpooled with another person and we all drove down to the spring together. When we got to the entrance, we stood in line to sign a release that we wouldn't take anything, disturb the environment, dive safely, etc. The park only lets in 35 divers at a time so the spring doesn't get too crowded. Of course, if you are a snorkeler or a swimmer, you can walk straight in. We parked at the entrance to the spring, got suited up, learned how to use an underwater compass, and walked a tenth of a mile to the source of the stream. The walk was the hardest part of the whole trip. We're suited up in 5 mil two-piece wet suits, with all of our equipment and extra
weight, and we walked... and walked... The wet suits are meant to conserve warmth in cold water, not in a warm May day in Florida. Everyone was happy to step into the cold spring water.

We got our masks and flippers on and did our skills testing in a shallow area of the spring, only 6 or 7 feet deep. Then we got to suit up and go into the spring depths!

Diving into the spring was an experience. The opening was 6 feet by 20, looking like a big scar in the ground, and we had to swim down against the spring water coming up to reach our desired depth. We swam facing down, and as we went down, it just kept getting darker and darker. There is NO way I would go down a black cavern with black hidden recesses unless I knew it was safe like this one. As we got near our lower limits for this dive, we could continue to look down into the spring openings and we could see other divers practicing their caving skills. More accurately, I could see the beams from their headlights shining around and moving. My description does the experience little justice, suffice it to say, it was great to watch and also highly tempting to drop a small, loose stone to see I could hit the invisible divers below.

I would have loved to have gone deeper, but 55 feet was the limit for this class. We held onto the side ledges or swam around so we didn't continue our free fall into the depths. When we came up, there were quite a few more divers arriving and snorkelers galore! The water was freezing and I have no idea how the snorkelers handled the cold without wet suits. It was pretty cool to see a snorkeler come down 40 feet into the spring and turn around about face level and wave just as he goes up again. :-) I just read this morning, that the deepest unaided dive record (no snorkel or fins ) was just set at 82 feet. At that point, it would be completely black. Along with contortion, hip hop, and Aikido, deep snorkeling is my new goal!

One unexpected problem was when I had a full wet suit on, snorkeling was very hard. The wet suit is mostly small pockets of air, and it was hard getting down the 15 feet necessary to meet the course snorkeling requirements, but the effort of swimming down was worth it. You could swim really fast towards a catfish, and if you coasted the last foot down or so, I could occasionally touch the catfish before he swam off. While scuba diving, I also saw two big crabs. The shell was probably 8 inches across. He was just sitting on a ledge about 25 feet down, just watching us pass him up and down. The swim back to the cars was pretty neat also. I saw two more big crabs and 3 schools a fish. Two of the schools were in the distance to the side and hard to see, but just seeing a wall of silver flashing was pretty cool. I swam towards a third one and got close and saw all the fish. It was a fun trip.

This Saturday we'll be diving a reef in the ocean. Whoo hoo!

Saturday, May 05, 2007

Cinco de Mayo Party

Today is Cinco De Mayo! The fifth of May is a big celebration of Mexico's victory over Napoleon III's army. American helped out and let any serviceman leave the army if they wanted to help in the Mexico's fight against the French.

Actually, it's only the fourth, but I moved the time ahead on this post so my history lesson would be relevant for the day. Since I've moved the post date ahead, I'll stay in the future and tell you what's happening at 10:00 AM on Cinco De Mayo!

I've just gotten back from pain class. Except for the one week we worked on wrist locks, it hasn't be too painful, but I enjoy using that name for the class. I'm taking a book on scuba diving down to south-east Orlando. I need to read a chapter and turn in homework at my next scuba diving class. So far, I've met my snorkeling requirement, and I've put on the diving equipment and stayed under for over 20 minutes in the deep end of a pool. Very cool. Some lessons I've learned from my class so far: A wet suit is way, way cool, Being able to clear out a facemask full of water, while still under the water is wonderful, and fins are hard to use.

I'm off to visit a friend in another half hour. I've just finished with my post-Aikido shower and will reach the destination by 12:00 hopefully. Her older sister is holding a large Cinco de Mayo party and we're all going to go out to eat at a Mexican restaurant and stay the rest of the day and overnight at their "party house". From McM's description, the house is huge and has all sorts of water equipment - boats, sailboats, skis, canoes... and stuff. I'm looking forward to the visit/party.

Wednesday, May 02, 2007

10/29/05

Here is an old post that was in my "drafts" folder for my blog. I remember this day. I'll add one little detail, every time we've played the arcade at the theater, he has always won. And this day was no exception. :-) I'm proud of you Dad.

--------------
Earlier today, as I went to see Zorro on the big screen, and in the car ride with my dad, I was asking about what work he was doing at the moment and I started thinking of all the years and long hours. There were times that he had to stay up very late and get up very early and when we couldn't help him much during those long hours. I'm sure that comes in all businesses, but I was listening to some music tonight and one of the songs recalled this afternoon with my dad, and I hope that one day I have the courage and patience of Dad to stand up and keep working even though I am weary and the work is tiring.

The lyrics are below... My translation: "I said I would avoid trouble, but sometimes trouble can't be avoided, soI'll stand up and meet it head on without flinching, and I know you understand - I remember what you've said"

"I walk away from trouble when I can.
Now please don’t think I’m weak,
I didn’t turn the other cheek,And papa,
I sure hope you understand:
Sometimes you gotta fight when you’re a man. "

Tuesday, May 01, 2007

IO Language

I have been living this last week in a pleasant fiction: I live in a world populated by regular updates, intelligent conversation, educated topics, and unlimited ice-cream. This pleasant fiction sustained me for a whole day, then I blew the rest of the week in learning a new programming language and researching what makes good language design vs bad language design, pros and cons of programming languages, and compilers for making my own language. You may be saying "Boring!", and in truth I often wonder why I find it so fascinating, but I still keep going back to the internet night after night trying to compile, learn, and educate myself about a language that will probably have no real application in ANY job I have, but leaning an entirely new language is quite informative.

In fact, for the last month, I've been growing frustrated with the rigidity of C++ and was looking for something similar to Squeak without the big footprint. The only languages I had heard about that might be able to help were dolphin (smalltalk variant) and Self. Neither of which are currently freely available for the windows system. My conclusion: develop my own programming language. I've had been making quite good progress until I ran across the IO programming language, and everything I was planning had been implemented and then some!

Warning: The following post will be technical and boring to those un-initiated into the world of computer programming. I also don't hold out much hope if this being interesting to those who are interested in programming.

IO Language: How is it different from C++ and Java? Let's do a quick comparison. C++ and Java are class based languages using function calls as the main process of execution. The IO language is completely different. The closest similarity I've seen is the language Self. (Javascript is also a similar language, but I don't know enough about it to vouch for that). IO is a prototypical, message based language. Everything is an object, and a message is required to do anything. There are no function calls - which makes for a very powerful threading pardigm. Hello world is an example of the language; just keep in mind that this is an interpreted language that a virtual machine translates (like Java).

"Hello World!" println

prints: Hello World!
Wasn't that cool? Let's try a larger, more typical example using obvious procreate a generic object we can use. the clone message create an exact copy

Hat := Object clone // create a "Hat" object
Hat size := 8 // size & 8 are Number classes
Hat refit := method( newSize, // we create a function here
Hat size = 9
)
"Hat size started out at " print
Hat size println

"Hat size after refit is " print
Hat refit
Hat size println

The output:

Hat size started out at 8

Hat size after refit is 9

Remember - even though the code looks like it uses function calls it doesn't. Let's take a look at the last line: Hat size println. Hat is an Object. size is a message sent to Hat which has a result of evaluating the code in the "size" slot which has a final value of the Number object 9. println is a message sent to Number which prints a number on the screen. You may say, "What does it matter? function calls and methods end up do the same thing." Ha. You've never worked with threads in MFC then. :-)

I would have given up on this language except for two breakthroughs. My first breakthrough came around hour six in trying to get IO to do things beyond simple assignments and methods: I managed to get the addons (like OpenGL) working! 3 hours later, I was ready to give up. I really, really, really wanted to be able to do a simple console application. And I found it. I'll post the answer below, but first I just have to explain my genius ( random luck) in figuring it out. I'm looking at the online reference for IO, and I see a core prototype called CLI. It was undocumented and I didn't have the source in the download I had, but no worries! The IO language provides self inspections. I can print ANY io code used/declared in the current object. I'm looking through the various functions and I see about 5 lines of code that composes the main loop to the entire program. Turns out that CLI is the main window! I quickly copied the CLI code and made my own, simple, easy, short console application template that does not depend on any addons! The cumulative effort of 9 solid hours of research and grunt work:

//Do the prototype creation and setup here
stdout := File clone standardOutput
stdin := File clone standardInput
while(true,
write("Your next wish? ")
line := stdin readLine
if(stdin isAtEnd, writeln; Lobby exit)
// Do actions here depending on user's typing
)

My next goal: implement Legends11. Legends11 is an unpublished game that my brother got for me about 10 years ago. It was text based, short (under 4 hours), simple, and fun. I've played it though 5-10 times and I still enjoy playing it.

Hint: doFile("filename.io") is a lifesaver if you decide to try out IO