Romney is Out

Romney is done. McCain stomped him on Super Tuesday. The conservatives loved him but most of America wants a more moderate president for a change. They accuse McCain of flip-flopping on complex social issues but give Romney a pass for changing his moral values just to get elected. McCain has consistantly stuck with his beliefs even if it could cost him his job. He has compromised to try to get things done but he's never compromised anything he believed in.

The biggest issue the conservatives have is illegal immigration. McCain has always supported doing something with the people already here and securing the border. At the time people just wanted something done. So, as any smart person would do, he went to Ted Kennedy to make sure that any plan they came up with would be agreed on by both sides. The conservatives can not just expect to force their will on the other side. Fixing the border will take time so the focus was on dealing with the people already here illegally.

Now, the focus is on securing the border. It's not a flop, it's a refocus. But, the conservatives don't buy it. They think McCain is looking to have an open door policy. Not because of anything he's said but because of who supports him. That's ridiculous. We need to work with Mexico. We want to have them help us stop the bleeding and in exchange we work with the people who got through. The far right wants to seal the border and ship out the illegals. Never going to happen.

We need to seal the border, cut off financial incentives for illegals and work with those who are productive members of our society. And I think McCain is the guy to work with both sides to find the best possible compromise that improves the situation and can actually get passed by both houses.

A few people have threatened to vote democrat if McCain got the nomination. Romney made it clear that would be a terrible idea. He may not agree with McCain on everything but he refocused on the importance of national security. No democrat candidate is willing to deal with the serious problem the world faces with Islamic terrorism. Maybe McCain isn't going to do what the far right wants with illegal immigration. Maybe he's not going to be best when it comes to the economy but if we want a better world, McCain is better than any democrat.


The new server has now been running for a couple days. It's significantly faster than the old setup. This means that I can finally start using my server for more advanced things. One of the big ones of course is Bunnies. The C# version of Bunnies is coming along nicely. You can now shoot beachballs and take out the bunnies. I think the next thing to add is lighting. Also missing is text rendering. The final thing to add to the C# version is Winsock so that it can download map information from the Bunnies server. Once that's done I think I'll be ready to launch everything.

If you're looking for C# tutorials in the Real Time Software Rendering section, they aren't there yet. That's pretty much last on my list of things to do. I have C# Bunnies in Subversion so I can progressively check out revisions and write tutorials. It's very similar to the Java code.

I should probably also write a tutorial on how I use Winsock. A lot of people try to write UDP classes that end up being slower than TCP. They think it's faster than TCP only because they don't know how to properly use TCP.

Almost Done

I finally figured out the issue with the HD Controller. Most modern motherboards support "cable select" for hard drives. Not so with my RC-208 card. The drives had to be explicity set as Master and Slave. I'm now in the process of copying all the web files back. I also got the boot order going. I guess the Intel MB gives priority to the IDE controller even if the SATA drive was installed first by itself. A quick change in the BIOS cleared that up.

Hopefully with everything installed correctly and with freshly formatted drives I'll see a nice improvment in performance.

Less Fun Than It Should Be

My new server was sort of working. I think the combination of aging harddrives and a flaky Rosewill HD controller are the biggest source of my issues. I'm in the process of backing up everything to the new SATA HD which will make sure everything is safe.

Once that's done, I'll start formatting drives and pushing the data back onto them one at a time.

One of the problems I've found with my new Intel MB is that it insists on booting from the IDE drive if one is connected. I'm sure there's some way to change that but I havn't figured it out yet. One would think you wouldn't have to figure it out. It should just work.

Hopefully everything will be up and running within a couple hours.

Bunnies has Bunnies

I didn't realize how similar Java and C# were until I started cutting and pasting code from Java Bunnies into C# Bunnies. Most of the changes have to do with just cleaning up the code. I had some pretty ugly code keeping the bunnies from colliding with walls.

Even with bunnies running around now it's still running at about 50fps. There's still quite a bit to do though. There's no text rendering yet, the bunnies don't multiply, and you can't shoot them. There are also no title screens. Oh yes, and there's no lighting yet.

I think I'll definitly be sticking with C# for Bunnies in the future. One of these days I'll be getting around to putting up C# tutorials in the Software Rendering section. I just need to figure out what revisions of C# Bunnies apply to what lessons.

