Sunday, December 27, 2009

Some more progress

Nothing too exciting to report, but given the extra time over the holidays, I have been making more progress than I normally can. I've started hooking up some of the user interface items and am working on the preferences dialog.

Still tons to do, but bit by bit it's starting to look like an application rather than just random code.

Thursday, October 22, 2009

Time...never enough

I realize it's been a while since I've posted, so I wanted to post something.

Things are going more slowly than I'd like. There's really no technical reason; work has been killing me lately, and with two eight-year-olds around, there's an activity nearly every evening. Most of my development time has been coming in 30-45 minute spurts, and as developer will tell you, it's difficult to work like that. You barely can get your mind focused on where you were when you left off and suddenly it's time to quit.

The good news is the transition of the drawing code to Vertex Buffer Objects (VBO's) is complete. While not necessary for performance, it allows me to avoid a rewrite should the rumored removal of Immediate Mode in OpenGL 3.0 come true.

I'm currently working on figuring out how to set all the colors for all the objects. My hope is to be able to set colors on individual line segments, rather than just a whole class of objects. While perhaps not the most mind-blowing feature, I'm sure people would enjoy the extra level of customization.

Monday, August 31, 2009

Another Windows Beep of Death Fix

A new version of XSB is coming soon, but until then, Windows users need a new beep-of-death fix, so here it is.

Windows Voice Fix

Friday, August 21, 2009

Latest on the ATC Client

Not much to report on the ATC client. I've been working on a new version of XSB and meeting some deadlines for my other project (Targetware), so that's consumed the majority of my time.

I did switch from using an NSOpenGLView to a GLView subclass. This gives a lot more flexibility. The OpenGL context can be on multiple screens, it can have Cocoa controls on top, etc.

Right now I'm in the process of moving the drawing code from Immediate mode to Vertex Buffer Objects. It's an optimization that's completely unnecessary given the trivial requirements of a radar client, but Immediate Mode is slated to go away at some point, so better to change things to use the "right" way now.

I should get some more time near the end of the month to work on the client, and should have good things to report then.

Tuesday, July 21, 2009

Looking for a web designer

Copied from my post on x-plane.org:

Ben and I are in the process of moving the XSB website to a Content Management System so that I can directly edit the VERY outdated FAQ and other documents. It also will allow me to post new releases without having to take away from Ben's X-plane development time.

The problem is, Ben and I are both programmers, and are absolutely awful as web designers.

So here's your chance to contribute. We're looking for someone who either has experience working with the Drupal content management system, or just has high-quality CSS skills. Additionally the person needs to have good design sense too. Just knowing how to install a web server and MySQL isn't what we're looking for. We're looking for someone who considers themselves an actual web designer and can do crazy things like match colors.

This will likely be a one-time time commitment. That is, once the site is designed and up, there likely won't be anything left for the site designer to do. So it will not require a long-term time commitment. Additionally, we're only talking about a few templates/pages. This is NOT a major design project.

Anyone that's interested, please email me at wade@dogwatchsw.com

http://forums.x-plane.org/index.php?showtopic=39623

Sunday, July 5, 2009

Some work on the Mac ATC client

After many months of having no time to devote to the Mac radar client, I had a little bit of time over the weekend.

To properly set expectations on where things stand, right now it's just loading the sector file and drawing it. I had been having problems with zooming and panning that were bugging me, but those have been resolved.

However, despite my warnings of the rudimentary state at which we're at, I can't resist a small teaser:

lax_mac_client.jpg

That boys and girls, is KLAX from the ZLA sector file. (Only airports, runways and geo's are being drawn in this example.) The colors no doubt need adjusting, but any ZLA controller will certainly feel at home looking at that diagram.

So what's up next?

Before I get too far, I need to optimize the drawing routines, so that's probably next. Then I'll start wiring up the interface to allow the enabling / disabling of drawing of all the various sector file elements without having to change code. After that I'll start working on the text system (chat windows and such). Once all that is done, we'll be ready to start delving into networking and making planes move.

Thursday, May 28, 2009

Hope for the Linux Sound Bug

I'm traveling to visit some family next week, and when I return, I should have a spare PC in my possession. My intent is to use that PC to install Linux and hopefully track down the Linux sound bug.

I won't return with the PC until June 11th and it will probably take some time after that to find the bug, but at least there's a glimmer of hope on the horizon.

Friday, May 15, 2009

One known fact about the future VATSIM Mac radar client

I announced a few weeks ago on the VATSIM forums that I do have a Mac radar client for VATSIM in development.

In still in the early stages and I don't know whether it will take 3 months, 6 months, a year, or two to finish. There's always the possibility that I never finish it. Now, before I depress you too much, I do think there's a very good chance I will finish it and probably sooner rather than later.

One thing I do know is when published, it will require OS X 10.5 or later. I originally started the project targeting 10.4, but there's just too much nice stuff in 10.5 of which I think I'm going to be able to take advantage - if not in the first version, than in a later version. Things like CoreData for persistent data storage (such as aircraft details), CoreAnimation for creating various layers, fast enumeration and probably garbage collection.

So I want to go ahead and get the word out now, rather than later. Let me say it again - 10.5 will be the minimum.

If you don't have 10.5, you don't have to run out and buy it right now. In fact, I wouldn't. I'd wait and buy 10.6 when it comes out.

But heads up now - requests to make the radar client run on 10.4 and 10.3 will fall on deaf ears.

Monday, May 4, 2009

Delay in posting Linux test version

So, the promised test version has not yet appeared. I did the required coding, but I've been completely unable to test. With no OpenGL support in my VMWare environment, X-plane is just killing my Ubuntu VM.

If you want, you can download and try:

Linux Test Version

However, to be very clear, I'm not at all confident it will work correctly. If it succeeds, it will create a file called XSBLinSoundDebug.txt in your home directory.

I'm working on some angles to get some sort of real Ubuntu machine setup so I can do actual debugging.

Saturday, May 2, 2009

New Windows Temporary "Beep of Death" fix

(Whoops - if you downloaded this patch already and the Connect menu was disabled, download it again - I have corrected the mistake.)

The temporary patch I had out for the "Windows Beep of Death" has expired. A new version is posted at:

Windows Voice Fix

The next regular release of XSB will contain this fix.

Tuesday, April 28, 2009

Linux test version by the end of the weekend

I was hoping to combine the latest XSB update with the additional Linux sound logging code. However, it's taking longer than I wanted to get the next version out.

It's taking longer because I decided to add an additional preference window for a new setting, which allows the user to specify the width of the text window and chat bar. This is especially handy for those using the Matrox triple-head solution, because X-plane sees that as one screen and thus would stretch the text box all the way across all three screens.

The reason a simple dialog box is taking a bit of time is because it's more complex than you might think. Each coordinate of each element in the dialog box must be specified manually. Try to place some things, compile, launch X-plane, test. Move them a little bit, compile, launch X-plane, test. Wash, rinse repeat.

And of course the biggest time consumer is that real-life things are getting in the way, like my seven-year-old son's baseball season.

However, I know Linux users are tired of waiting, so I'm going to go ahead and put up a private download by the end of the weekend for Linux users. It will contain only additional logging code for sound - no other new features.

Friday, April 10, 2009

So what's up with XSB?

I'm getting ready to release an update for XSB that fixes three things: the "Windows Beep of Death," adds some extra text window controls, and resolves the lack of automatic download of the VATSIM server list.

I've had a fix available for the Windows "Beep of Death" for a while and have been handing it out privately to anyone who needs it.

The VATSIM server list doesn't sound like a big deal, but it's been awfully confusing for new users to download XSB and then have no idea what to put in the server field, so a fix is long overdue.

Additionally, I'm going to be handing out a private update to Linux users who wish to test it that will include additional logging code to try to find the "sound disappears after 30 minutes bug." I know this one has really been annoying the Linux users and I hope I we can find the problem. Linux troubleshooting is particularly difficult for me because I don't have a Linux machine on which to debug - I simply have a VM on which I can build.

I have other features on "The List" which I plan to implement when I have time. Several are big requests of many users, but they take quite a while to implement or have other logistical or legal entanglements which need to be sorted out first.

"The List" (pretty much in the order I think things will happen)

• Setting a reasonable visibility for airports not reporting anything for visibility (currently they get zero visibility)

• Find the reason some users are getting lots of CSL loading errors

• COM2 support

• SELCAL support

• Upper-level wind

• Using the OBJ model for CSLs


This list isn't by any means comprehensive and is always subject to change.

If you want to add additional feature requests, please log in to my bug tracking database, at dogwatchsw.com/mantis


So, what's a Dogwatch?

Dogwatch:


1. Nautical. either of two two-hour watches, the first from 4 to 6 p.m., the latter from 6 to 8 p.m.

2. The complete failure of a developer to come up with a company name, thus having to revert to his Navy days for something - anything at all. (This definition obviously mine)

Yep. A while ago I was thinking about publishing some shareware, so I needed a company name for such individual projects, as opposed to the stuff I do with Mark 9 Systems, LLC (Targetware).

So in a fit of desperation, I came up with Dogwatch Software. Why? Well, I was in the Navy, the dogwatch is a Navy watch in the evening and I do most of my work at night. And with that massive effort and reasoning, I had a company name, and then decided not to finish the software products.

I've never been tremendously happy with the name, so I'm always open to suggestions. The best names are short and easily remembered. Bungie, Panic, Blizzard, Pangea, etc. But I haven't come up with any of those and I'm now several years into Dogwatch, so I'll stick with it until I think up something better.

So there you go, the very unremarkable history of the name.

The purpose for the blog is to catalog my independent projects, which at this point, primarily consists of XSquawkBox (http://www.xsquawkbox.net), the VATSIM client (http://vatsim.net) for X-plane.

Often I'll talk about the motivations for working on one feature versus another, particular difficulties I'm facing, or just other random facts and trivia.