The blog of roncli blog
Houston, Texas, United States
CTG Music
Trax in Space Beta
Recent Posts
WTF did Revival Productions just do?
A Tale of Two Communities
The Final Stretch
A Two Tiered, Untiered OTL
Secretly, you wish you could've done what I did
What have I done since v2?
It's Done. It's Finally Done.
The Big Picture is Starting to Wear on Me
A Low Bang to Buck Ratio
February 2005
March 2005
April 2005
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
June 2008
July 2008
September 2008
December 2008
February 2009
July 2009
August 2009
September 2009
October 2009
November 2009
February 2010
March 2010
April 2010
June 2010
July 2010
August 2010
September 2010
October 2010
November 2010
December 2010
March 2011
June 2011
July 2011
August 2011
September 2011
October 2011
December 2011
January 2012
February 2012
April 2012
July 2012
November 2012
July 2013
April 2014
July 2014
August 2014
November 2014
December 2014
March 2015
April 2015
May 2015
June 2015
July 2015
September 2015
January 2016
February 2016
May 2016
July 2016
November 2016
March 2017
January 2018
May 2018
June 2018
January 2019
January 2021
February 2021
March 2021
August 2021
October 2021
December 2021
August 2022
November 2022
October 2023
February 2024
April 2024
Current Posts
Wednesday, July 27, 2005
Controls and Controllers
Posted: 4:12:00 PM 0 comments
Now playing: Gopher - 3: Meeting - The Gathering of Arms (6:39)

Since I seem to be in full blog mode today, I figured I'd offer an update on Cent. Things have been moving pretty smoothly, and I have moved on to working with user controls. This may seem easy for most games, for instance most games these days are just point & click with the mouse.

Not Cent.

Cent has 69 different controls that can be defined for game movement, communication, and control of other parts of the game, with more possibly to be added in the future. This means that each of the 69 controls needs its own piece of data to indicate whether the control is triggered from a keyboard, mouse, or joystick. Many of the controls have advanced features where you can bind an axis, so that changes made to one control are made to the other automatically. You can also set the values of things such as keyboard ramping, mouse sensitivity, and joystick sensitivity, displayed in a neat looking little graph. Of course, you can assign backup controls, so that you may use up to three keys to do the same thing. This is on top of the custom-made screens, buttons, graphs, and meters, done in a completely un-IDE-like bit of C++ code. A lot of it is functionalized, but this is still massive. So much for this being a small project.

Labels: , ,

Posted: 4:00:00 PM 0 comments
Now playing: Gopher - 3: Meeting - The Gathering of Arms (6:39)

Heh... this is a first. I woke up from a short nap, and have been reading online and coresponding with people for a good hour and a half. My eyes glazed over for a moment as they often do when I'm tired... I went to refocus, and began to think how incredibly clear my glasses were! They were scrubbed today, so there was good reason to think this. Unfortunately, the bad reason to think this was the fact that they were sitting, not on my nose, but on the coffee table by where I had napped.

I got glasses several months ago to correct the difference in vision between my left (20/20) and right (20/15) eyes which had been bothering me for some time. I've liked them so much, I wear them almost all the time, and the difference is remarkable. I've since noticed that I usually strain slightly at my ridiculous 2048x1536 resolution when I'm not wearing them, though this isn't the case today.

In any case, I'll have the glasses back on for sure tonight when I head out with a friend of mine who I haven't seen in a couple years. I'm not even sure he's aware I have them yet, so the reaction should be rather amusing.

Labels: ,

Interview Nerves
Posted: 3:36:00 PM 0 comments
Now playing: Gopher - 3: Meeting - The Gathering of Arms (6:39)

I love interviews. At the same time, I hate them.

The plus side is the exploring of a new potential opportunity, meeting new people, getting a glimpse at how other places do things.

This is, of course, aside from the fact I become a ball of nerves when I know that the reason I am at one in the first place is to compete with one or more people based on a comparison of our capabilities in my field of choice. Much is at stake, financial stability being at the top of the list, and I tend to go into them thinking, at least on a subconscious level, "Don't screw up!" This is fine, though, as that is part of the process.

But what I absolutely hate is the feeling I have after them! Not immediately after them, though. I tend to get on a rather healthy post-interview high in the minutes after. But then it sinks in - the waiting has begun. Ugh. The feeling deep down within of not knowing what's going to happen can be surprisingly strong.

Wish me luck.

Labels: ,

Google Earth Take 3
Posted: 3:23:00 PM 0 comments
Now playing: Gopher - 3: Meeting - The Gathering of Arms (6:39)

