Saturday, December 20, 2008

Ye Olde News Soupe

I haven't mentioned much about Paladin here in a little while, or at least when compared to happenings in its development. Then again, aside from releases, there really hasn't been much to write about that wasn't already mentioned in the release notes for each one. My IDE has done significant maturing and Release Candidate 2 should be released tomorrow, barring any unforeseen issues in Real Life.

There have been so many releases is mostly because of all the bugs that came out of the woodwork, but also because of some incidents that went sort of like "Now to... hey, this doesn't have feature X and it's one I use fairly often. One more for the to-do list. *sigh*" Then there was also the "I can't believe I forgot to make this able to open its own files!" moment, too. I still shake my head in amused disbelief at that one. RC2 will have fewer bugfixes because it didn't have any feature improvements. I have a development version that I'm working on that has a few new features, but I don't think it's ready for primetime just yet.

Paladin is also now hosted at SourceForge [project page here]. While I would have liked to use Subversion for source control, the BeOS port is old and doesn't support checkins using the https: protocol, which, coincidentally, is what SF uses, so I'm stuck with CVS. Having the revisioning (is that a word?) and the online backup of the sources is a relief, considering the antics my development box has had lately.

Some of the maturing that Paladin has seen has been due to my actually using it for development and discovering bugs as I was using it. I've had a need for a way to show flashcards to my computer classes to quiz them on PC components, but literally nothing I've seen did what I needed, so I'm writing my own and writing it with my own software. I've been quite pleased with how things have been progressing, and I have a machine dual-booting Xubuntu and Haiku to show it off. Just earlier tonight, I actually used RC1 to build from the RC1 sources with a quick patch to a significant bug in the code which adds files dropped into the project window. It seemed really weird to use Paladin to build itself, but when I walked away with a successfully-patched executable in Haiku, I must be doing something right. I guess the next step would be to support the goofball rez resource files so I can do the same thing with PalEdit. One more thing for the to-do list, I guess. ;-)

Sunday, December 14, 2008

Windows Workstation 2003 Reviewed

Besides all my BeOS development misadventures of late, I've also been working with Windows Server Standard 2003 as a desktop OS. In a lot of ways, you could call it similar to running Linux on the desktop, and it's not all it's cracked up to be. Just for the sake of others who might be thinking about doing the same (or something similar with 2008), I'll offer my thoughts and experiences.

Installation

The actual installation wasn't any more difficult than a regular Windows XP installation. In fact, there wasn't much difference. Considering that XP and Server 2003 are based on the same codebase, this isn't at all surprising. Once installed I did have some issues with drivers.

There isn't nearly as good official hardware support as XP. My Via Vinyl AC'97 sound card wasn't recognized, nor was my D-Link DWL-g510 WiFi card. I didn't have Service Pack 1 slipstreamed on my disc and my machine uses a wireless connection, so even if I had had drivers for the devices, I still had a few hoops to jump through to get things working at all. Luckily for me, even though neither officially supports Server 2003, I was able to get them both working using the XP drivers.

Post-Install Configuration

Once Server 2003 is installed, if you're looking to run it as a regular desktop OS, you still have quite a bit of work to do. Fortunately, at least a few other people had gone before me in this area and wrote an excellent guide which can be found at the Microsoft Software Forum Network. There are quite a few things that need changed, mostly for convenience's sake. Here's a quick summary of all the tweaks needed:

  • New User: you need to create a regular user account to use instead of the Adminstrator account
  • Disabling Internet Explorer's Enhanced Security settings: By default, IE will only go to a whitelisted set of sites. Good for a server, bad for a desktop, so this has to get disabled.
  • Disabling Shutdown Event Tracker: Server 2003 logs all shutdowns and reboots. How annoying for a desktop.
  • DirectX, Sound / Graphics Acceleration: DirectX isn't installed and acceleration is turned off. Few people do any gaming on a server, so this makes sense. Installing and enabling these wasn't a big deal.
  • Theming support: Server 2003 uses the ugly Classic look by default, so turning on XP's shininess was a requirement.
  • CD Burning and Image Acquisition: Most desktop users have a need for a digital camera, scanner, or CD burner, so these services also had to be turned on.
  • Error Reporting, CPU Scheduling, System Restore: Once again, just some more configuration because of the different outlooks for a desktop and a server. Error Reporting is turned off except for critical errors, the processor scheduling is set to give programs priority, and system restore is turned on.
  • Games: The usual games which ship with XP are not included at all with Server 2003. It was surprising just how much work was required just to install them, too!
  • Three-Finger Logon: Logging in on a Windows Server involves using Ctrl+Alt+Delete to supposedly get around keyloggers. I don't know how successful it is, but knowing M$'s track record, I'm not real confident. I much prefer as simple a login as possible, preferably an automatic one.

