Thursday, May 22, 2008

Awesome Utility - Sizer

I do most of my work lately via a remote desktop that is accessed via Citrix client over the web. My system has a dual screen setup where my laptop screen is a higher resolution than my secondary LCD. The Citrix client, does a nice job of spanning both screens. However, any application within the Citrix client, when maximized, also spans across both screens. This is far less than ideal considering I don't really want a gap in the middle of the application I'm trying to use. It also makes it hard to quickly resize the various apps I have running for efficiency.

Enter "Sizer" a free little application that integrates nicely with the windows shell. It basically adds a right click context menu to any window that lets you resize and reposition a window to your specifications. I configured it to have a "left" and a "right" setting. If I pick "left" on a window it jumps to the maximum size for my laptop monitor and repositions to Top=0, left=0. If I pick right it resizes to the max size of my external monitor and repositions to Top=0, Left=width of laptop monitor+1.

It's really fantastic and has already proven to be an invaluable and irreplaceable resource for me while working remotely.

Wednesday, May 21, 2008

Coldfusion Is NOT a programming language

According to the May 2008 TIOBE Software Index (that which measures the popularity of different languages being used in the Software Development profession) CF is no longer ranked. It isn't anywhere within the top 100 items listed, it isn't in any of the past archives has having been popular, and it won't be included again.

Why? Because it is a framework (akin to asp or jsp) and is not a programming language.

The definition TIOBE uses is that a language is only a programming language if it is Turing Complete. A simple definition of Turing Completeness is if it is able to compute any function computable. It is still counted even if it takes the language a huge amount of time and memory to complete this function.

So is ColdFusion not turing complete? I don't know if I buy that or not and nor do I like the negative light this shines on ColdFusion. The Tiobe index is regularly referred to as a good metric for platform viability and not having CF on there could be a serious blow.

Can anyone confirm that CF is not Turing Complete (or can anyone prove it is?) I'm very interested in seeing what others think about this turn of events and the current classification of CF.

UPDATE:
I've taken the two links from Jeff's comment and hyperlinked them here:

http://www.forta.com/blog/index.cfm/2008/5/5/TIOBE-From-Hype-To-Fiction
http://www.forta.com/blog/index.cfm/2008/5/6/TIOBE-Responds

The net result seems to be that Coldfusion isn't a programming language but CFML is. Of course, almost everyone who talks about CFML uses the term ColdFusion to refer to it so it naturally skews CFML down in the list at Tiobe (to presently #135) since Tiobe uses search engine queries to rank the various languages. It seems like a bit of a cop out on Tiobe's part to not include "ColdFusion" as a substitute for CFML.

Sorry I missed the hubbub at the beginning of the month. I clearly don't read enough blogs :O)

Wednesday, May 07, 2008

Back In XP

I liked Ubuntu quite a bit but there were a couple small niggles I couldn't get over and, in the end, work requirements just pulled me back to XP. I can't really say much bad about my time with Ubuntu and I'll keep it installed on my home pc - but it just isn't sufficient for my needs at work right now.

My Problems


Database Development


I do a lot of different database development specifically with MS SQL Server and Oracle. Short of installing a virtual machine I see no way to continue to do development on these two tools from within any Linux distro. While I have problems with SQL Server 2005 Management Studio stability it is still far more useful than nothing. PL/SQL Developer is pretty much the best tool I have ever used with Oracle DB's and is worth far more than we pay for it. I can't really live without either tool.

.NET


Sure, I could probably look at Mono - but I am not sure it is worth it at this point in the game. I have already gotten 3 C# .NET apps out there that I have to maintain and, as it turns out, one of them is being funded for further work. I'm not sure what is involved in porting one to Mono compatibility (or if anything is required) but if anything at all is required I'm sure the customer isn't going to pay for it and, honestly, why would they?

Music Player


This is just my personal thing but I tried out about 9 different music management programs on Ubuntu and I didn't like any of them. I use MediaMonkey on windows and it is so vastly superior in both features and performance in dealing with my music collection that it alone would have been enough to get me back to XP - that's how good it is.

Amarok and Exhaile were both "OK" but not too great and both were pretty slow at filtering my large collection of music. Neither was particularly good at organizing my music, neither had as much Amazon integration as I want (for tag cleaning after ripping a CD), and neither had good facilities for converting audio formats. Amarok had a plugin but it didn't work very well. Furthermore neither let you put different watches on different directories. I have one directory that I rip new songs to on my machine and then another that serves as the entire library. I want to watch both but I don't really want to check the big one on startup while I do with the small one. Finally, I tend to listen by Genre more than anything else. There is no easy/good way to browse by Genre in either tool.

MediaMonkey however just kicks ass at all of this. There is a free version but it is so damn good I have a paid version. I have never found another tool that is so good at managing my music (and I have a lot of it). Maybe I could have run MediaMonkey via wine but, considering the other issues I have already mentioned I didn't see much reason to try.

Cisco VPN Client


I installed the Linux Cisco VPN client stuff but it just doesn't work with our VPN - or at least I couldn't get it to. Meanwhile the windows Cisco VPN client works pretty easily. Plus it comes with a native GUI while in Ubuntu I had to install a separate KDE GUI that asked for stuff my Windows one doesn't. I really don't want to be an expert on VPN's just to connect to one.