Some Down Time

Some sites in the Dawn of the Geeks family will be down tomorrow as the new server is put live. Instead of a PIII 933Mhz and a PIII 533Mhz system I'll now have one 1.6Ghz Dual Core Pentium system with 1GB of Ram and about 5 HDs. I just need to pull the drives from the old systems and put them into the new system and configure the server programs. Mainly Apache and MySQL.

The total cost for the new system came it at under $300. I was going to buy a prebuilt Dell but that would have cost closer to $400 and limited my ability to upgrade the system. So now I have an Intel processor with an Intel Motherboard which should last for several years. Because it's a Socket 775 I can upgrade the process for quite awhile. So as Dual Core chips drop in price I'll be able to make the system faster for not a lot of money. I also switched to a Western Digital SATA harddrive for the OS/Backup drive. The whole system is virtually silent. Of course, it will probably get a lot nosier once 4 Seagate drives are added to the system.

We Have Textures!

There is a slight change to how C# reads in the tile file. Also, unlike the Java version, the misc resources have their own texture handler instance. This greatly simplifies things. Most likely when this is up to speed with the Java version, I'll have two downloads for the resource definition files where needed.

So far the only change is to the tile.txt file which defines the characters in the map files that represent the tile files. In Java the texture number is explicit while in C# it takes care of that. Also, in Java the misc textures are in the tile.txt file which is why the numbers are explicit. In C# the misc textures have their own handler and as such, their own fixed numbering system.

The frame rate is starting to drop below 66fps with all this added rendering. The next step is of course objects which is going to require a lot of code additions. I may give each object their own texture handler. That way objects can have their sprites modified without having to adjust every other object. Eventually sprites will be animated and have multiple animations.

Bunnies C#

Bunnies Screenshot

One of the nice things about Java is that is translates almost directly to C#. I can copy the paste from Java into C# and make just a few changes.

Here you can see a basic wall render at 66FPS at 320x240 resolution. We'll see how it does as I add in textures and objects.

Obama Obama Obama

Why are you bashing Bush and Cheney? In Arizona Obama spent a couple minutes lamenting the fact that he's related to Cheney. He also pointed out that neither Bush nor Chaney will be on the ballot in November.

Really, Obama, really?

As one event goer said "I wanted to know why I shouldn't vote for McCain." Maybe Obama was disappointed that he didn't get to play in the "anybody but Bush" festivities in 2004 that cost Kerry the election. Despite the DNC making all the democratic votes in Florida and Michigan not count in the Primary, they still think it's Republicans that are behind the critical Florida loss and "voter disenfranchisement." I guess they don't care if your vote doesn't count as long as the DNC is behind it.

I think Obama needs to stop pandering to the idiots that can't get over the 2000 and 2004 elections (maybe he's one of them) and focus on why he is the best candidate for the job. Not why he's so much better than people that aren't even running. McCain is probably going to win the nomination and if Obama wants to get elected he needs to just STFU about Bush and focus on McCain. And, just in case, he might want to focus on Romney as well.

Oh, and gee I almost forgot the other person that Obama failed to address in his speech: Hillary Clinton. I guess he thinks he already beat her. Good luck with that strategy. Let's waste time talking about people who aren't running and just ignore your biggest rival who could very well beat you.

Obama for the fail.

C# vs Java

Bunnies is currently being developed in Java but that might change. I put together a quick "Lesson 1" for C# which just renders 320x240 pixels every second. My Dual Core 2.33Ghz system pumped out 170+ frames per second which works out to about 13.5 million pixels per second. Since I don't have the Java SDK on this system I had to go by the Lesson 1 tutorial for Java posted in the Software Rendering section. At 1.7Ghz I was able to pump out about 4 million pixels per second. Scaled for processing speed it should perform at about 5.5 million pixels per second. So that makes C# about 2.4 times faster than Java.

I was digging around on-line for some tutorials on how to create a main loop in C#. Not a simple task. There's the C# way to do it which is slow and there's the "make it act like C++" way which is much better. Anyway, in the code I found there was a


Well, that limited the frame rate to about 64fps. It didn't matter what resolution I was drawing pixels at. Changing it to