Software Installation

After every Windows install, there is the inevitable install of what seems like 50,000 programs to get things from spartan to usable. With all the tweaks listed above, Server 2003 really looks and acts like Windows XP, so it's easy to forget that you're not running XP until you change hardware or install certain programs.

Antivirus software is one of them. I'm a fan of AVG's free-for-non-commercial-use antivirus package, but it won't install on Server 2003. By running a server operating system, it thinks you're running a server and, thus, refuses to install. I can't say I completely blame AVG for this move, and there's probably a way to beat it into submission (probably illegally, though), but I wasn't about to mess around with it. Instead, I installed DriveSentry, which while also free for non-commerical use, didn't slam the door in my face like AVG did.

After fighting with A-V software I ran into the same thing for several other programs. Office was one of them, for example. I actually had to install my copy of Office 2007 Professional on my machine (I avoid Office when/where/if I can), but Micro$ft did the same thing as AVG. When I installed a copy of my legitimately-licensed corporate version on it, it ran without a problem, but then Google Calendar Sync pulled the same stunt. It seems that quite a few people expect you to actually run a server with a server OS.

Other Configuration Adventures

One of the reasons I tried the whole Workstation 2003 thing was because of Remote Desktop. I'm well-versed in using VNC for my network, but it really is a bandwidth hog and I see noticeable lag even within my home network, so I wanted to give it a shot. I found out that licensing and setup for Terminal Services is just as draconian as the copy protection found in Vista. It wouldn't surprise me if the same guys are responsible for both. Once I did get it set up -- which did take some doing, though not as much as remote login via VNC on a Linux box -- I was quite pleased to see how responsive and easy-to-use it was. No wonder it's closely guarded.

File sharing using Server 2003 still stumps me, and I never got it working correctly. Perhaps I'm just a Weenix Unie on this one, but user management and file permissions under Windows operating systems just seems weird. I had what I thought was the proper boxes checked and the right users added and so forth, but I couldn't access files on my other Windows box that was running XP. Oh well.

Conclusions

It's kind of a nice idea in theory, but running Windows Server 2003 Standard Edition as a desktop operating system is not all that it seems on the surface. In the end for me, it was far too much work to stay with it. Even more than Linux, believe it or not. You're on your own for hardware support, certain regular desktop programs won't support it, and from a cost effectiveness standpoint, it makes no sense whatsoever. The only compelling reasons to run a Windows server might be for Active Directory (not sure about that one) or Terminal Services. Then again, that may not even be true -- I need to investigate xrdp a little further before I can definitively say so. For now, the jury's still out.

Friday, December 12, 2008

Further Refinement

Well, after a couple of weeks my most recent project has seen two beta releases, numerous bugfixes, and some of the feedback I've received has gone right back into the IDE. In fact, sometimes I'm amazed by the things I miss: the first beta had no way to open a project from within the program! I still shake my head in disbelief at that one. Beta 3 should see the light of day this week. I spent this week bugfixing and making minor tweaks. I also split the code on my hard drive into a stable branch and a development branch. The stable one isn't getting any new features -- only bugfixes -- so that there is a solid foundation for people to work with. The development branch has seen some smaller features this week, such as support for executing shell scripts bundled into projects, some tweaks to PalEdit's default keybindings, some more tweaks to better integrate the editor and the project manager, and so forth.

The big thing that I really got excited about this week was actually doing some development with Paladin. I found a couple of bugs and found plenty of ways to do some refining. Right now, one of my personal favorite features over BeIDE is the New File window. If I want to add a new class to the project, I can hit Alt+N, type in the name of the file, hit Tab and then Space to check the box to create both the header and the source file, and then Enter. In a matter of a few seconds, I have both a header and a source file and the header already has the header guard filled in for me. Sure, it's just a little thing, but with as often as I add new files to my projects, it's a nice convenience. The same goes for just being able to add a particular system library to a project just by checking a box in a window. Small, thoughtful touches to an interface don't amount to much on their own, but their combined helpfulness paves the way for a more pleasant experience overall.