I am enjoying this program far too much.

My latest shot shows an approximation of the view I had from the Williams/TransCo Tower in the Galleria Area today. I was in for an interview with a company, and the office in which the interview was conducted had an amazing view of Houston to the south and west. Of course, I was too nervous to fully appreciate the view (see next post), so I had to come to Google Earth to check it out again.

One of the interesting things about this program, and an indication of how far it still has to go, is the vertical perception of things is different. For instance, you may see the pools in the white complex in the middle of the page.... they were not present from my vantage point, obscured by the two stories of apartments around them. Also, the buildings behind where you see the label "Hidalgo St" are quite tall. But this is still pretty amazing software... Love the waterwall shot in the lower left. And I think what amazes me the most is that they found a time during daylight when the 610 & 59 interchange wasn't a parking lot...

Labels: , ,

Sunday, July 24, 2005
Posted: 3:12:00 PM 0 comments
Now playing: Namco - Mr. Driller's Theme - Ardenten (2:30)

So I had mentioned in passing to a friend of mine that I have been looking for a job for some time, and he asks me casually, "Interested in freelance?"


So I get my first project from him, and it's in... ColdFusion?! Ugh. Never seen it before. I didn't even have Dreamweaver installed at the time. I install Dreamweaver, load up the program, and to my surprise, it's not bad at all. It's just basically a programming extension to HTML. Most of the work on the project is with the database anyway, which I won't be getting around to until tomorrow, so I got to learn my way around in ColdFusion for a bit while at the same time fixing up little problems here and there.

Labels: , ,

Wednesday, July 20, 2005
Cent Update
Posted: 9:56:00 AM 0 comments
Worked a bit on Cent again today. I got the program to load images used as a player's avatar in the game. That includes building the file search box from scratch, accounting for the scrollbar, directories vs. files, and checking to make sure a file selected was valid.

Something's a bit screwy with it, however. If I load a GIF that's got a transparency, and then save the resulting file as a PNG, it doesn't save the transparency at all. I'm not terribly concerned about this, but it appears CrystalSpace's GIF loader is a bit funny.

Aside from that though, that means one of the 5 pages of settings is complete, and arguably the most difficult of them. It's slow, but it's progress.

Labels: , , ,

Quadra VS.NET 2003 fix
Posted: 7:56:00 AM 0 comments
Just a note for those Quadra heads out there, if you're looking to compile it in Visual Studio.NET 2003 and getting odd DirectX conversion errors, just open up video_dx.h and change line 36 as so:

class DirectX_Video_bitmap: public Video_bitmap {

Labels: , ,

Thursday, July 14, 2005
First National Radar Test
Posted: 11:01:00 PM 0 comments
Now playing: Namco - Sala de Masala 2000 (2:42)

I completed my first national radar test based on NWS's data. Not quite where I would like it to be, as there is ground clutter and in the northwest there are two strange looking lines that are obviously not supposed to be there... apparently NWS doesn't filter them out automatically. You can see a comparable image at approximately the same time to see the differences.

The good news is that the code obviously works. The bad news is that it took over 11 minutes to process all 136 radar sites in the continental US. NWS would have made two updates on each of those 136 radar sites in that time, not to mention that my radar data is now 11 minutes older than it was.

A good percentage of that time is spent downloading the radar data from NWS to begin with. Considering I'm on a shared T3 and it took about 3 to 4 minutes to download less than 2 MB of data, that's relatively slow.

But processing the files is taking the bulk of the time, and I may have to revisit the methods I use in order to get this to work faster. It could just be that I'm in debug mode, but I doubt that's going to help with the download speeds. Also, a lot of this is just computationally expensive. You figure there are 230 points I'm looking at for each degree around the radar - all 360 of them - for each of 136 radars. That's over 11 million pixels of data. Plus, since the map I'm displaying it on is a latitude/longitude map, I have to take into account that a nautical mile at 30 degrees of latitude is not the same as a nautical mile at 40 degrees of latitude. It gets complex, but I got a pretty good algorithm setup to do it.

So in short, there's a long way to go yet before this is practical, but the ground work and understanding is there, which is usually 80% of the work. I'll probably post more on this in the future.

Labels: , ,

More Google Earth
Posted: 9:53:00 PM 0 comments
Now playing: Namco - Sala de Masala 2000 (2:42)

I found a pretty neat Google Earth shot of Mt. St. Helens that I shared with my friend who lives near it... the detail is pretty spectacular. It doesn't have any of the 2004/2005 eruptions in it, but that's not entirely necessary either. Big file... 359KB, over 1000 pixels in both directions. Sorry, I have a big screen!

Labels: , ,

Tuesday, July 12, 2005
Speaking of Google Earth
Posted: 7:36:00 PM 0 comments
Now playing: roncli, The Nightstalker - Everytime (5:24)

Here is a Google Earth shot of Track 1 from San Francisco Rush 2049. I couldn't highlight the actual track, but I do have the turns marked at least. It's wildly different than the actual game. For instance, Palace Dr. is not a 180 degree turn when it hits Richardson Ave., which eventually turns into Lombard. Unfortunately, the shot of the jump near Lombard Reservoir is awful, as the image has it in the shade. Be warned the shot is upwards of 650 KB.

Labels: , ,

More NWS stuff
Posted: 7:18:00 PM 0 comments
Now playing: roncli, The Nightstalker - Everytime (5:24)

While this is not related at all to the project I was working on the other day, I thought I'd present this interesting test I've been doing.

Today I worked on parsing WSR-88D data. In short, it's data available for free on the NWS site that, when decoded, allows you to display radar images. I gotta say, this is pretty simple work when you know what you're doing. Check out this current image of Houston area radar.

Although there are no borders, the ground clutter makes it easy to see Galveston and the bay. The northern end of the image reaches Dallas, while the western end extends beyond San Antonio and Austin.

It should only be a matter of putting the pieces together in order to get not only radar that's more pretty, but something that'll pave the way into locally cached radar loops for insane time ranges that you just can't get on other sites, free or pay.

The ultimate goal, of course, would be to import these images into Google Earth. They do have one radar service I saw, but it wasn't very good because it had the company's logo written all over the freakin' map.

In any case, between this and the other NWS stuff I've worked on earlier this year, I almost have enough to put together for a desktop weather app. Might be interesting to see how far I can go with this.

Labels: , ,

Sunday, July 10, 2005
Multithreading, Plug-ins, Sockets, Timers, the works!
Posted: 4:37:00 AM 0 comments
I'm enjoying some of the great advances I'm making in my latest project, incorporating multithreading, plug-ins, TCP/IP sockets, and timers into what's turning into a surprisingly compact and easy to use text processing engine.

Of course, it can't do anything significant right now - that's what the plug-ins are for, extending the functionality of the basic engine. But it's in place and working quite well so far. It'll be interesting to see where this project goes, and see if it will relieve some of the frustration I've been experiencing the last couple of days.


Rant: Programmers and Egos
Posted: 12:02:00 AM 0 comments
Now playing: O - Zone - Dragostea Din Tei (3:34)

Some may remember my old rant series I had way back when on While this is not about the digital music scene (or whatever it calls itself these days), this is in that vein. Be prepared for bad grammar, spelling, language, and attitude.

Pardon my hypocracy for a moment.

I've been a programmer now for 7 years by trade and 20 years by hobby. It is to the point where programming concepts come naturally to me, and there is very little that I can't figure out. When presented with a limited set of programming tools, I can push those tools to the limit. I know for a fact that my ability, skill, and talent in the field is well beyond what many people who call themselves programmers even strive to become. Therefore, when I say I know programmers and programming, I know what I'm talking about.

I prefer to work alone. The reason being is that when I program things by myself that the logic is mine, the errors are mine, and I can be extremely self-critical when it comes to my work. And, I can do this all without pissing myself off. Because it's me! I don't get mad at myself when I'm programming because I've discovered that I've done something the wrong way. I just fix it. I am, however, able to easily tolerate working with a team.

Most of the time.

One thing I have discovered is that programmers have an ego about their own work. Even I do. When someone changes something I wrote, I want to know why. Did I make an error? Did I not understand the required logic? Just tell me, and my ego is satisfied. And, thankfully, most people are like this. If you show them an error they made, they are like "OMGLOLZ, I can't believe I did that, thanx."

Then... there are the idiot programmers that are Never Wrong.

These programmers are the ones that can take a well-established team environment and wreck it in a matter of seconds. They can deflate the confidence of other members of the team by imposing a ridiculous set of standards that don't make sense.

How do they do this? By taking offense at every little thing that is directed at their work. Let me give a few examples.

"It's not a bug/limitation/problem, it's a feature." - The canonical developer response. Believe it or not, some people use it. It's synonymous with, "I'm lazy, and I'm not changing it." News flash: If you're lazy, programming isn't for you. Programming can be redundant work, and if you're not willing to step up and do all of the work required, don't bother.

"I can't do that because it encourages bad programming." - This interesting one was told to me by someone who developed a scripting language. Basically, the script I was writing would error out if someone provided the script with an invalid number. The reason it would error out was because I had no way to test whether or not the number provided was valid. Upon asking for that, this was the response I got. Of course, this is in an environment when scripts are required to be approved before they are used. When suggesting that those who are approving the scripts could watch for scripts that don't handle user input correctly, I instead got a piece of his mind about handling user input.

"You're not supposed to do that." - What, I'm not supposed to use the tools you've given me to do what I'm supposed to do? Then why do I have them?

My favorite one as of late: "The scripting is supposed to be slow, it was designed that way." - What the fuck are you on?! If it's designed to be slow, you are not going about programming correctly at all, and should consider a career change. Seriously. You aren't a programmer if you can't figure out how/don't want to optimize something. Is scripting slower than compiled code? Yes. But you can visit any of the ASP websites I have designed - which is *ALL* script - and you will find that not one of them runs slowly. Scripting != Slow - and if it does, either the script that is slow was written wrong, or the scripting language itself needs some serious optimization.

These same programmers are almost always the same people that want to design something from the ground up without having a clue of what they are doing. They will run into problems that they don't perceive as problems, because they designed it and it must be right. When programmers like this are in positions of authority when it comes to software design, your product is either going to be very low quality, or it's going to fail miserably.

So programmers, you have an ego. I know because I have one, too. Get over it. Learn from your mistakes, realize you have much to learn, and stop being a roadblock to productivity and innovation.

Labels: ,

Friday, July 08, 2005
Plugging it in
Posted: 8:09:00 PM 0 comments
After the hideously long VS.NET 2003 installation, I finally got to playing around with the C# code. What I wanted to do was learn how to create plug-ins in Visual Basic, so that I can hot-swap compiled code in an application I am working on. It took some messing around and a lot of trial and error, but I finally got it working in VB.NET, so I'm pretty happy about that.

Damn, I got something done. That feels good. I think I'm going to go spend some time with Mr. Driller as a reward. Yes, the original Mr. Driller by Namco. It's got some DirectX issues with the latest versions, but overall it's a lot of fun. My best unlimited mode depth is 20,715 feet right now. We'll see if I can't break that.

Labels: , , ,

What the..?
Posted: 3:25:00 PM 0 comments
So I go to open up a project downloaded from MSDN. It's in C#, so I figure I'll just open it up in Visual Studio.NET and convert it to VB by hand. Wouldn't be the first time I've done it.

I unzip and open the directory and, to my surprise, the icon for the solution file is generic. I scratched my head and opened up Visual Studio manually to try to open the file.

"This file has been created in a later version of Visual Studio .NET."


Did some searching, and sure enough, VS.NET 2003 wasn't installed on my computer. Terribly frustrating, as I don't remember when I ever uninstalled it.


Labels: ,

Wednesday, July 06, 2005
AM Browser 2.0 released
Posted: 1:48:00 PM 0 comments
Now playing: Antony Raijekov - Mapped (5:39)

I'm a bit late with this, but AM Browser 2.0 has been released. Fixes some bugs, adds some new stuff, and still kicks ass. Check it out.

Labels: ,

Stagnant and frustrated
Posted: 1:42:00 PM 0 comments
Now playing: Antony Raijekov - Mapped (5:39)

Not a whole lot has been going on. I've become pretty stagnant over the last month. That sucks.

Not that I haven't been doing anything, though. Those that have the slightest of a conjecture as to what I've been doing should not be surprised in knowing that I've been kept busy with some new stuff over the past month. The "newness" of it has worn off, so hopefully that means I'll be working on my own stuff again.

Last couple of days has seen me working on a project using .NET with TCP/IP sockets and threading. It's scary the ease with which I understand this stuff, I had a working prototype in a matter of like an hour and a half. But the interesting thing to me is how this project came about in the first place... simply put, frustration with using something similar, and the drive to do it better. Lately, though, more than that has been needed for me to get anything done. Plus, even if I complete this project, I know for a fact that it won't get used. I guess it's more for personal "can I do it" curiosity.

The project I had posted about with the NWS stuff before has stalled entirely. Turns out the guy I was going to be working on it with moved, and it was decided the effort to do it wasn't work it. Of course, he has *since* told me that it might be up and running again... I don't know. Sometimes I feel like I should just work on the project and then one day dump the finished product into his lap and say "do something with this, dammit". Maybe that's what I need to do.

And on a final note of frustration, I decided to process my logs for the first time after three months. What a painfully long and ridiculous process that has turned out to be, I'm going to have to write something that does this for me daily.

Labels: , , ,