bumped the frame rate up to 172/173. "Sleep" in C++ and C# achieve the same thing, they allow the CPU to do a context switch so the CPU can process other things your computer may be doing. Giving it a number greater than 0 simply causes an artificial delay in your program which limits performance and doesn't make your computer any more responsive while your program is running.

We'll see how ambitious I am. My new server will be here later this week. So this weekend I'll be putting that together and getting the latest Java version of Bunnies on-line along with the Bunnies server. Once that's done I may call it a day with Java and switch to C# to enhance Bunnies even further.

It's Like They Want to Lose

As you may or may not know Michigan and Florida have no delegates for the Democratic party. Why? Because they moved their primaries up a bit. Was that in violation of some law? No. It was in violation of some arbitrary rule set in place by the DNC.

What's really stupid is that in Florida, the Democrats were forced to move up the primary date because of the Republicans. So Florida Democrats are being punished apparently for not having a Democrat majority in the state government.

Only Hillary Clinton has left her name on the ballot in those two states. The other candidates faithfully removed their names from the ballot. Apparently following some arbitrary rules is more important than having voters have their voice heard.

The RNC isn't much better. They cut half of the delegates from Michigan. Although Michigan sent all their delegates anyway. How many end up counting is up in the air. But at least the Republicans didn't completely punish the voters. Their voice is still heard, it's just dampened a little bit.

What's really odd to me is that Democrats don't seem to have a problem with this. There's a controversy brewing, not about how the DNC has denied a voice to two states, but that Hillary Clinton wants to have their voice heard.

Because Obama is a tool that didn't care what two states said Democrats are accusing Hillary of "cheating." He could have stood up to the DNC and left his name on the ballot like Hillary did but he CHOSE not to. Hillary values votes over stupid party rules and wants the delegates she won in Michigan and the delegates she'll win in Florida to count. I think they should.

I don't call that cheating. I call that not being a fascist. Both parties need to stop this nonsense and set a date range that a primary/caucus can fall on. Iowa had the first caucus January 3rd. As such any state should be able to have their primary between January 3rd and some time in June. I believe Montana is the last state on June 3rd.

Mandating that states cannot move their primary date up is ridiculous. The problem is that party leaders value "strategy" over people's right to vote to elect their leaders. Because Hillary had the best chance in Michigan and Florida those two states would boost her. The DNC wanted to contain that boost by forcing her to get those wins on Super Tuesday. By doing that her win would be too late to encourage voters in other states.

I hope she gets those delegates. Shame on the DNC for playing stupid games. Shame on Obama and Edwards for playing with them.

One Missed Call Ringtone

The One Missed Call Ringtone is now available at MIDI Search.

Bunnies has a New Trick

Bunnies now has sprite generating capabilities. Any source image can be run through a chroma key script to generate a mask from the green content of the image and a sprite image. One issue I found was that some dark yellow was removed. The quality of the sprite image really depends on the quality of the source image. The source image should have a bright green background without any green bleeding onto the actual sprite. Once the sprite is generated you can view the source image, mask and sprite to see how well it did and if it's necessary to do any manual adjustments to the mask.

Black means the pixel will be rendered, white means the pixel will not be rendered. The generated sprite is the mask applied to the source image so you can see how it looks.

In the future the site will allow a user to generate animations from sprites. This will make it easier to create custom sprites for the game.

Finally, a New Server

It's a new tax year and you know what that means: tax deductible business expenses. Currently many web-sites I operate are running a Pentium III 933Mhz web server with a Pentium III 533Mhz database server. Together they make one moderately useful system. This week I will finally be putting together a Dual Core 1.6Ghz Pentium system which should be able to function as a Web and Database server. The CPU is upgradable as it's an LGA 775 socket. The 933 Mhz system will probably be turned into a file server only. It already has all the SVN repositories for all the web-sites and other things. The 533 Mhz system will be turned off and put somewhere.

I have to pick up a new hard drive as well. The ones I've been using are taking a beating and one of them has failed a couple times. Because it's a Seagate I was able to format the drive and get it working again but I think it's time to start replacing drives with SATA drives. So, as they fail I'll be swapping them out. Everything is backed up so data isn't lost when a drive fails. It's just an annoyance to have to shut down the web-server, format the drive and then copy all the files back.

