Happy Pi Day

Today is the day where we celebrate all the digits that make up Pi, even the numbers we have yet to discover.

My only question is, why do we celebrate the entire day? That is not granularity for me. Using the rest of the decimals after the initial 3.14, has anyone sat down and calculated the exact second that we should be celebrating on that day? Millisecond? Microsecond? Nanosecond? When can we know what picosecond it is?

Enjoy the day everyone (or picosecond if you wish).

Brawls to the Wall

So just as I was getting to the blogging groove, I picked up Super Smash Brothers Brawl. I will try to make sure that the game doesn’t take up too much of my blogging time. But I am fearing the worst is yet to come. On the plus side, I have unlocked Snake! All I need is Sonic and I will, more or less, be at peace with the game.

I will say this: the game is very fun. I have been playing it since around 3pm PST 2008-03-09 and I am not bored with it (yet…).

Celldoku - The J2ME Sudoku Experience

Today’s post is going to be about my independent senior project at Loyola Marymount, Celldoku. I graduated in May of 2006, however only got around to uploading it into Sourcefoge a few weeks ago. I did plan on continuing development on it, however that plan was put on the back burner when I decided that I would go the iPhone route when ever/if-ever they release a 3G version of the phone. Those plans went back onto the front burner when the rumor mill on the interwebs said that Sun is planning on porting a Java runtime environment to the iPhone (thanks to the recent announcement of the SDK). However I may end up recreating the project as a native iPhone application. We will see.

Celldoku is a Java 2 Micro Edition implementation of a basic Sudoku game. There are 4 different difficulties to choose from. Due to the extremely complicated nature of generating a valid Sudoku game, I did not even attempt to implement that aspect of it. The cell phone I was using at the time was far to slow for it to be a plausible route to pursue. Instead I have four static boards preloaded into the game, one for each difficulty. However, thanks to the idea of Caskey Dickson, one of the brightest people I’ve met, and educator in the computer science department of Loyola Marymount, I was able to implement a series of transformations that make it seem like you are playing a different Sudoku each time (for instance, moving rows around, but restrict it only to the 3x3 sub-grid which that row is in. Then do the same with columns. Inverting the board and moving entire 3x3 sub-grids around). Also by changing numbers around (for instance, all 4s become 3, all 3s become 7s, etc) you also get a feeling of randomization.

A solution I had to this problem was setting up a web server that would serve up Sudoku games to my Celldoku in a form it knows. That way if the user ever gets bored of the current board, a new game board could be downloaded from my web server and cached locally on the phone. That way not only do you get a board that has been randomized, but you can get a totally different starting board as well. Caching can be used if the user had no cell phone service, to still give quite the randomized experience during play as then the boards would be pulled from the local cache of boards. Alas, I never got around to implementing that for the final version turned in for class credit. That is on the list of things to do.

Now here is what sucks about it. Everything about that game is pretty much hard coded. If you have one of the original Motorola Razr V3 phones, then the game will operate, more or less, flawlessly. The screen dimensions are hard coded, as is the cursor movement. Although I would have loved to get all that code cleaned up prior to releasing it, I just never got around to it.

Future plans for the game include a dynamically built board to allow for play, as well as maximum enjoyment, on all types of different sizes of screens. I wanted to give the user the ability to put in numbers on the sides of boxes, much like how a typical user plays a Sudoku with a pencil and paper. The game gets extremely hard to play if the user cannot take notes. And don’t forget, the ability to contact my web server for more boards.

The project was built using WTK 2.2 from Sun, Eclipse and the EclipseME plug in. Using the tutorial on EclipseME’s site, there should be no problem getting everything setup and configured correctly. Then just build the JAR/JAD files and deploy to the device. Please contact me if you have any questions regarding this game.

I guess it might be a good idea to provide an actual link, just to be sure:

Edit 2
I have decided to start hosting my projects on Google Code. And as such, I have moved all source files there. The current SourceForge version has been orphaned and will not be updated.

The First [Official] Blog Post

So welcome to the first real installment of my blog entries. As noted on other blogs, many blogs rarely get past the first post… maybe even up to the second. Well here I am on my third post on my blog and I haven’t even begun to get started, so I hope that is a good sign. My name is Mike Megally and this is my blog. I graduated from Loyola Marymount University with a Bachelors of Science in Computer Science. I am a terrible speller and have terrible grammar, so do not be too surprised when/if things like that show up.

The entire point of this thing was to try to convince me to work on my software projects in my own time. If I believe others are keeping track of my progress on whatever I am working on, it may give me just enough “umph” to continue working on things. Of course I will be posting links to download the whatever-it-is I am working on. I will be using this blog as a general blog about things. Well, that is the hope. Taking bets on how long this blog will last.

There are still a few things I want to finalize on this blog, so expect things to be changing a bit. A few of these ideas I have is figuring out a good syntax highlighter for code posted in a blog, as well as a method of distribution of code. I kind of don’t want to link a zip file with source and binary, however I feel a bit uncomfortable opening up my Subversion repository to the public with read only access. We’ll see. Also I didn’t want to use SourceForge since I do, in fact, use my personal Subversion repository for development and if anything would like to share my previous histories with whoever wants. Also to be very honest I have yet to sit down and read the licensing terms of SourceForge.

My inspiration for this blog is thanks to the Klooningames blog over at www.klooningames.com. I don’t think I would have ever come up with this development blog if it wasn’t for that blog, and for that I am thankful. I just hope that I have enough willpower to continue with this blog.

Broken Templates

So I went back to the basic template that Wordpress defaults to since the other template I was using is pretty broken. Also this template (at least) is pretty full featured. The other template I was using would require way too much modification to even get to the point this template is at. I will, however, try to copy the color scheme the other site was using since I am a big fan of that at least. With the color scheme of the other template and this template’s full features, I think it will come out pretty good. Now the question is where do I find the time?

So I decided to go with another premade theme that I liked. Now lets see if this one behaves better than the other one I was using

Edit 2
More likely than not, you will be seeing the theme changing until I find one I am happy with.