Thursday, November 30, 2006

Ubuntu 6.10 Release: How did I miss it?

Wow, this was not something I thought I could miss. I completely failed to realize that Ubuntu 6.10 Edgy Eft came out over a month ago. I'm really quite embarrased.

The release announcement, dated October 26, is here. Looks good to me, I can't wait to try it out. You can download it from here.

I'm downloading Edgy now, when I install it I'll report on how it feels, although I'm regrettably pretty late.

Windows Command Line, I thought I knew Ye

I thought I knew a lot about how the Windows XP command line emulator worked. I've written a number of fairly complex batch programs, gotten pretty comfortable with a large number of command-line programs, and just today started working with the Borland C++ Builder 5.5, a command-line compiler for 32-bit Windows applications. But that led to me learning something new and surprising about the CLI today.

I have my My Documents folder on a different partition than my Windows installation. I installed XP to C:, but set My Documents to L:, which is my /home partition for my Linux OS on the same system (installed to U:). So when I was running the C++ Builder, and had to enter in files on the /home/My Documents partition as parameters to the C++ Builder, I got sick of writing the full file path.

Because I thought I had to. Until today, I couldn't figure out how to cd to another partition on my hard drive. I didn't realize that Windows was treating the partition as a virtual drive, even though it's obviously mounted as my L:. For some reason, it didn't occur to me to change drives like you switch to a directory on a floppy disk.

But that's all I had to do. Now, I don't need to write the full file path, because I can change drives and then cd to the proper directory. I'm basically an idiot for not realizing before that:
C:\> cd L:\ wouldn't work, and I need to type:
C:\> L: to change drives, and then:
L:\> cd programming\c++\helloworld to get to the directory containing my "Hello, World" source.

Moral of the Story: For those of you out there who, like me, couldn't figure out the obvious:
  • Windows treats mounted partitions as virtual disk drives, and not mounted directories like Linux and UNIX do.
  • You consequently need to change drives in a command prompt before you can change directories.
Hope this helps, it took me too long to figure it out.

C++ Compiler Predicament

I mostly program in Java and Visual Basic, but for some time I've been trying to become a bit more comfortable with C++. I had been compiling most of my programs under Ubuntu on my Linux partition using gcc, the free, open-source GNU C compiler. It's been working well, but I wanted to develop under Windows as well. That left me a two options.

First, I could run a Windows port of gcc through Cygwin (note to self: blog about Cygwin soon), a linux API emulator for windows. Cygwin effectively provides a bash shell from within Windows. Unfortunately, I couldn't easily set the Windows port of gcc up to run in Cygwin, although I admit I didn't try real hard.

My other option is to use a different compiler. Oh boy, which one to use. Well, Microsoft released the Visual C++ Express development platform for free (in fact, the entire MS Visual Studio 2005 Express suite is available for free download here) , so I set up VC++ and started developing under that. I guess I should note that I had to mess with some configurations and installations to set up the Windows Platform SDK and be able to compile native 32-bit executables without depending on the .NET framework.

So having to jump through hoops to use the VC++ compiler disappointed me. And I also didn't like working in the VC++ IDE. Sure, it's nice, and does a good job for someone who wants to produce working code quickly. But remember, my first goal is to learn and become comfortable with C++. Until I can write a bit more than a simple search algorithm or "Hello World" app, I don't want an IDE helping me along and handicapping me for later. Goodbye, VC++.

That left Borland C++ Builder 5.5. Honestly, I don't know why I didn't think of it before. It has all the functionality of gcc--maybe even more, but I'm no compiler guru. And it's entirely command-line based, which I like a lot. I feel that once you get a good sense of the tools available to you with a command line, the CLI is much more powerful and efficient for getting jobs done than a GUI. I don't have to deal with a bloated, albeit powerful, IDE like VC++. And, it's a free, small download.

Now, I can finally jump into Windows development and get a stronger foundation in C++, without being handicapped by an IDE I don't want or having to emulate an operating system that isn't what I want to use. Not to mention, C++ Builder is an easy to use but effective compiler.

Monday, November 27, 2006

Labels

Whew, three posts in a day. That's a record. Although I need to make up for not posting in over a month.

Anyways, I just finished cleaning up My Forty-Two Cents. I went through an deleted all of the comments that were spam, and added labels to every single old post. I like how the new beta of Blogger added those. They should add some relationships between posts, and make indexing services like Technorati do their job a bit easier.

Sounds Good

Over a month ago, I tried to figure out the best configuration for my Logitech Z-5500 Digital 5.1 Surround Sound speakers and Creative Labs SoundBlaster X-Fi XtremeMusic soundcard, and I finally got some answers. I ended up emailing Logitech support, and although a bit slow, were definitely helpful.

So, here's what I learned:
  • Use the sound card for Dolby Digital and DTS decoding, instead of the decoder on the Logitech control console.
  • Use the X-Fi instead of the speakers to upmix stereo and mono audio to 5.1
  • Use whatever is easiest to control volume. This is most likely turning the volume level on the soundcard to 100% and using the control knob on the speakers to make adjustments.
  • Tune the bass using the subwoofer control on the Logitech console, not the X-Fi control. Similarly, leave the THX Bass controls on the X-Fi alone and manage bass with the Logitechs.
I still need to find out from Creative Labs where to adjust Line-in, Mic, and Recording levels--with the software, with the source for the line-in itself (such as the radio plugged in, etc), or with the controls on the X-Fi panel.

Template Upgrade

Finally, I've got a chance to post again. College applications have been consuming my life, and my Thanksgiving break was wonderful, but busy.

Well, My Forty Two Cents has gotten a makeover. No drastic changes, I liked to old look, but when I logged in to post on something entirely different today, Blogger informed me of the new beta upgrades, including Drag-and-drop template editing, post labeling, and privacy controls.

I mostly stuck with the same template, and the transition was smooth. In about five minutes, I had my sidebar reconstructed, with the largest difference being the new hierarchical organization for the archive section. I used the Drag-and-drop template editing because it was there; most of my editing to the old template was done right in the HTML and CSS code, but I found the template and drag-and-drop tools to be adequate for what I wanted to do.

Tell me what you think. Or even better, tell Blogger what you think, and we might see some changes.