Once the new server is up and running it'll be time to start focusing on Bunnies again. The current server just simply can't handle the site.

MIDI Search

MIDI Search is a search based ringtone site. Unlike Free Ringtone Heaven which offers a directory based site, MIDI Search relies solely on searching to find what you're looking for. Because there is no need to organize the files in any particular way the site had a lot more ringtones to offer. You can also upload your own collection of MIDI files (in a ZIP file or individually) or submit the URLs of web sites that have MIDI files. This makes it very easy to increase the size of the collection. Currently there are over 70,000 MIDI files on the site.

Search results are based on the name of the file and the text contents of the files which can include titles, authors, lyrics etc.

Why I won't be purchasing a Mac again

We purchased a Mac Mini a year or two ago. The Intel version with dual core. We bought the $800 version since we knew any major upgrades would be impossible so we got the best to start with. Well we noticed a significant slow down and poor performance. Rebooting would help somewhat but it would start crawling again. It had 512MB of RAM in it. We decided to put 1GB in it since I've had experience with systems with too little memory. We waited until now to do anything about it since the system wasn't used that much and we just put up with it. We also didn't really have the money to be spending on computer upgrades.

So we talk to an Apple rep on and he gives us the specific memory we need. A 200 Pin 5300 speed DDR2 SO DIMM. He tells us we can buy a chip and then have it installed at an Apple store. So we look on and see that a 1GB chip is around $25. So we call the Apple store to get an idea of how much it will cost to install it. The Mac Mini is not made for user upgrades. They tell us it will cost $150 and the installation is free. They refuse to install any memory but what they sell.

Excuse me? $150 dollars for a $25 dollar part and you're telling me the installation is free? I don't think so. So we went to Fry's Electronics, got the part for around $25 and installed the chip ourselves. The Mac Mini now runs great. Like Vista, apparently Apple failed to include enough memory in it's systems to run its latest OS. You need 1GB or your Mini is going to perform terribly. You can find how-to's online to opening up the system. It basically just snaps together. A putty knife works well to pull the case apart. You just have to be careful.

But, since Apple tried to screw us over and intentionally made the Mini difficult to open, I'll never be buying an Apple product again. Memory is the easiest part to upgrade on any PC. There's no excuse for Apple making it difficult and then charging a 600% markup on a memory chip and then pretending that the installation is free. And then telling me that they couldn't install a third party chip when the rep said they could is just over the top.

What a bunch of idiots. I hope you like the money we gave you for the Mini, Apple because it's the last penny you'll see from us. We liked your product but we don't like being ripped off. So we'll take our business elsewhere in the future.

Go Ahead, Pay Your Debts

People are complaining that this stimulus package is stupid because people will just pay off their debts thereby not actually putting the money into the economy.

Well, let's think about that for a minute. Say I have $1000 in credit card debt and am paying $50 a month to pay it off. It will take me 20+ months to pay off that debt depending on the interest rate. Now, the government hands me a check for $1000. The debt is paid off and now I have $50 a month that is freed up to be spent however I want. So now every month I have some money that I can inject into the economy.

So really, it doesn't matter what you do with the check. If you pay off debts then you're freeing up cash either immediately or sooner than it would have been. Even if you had $2000 in credit card debt you still significantly cut down the time it will take to pay it off.

Then there's the other camp that wants to save the money. Which is also a good idea. If you invest the money you're putting the money into the economy directly. If you put the money into a bank the money is invested by the bank right back into the economy and you get a percentage of profit.

So no matter what you do with the money, more money will actually make it into the economy and grow. The only way the money won't make it into the economy is if you cash the check and stuff the money into your mattress. You can invest it, the bank can invest it, you can spend it or pay off debts and free up your own money.

I plan on spending some and paying off debts with most of it. Which again, frees up capital so I have extra money to spend, save or invest every month.

What happened to used to have a lot of cool charts for but changed. It's been several months and it doesn't seem like the information I need is any closer to being available again. The domain has been paid for through 9/28/2008 so the domain will remain up until then. If I can't get the site doing anything worthwhile by then I'm going to just let the domain expire. It was fun while it lasted.