UPDATE: Well I had someone show me what data I needed to provide - and they showed me a better gnome VPN client that integrates with the network-manager. So this is no longer a strike against Ubuntu at all.

Text Editor


gEdit was ok. Kate was Ok. Vi and Emacs? I don't want to learn a whole new keymapping system. I just want to edit my text. I have been using EditPlus for years and pretty much love it. While I think "E" and "TextMate" look pretty darn good I'm not even sure they are worth giving up Editplus for. EditPlus is light and fast. Sure you have to pay for it but, again, it is well worth the $30. It's just better for the kind of frequent editing I do than pretty much any other free text editor I have tried on either windows or linux.

TortoiseSVN


I use SVN for everything and TortoiseSVN is just fantastic. I don't mind using the command line but why bother when something as nice as TortoiseSVN exists. I found nothing remotely as nice for Ubuntu expect, perhaps, Gnubversion but I didn't get to try it out. I understand KDE has a nice integrated SVN client but I was running Gnome.

What Was Good



Synaptic


That things kicks ass. No way would I have tried out more than 5 music players without it. There is no easier way to download and install software. It's a work of genius. I love that thing. I will miss it's functionality in Windows.

Gnome-Do


I use "launchy" in windows but it isn't quite as nice as Gnome-Do (without the amarok plugin). Launchy is good but I just liked the feel of Gnome-Do better.

Easiest Apache Install Ever


Again this is thanks to Synaptic but man it was so easy and I had php, cf, and mysql all hooked up with it in no time.

I don't blame Linux or Ubuntu specifically for my switch back. It just isn't the right tool for my job. It would be great to have a much better MediaMonkey-esque music player/manager for Linux but that was really the only Linux shortcoming I found, and the fact that Hardy Heron shipped with a Beta web-browser. That kind of sucked; too many sites I go to (ESPN fantasy sports, Mint) don't work right in it.

If I didn't have to do any windows development I probably would have tried MediaMonkey via wine and stayed in Ubuntu; I was generally that happy with it. But, for now, I am back in XP.

Thursday, May 01, 2008

Ubuntu I wish I could Love You

I am trying hard to get things just right on my Ubuntu install and it is getting close. I could not recommend it to my non computer savy family members as their default OS - but it is getting close to where I can use it all the time.

Today I had to get past a few different issues:


  1. Lotus Notes 8.01 install. Please save your notes flames for another blog. I am not a fan of notes but it is what we use so I get in line lock-step. The install process is fairly smooth however getting Notes to actually work after you install it is not. The following steps assume you already have the tar file downloaded and extracted to some directory.
    • Open a Terminal Window and move to the directory you extracted the tar too.

    • sudo ./setup.sh : You need the sudo or it won't let you install

    • Just go through the setup instructions.. this part is pretty straight forward

    • Once the install is done...

      sudo chmod 755 -R /etc/lotus

      sudo chmod 755 -R /opt/ibm/lotus/notes/

    • The install also created a lotus directory in your home directory - GET RID OF IT; it's whacked. When you first start Notes it will recreate the directory and this time do it properly.

    • Start Notes and follow the setup wizard.



  2. Citrix Client Full Screen - I needed the Remote Desktop Client (RDC) to work across both of my screens while in full screen mode. I use an NVidia card so to get this to work I had to
    • install the NVidia settings manager (launch it as root)

    • change to "separate X screens"

    • enable Xinerama


    This has the effect of disabling compiz fusion but I don't care much about that; it's just fluff after all. I also couldn't have a panel bar on the top of either of my monitors (or else my mouse in the Remote Desktop Client) is offset and is fairly useless. After I restarted the RDC worked fine.

  3. Volume Control Didn't Work - this was really annoying. I could use the volume slider all I wanted but the volume wouldn't really change. This was fairly easy to fix.
    1. Open Sound Control
    2. Select ALSA for "Sound Playback" under Audio COnferencing.
    3. Select "PCM" for the Default Mixer Tracks
    4. Restart

    I don't know if you have to actually have to restart but I did.



Linux has come a long way in the past 14 years but it still has a ways to go before I could recommend it as a home replacement for my "normal" relatives.

Ubuntu Just Got A LOT better for me

If you read my prior post about my troubles with Ubuntu during my first week you will know I have been having troubles with my shift key in the Citrix Client. 90% of my development time is spent in the citrix client so getting this resolved was a deal breaker. Fortunately, today, I found a fix!

The Citrix Support Website had a posting on SHIFT Key Fails Using RDP in a Java Client Session however it says it only applies from a windows environment. Fortunately for me they are wrong because this fix also takes care of the problem from my Linux environment. Sweet!

In case the solution ever gets taken down here is the basic gist:

1. Launch your Remote Desktop Client.
2. When you get to the point where you are supposed to pick a computer to connect to hit the "advanced options" button
3. On the advanced options dialog select the "Local Resources" tab
4. On the local resources tab under Keyboard > Apply Windows key combinations, select On the local computer.

That's it. Now you won't be able to alt-tab inside the remote computer BUT you will be able to use the shift key, and frankly, I think shift is far more important than alt-tab.