Since is currently incompatible with I've switched gears a bit. The site is now iPrefer, a voting site. The current topic is the next US President. You are shown two candidates and you have to vote on the one you prefer. It could be two Democrats or two Republicans or one of each. You must vote on the two shown. Refreshing will result in the same two options showing up. With enough votes, the most prefered candidate will bubble up to the top.

If ever grants access to the information I need then I'll put it back to the real TopDuels. But for now, the duels that are to be had at are preferences in various topics.

Please Go Away Dr. Paul

This image is upsetting at least two people. What's the problem you ask? Well in the top graphic you see Romney, McCain and Huckabee. In the bottom you see the top three candidates are Romney, McCain and Ron Paul. Huckabee is actually fourth. So why would they not put Ron Paul's image in the top?


People are more interested in how Huckabee did because unlike Ron Paul, he's not a loser that typically gets around 4% of the votes. Huckabee has actually won a state and could win more. Ron Paul is a loser. The only people he beats are the people who aren't actually trying. The only candidate that actually tried in Nevada was Romney.

There is no Ron Paul Revolution. There is only the Ron Paul Resolution. Of all the candidates he is the only one that I believe would actually destroy our country. He has this very vague idea about how our country has strayed from the constitution. The constitution was intentionally written to be vague because our founding fathers had a vague idea of the perfect nation. Over the past 200+ years the world has changed and our country has changed with it.

Apparently Dr. Paul wants to bring our country back to 1776 and pretend that the world will join us. Our government is acting within the bounds of the constitution. In the few cases it over steps the bounds the Supreme Court dutifully puts it back in check. So I'm failing to see where we are straying.

The biggest whine comes from Habeas Corpus. Maybe if Ron Paul and his idiot followers would actually read the constitution he would find Habeas Corpus, not in the bill of rights or any amendments but mentioned specifically in the main body as being a revokable PRIVILAGE. Not a right. So please, shut up already and go away Ron Paul.

Let the adults run the country and deal with the world and the problems it brings us. Could things be different? Yes. In fact Huckabee also wants to do away with the IRS. That is the only thing Ron Paul has going for him. If you take away Ron Paul's plan to get rid of the IRS, he has nothing. But where Huckabee comes off not sounding like a looney is in his plan to do it without destroying the country in the process.

I would like to see McCain and Huckabee run together. McCain can stomp skulls around the world where needed and Huckabee can deal with some of the domestic issues. McCain would be president because that gives him the role of commander in chief as needed to defend this country from its mainly Islamic enemies.

Think about it Ron Paul, Commander in Chief, if you want to destroy the military what exactly would your job be as president? What fool sells himself on the idea of leaving America open for invasion just so the citizens can have a few extra dollars in their pockets? I'd rather pay 40% of my income to the government (way more than I actually pay even as a middle class citizen) than be forced to decide between speaking Arabic or Spanish.

Maybe I'm weird.

Real Time Ray Tracing

While I'm working on Ray Casting in Java, others are busy doing research into Real Time Ray Tracing which is coming along nicely apparently. They are now able to render Quake 4 at 90 fps at a high resolution using ray tracing.

This is becomming possible thanks to multi-processor systems. Unlike rasterized graphics (as used in modern graphics cards), raytracing naturally takes advantage of multiple cores. Going from one core to two will virtually double the framerate. That doesn't happen with raster graphics. It's possible with Ray Tracing because every pixel is independently rendered.

The Slashdrones are whining that in the sample images everything is shiny and/or plastic looking. Well, yeah, that's pretty much the default behavior of light that travels in perfect lines and reflects perfectly. There's no shortage of work done in the ray tracing area that adds in that kind of distortion that creates more realistic looking graphics. With the advent of multi-core processors ray tracing will no doubt take over raster graphics in terms of speed and realism.

Anyone can download OpenGL and/or DirectX and start working cranking out great looking raster graphic based games. OpenRT is an API for Ray Tracing but currently only a non-commercial engine exists. And no game company in their right mind is going to hire a bunch of PhD's to reinvent the wheel when the gaming community is perfectly content with OpenGL/DirectX.

It's probably going to be awhile before Ray Tracing based games are on shelves. Current technology is good enough and it's going to take specialized graphics cards to really get Ray Tracing to the level it needs to be to convince gamers it's better to the point it worth a chunk of money for a new graphics card that only works for a few games.

Home  |  Older Posts...