I am starting a new project and seeing I finally have enough horsepower to run multiple VM’s I started with a LAMP VM from turnkeylinux.org. After some initial playing around and tweaking I was ready to make it my test bed. This distro is real nice because it has some nice tools that make management a breeze.
So I get everything installed and running, vsftp, subversion, mysql and the website, and try and connect Dreamweaver to the repository on the virtual machine and keep getting an error something like
svnserve.conf:13: Option Expected
It was driving me crazy! So after playing with the conf file I finally figured out the it was a space the was before the option lines in the svnserve.conf file that was causing Dreamweaver to puke.
[general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read",### and "none". The sample settings below are the defaults. # anon-access = write auth-access = write ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the conf directory. ### Uncomment the line below to use the default password file. password-db = passwd
[general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read", ### and "none". The sample settings below are the defaults. # anon-access = write auth-access = write ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the conf directory. ### Uncomment the line below to use the default password file. password-db = passwd
Finally! I was almost ready to boot over to my linux side and do it from there, but I would have been distracted by playing with it seeing I still need to finish setting it up and configuring it.
So I guess it boils down to the folks writing the Subversion part of Dreamweaver over at Adobe didn’t think to parse for leading spaces, or probably trailing spaces too. Oh the joy!
I’ve been playing with LINUX in it’s many flavors for years. Primarily for server usage, web servers, email servers, file server, etc…, occasionally playing with desktop versions to see how they are coming along. Up until now they have been lacking, the GUI’s just all seemed to "Romper Room-ish" to me.
Lately though things have been picking up. I started playing with some live cd’s of Ubuntu and Fedora Core running them in virtual machines on my workstation and was impressed. So impressed that I threw another hard drive in my workstation to see if Ubuntu could handle it, my work station that is! Low and behold it wasn’t to painful. The hardest part was setting up my 4 monitors to display in the correct order. After grabbing the proprietary nVidia drivers using Ubuntu’s Software Center all was golden.
Back to the subject at hand though. So in my search for live cd’s to play with I came across an article on /. that listed "Unusual, Obscure and Useful Linux Distros". It listed distros I never heard of like "Tinfoil Hat Linux", a distro for the uber paranoid and "Ubuntu - Christian Edition", need I say any more.
The most interesting to me was "Musix – GNU + Linux". A 100% free, open source multimedia operating system. I have been playing around with Linux audio tools for years and they have been either lacking in functionality or just a pain in the ass to get configured correctly. Until now!
I grabbed a copy of the live cd/dvd and went to town. I first installed it in a virtual machine to get the hang of it and see what it actually has installed on it. Man was I amazed! Not only does it have Ardour, a feature rich audio recording program. Rosegarden, a rich midi/audio recording/writing program. It has almost every free Linux synth imaginable. Not to mention score writing and editing software, amplifier modeling, drum machines, virtual keyboards, virtual guitars and much much more! It even has Karaoke software! And to tie all the audio together it has JACK server, essentially a software patch panel that lets you hook pretty much hook any output to any input with the drag of a mouse.
After playing with the live cd for a while in a virtual machine, I began the process of installing it on my music server. First thing I had to do was make some room for the install by resizing my XP partition. After the install I had some major problems though. For some reason it detected and wrote the hard drive paths as SCSI(sda) instead of IDE(hda) so it wouldn’t boot past the initial Grub loader. I had to boot to a Linux rescue disc and manually edit 2 files, /etc/fstab and /boot/grub/menu.lst and change the mount points from /dev/sda1 the /dev/hda1.
So after I tackled that problem, the X server wouldn’t start up. I switched to a terminal and stopped it then ran the debian config for the X server but that didn’t detect my monitor. WTF! After a little digging I found a script in the /bin/ dir named xorgmusix.sh. I ran it and Voilà! X Started up! Much to my dismay though only one monitor fired up and the mouse didn’t work. No biggy! I just flipped back to the terminal and checked the xorg.conf and saw that it wrote 3 options for the mouse, serial, ps2 and usb and was trying to load them all at once. So I added a few comments along with a few lines to get my second monitor to fire up restarted X and I was all good!
I’m off to play with it now to see if it will work with my M-Audio Uno USB-MIDI interface.
An anonymous reader points out a recent story at NPR describing one of the greatest lightshows in history ? a US?hydrogen bomb test 250 miles above the Pacific Ocean in 1962. The mission came about after James Van Allen confirmed the existence of radiation belts around the earth that now bear his name. As it turns out, the same day Van Allen announced his findings at a press conference, he “agreed with the military to get involved with a project to set off atomic bombs in the magnetosphere to see if they could disrupt it.” According to NPR, “The plan was to send rockets hundreds of miles up, higher than the Earth’s atmosphere, and then detonate nuclear weapons to see: a) If a bomb’s radiation would make it harder to see what was up there (like incoming Russian missiles!); b) If an explosion would do any damage to objects nearby; c) If the Van Allen belts would move a blast down the bands to an earthly target (Moscow! for example); and ? most peculiar ? d) if a man-made explosion might ‘alter’ the natural shape of the belts.” The article is accompanied by a podcast and a video with recently declassified views of the test. They also explain how the different colors of light in the sky were produced.
The main website I work for was getting complaints from users that one of our pages was displaying “broken”. As it turns out, it was a problem in IE only and it had to do with the new “Compatibility View”. When Compatibility View was on the layout of the content was totally jacked, no-where near readable.
After figuring that out I had to figure out how to stop the users from being able to view our website in Compatibility View. So me and another associate from work start hitting the webs to see what we can dig up. I come across a page on Microsoft’s MSDN website saying you need to send your information to them to be added to a white list that they keep and distribute to the browsers. You have got to be kidding me!
Right after I find that link my buddy from work shoots me another link to another page on M$’s MSDN site and this link to a blog saying all I had to do was insert a meta tag right after the opening head tag and it would force IE into what ever version I wanted. Sweet!
<meta http-equiv="X-UA-Compatible" content="IE=8" >
Unfortunately it didn’t work in my scenario. I, like many others, am using some of the built in CF UI components which forces the loading of CF’s supporting files immediately after the opening of the head tag. So trying to add a meta tag before that is futile! Also, you would have to add it to every page on the site unless you were using some sort of template system.
So with the meta tag in mind I go back and take another look at the second MSDN page and this little chink of code jumps out at me. It basically states that using the config file for an M$ .NET/ASP site you can set a custom header to force IE to your needs;
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <clear /> <add name="X-UA-Compatible" value="IE=EmulateIE7" /> </customHeaders> </httpProtocol> </system.webServer> </configuration>
So I do a quick Google to see if I can dig up any more info on it because we/I don’t use any of that on the website and I come across this page that says you can just add it to the IIS config under Custom HTTP Headers. Even better! This would take care of it site wide. How delicious!
As I was writing an email to my buddy on what I found so he can make the changes on the server I started thinking of other ways that this can be accomplished. Hmmmmm? In my case, I just added one line of code to my main template file;
<cfheader name="X-UA-Compatible" value="IE=8" />
Done deal! In Coldfusion you could also add it to your application.cfm/cfc if needed, but if you do remember that it will be called on before every cfm page is processed. Meaning, if you are using any includes the extra header will be sent for that include. This could result in some weird display issues.
It then gets me thinking how I can do it in Apache on either a server wide basis or per site. Of course it gets a little more tricky but relatively it’s not that painful!
First and foremost you have to make sure you have apache configured with mod_headers and that it’s loaded in your config. If you have access you your server/apache config, open the httpd.conf in your favorite editor and check to see if the following line is in your modules/ Dynamic Shared Object (DSO) Support;
LoadModule headers_module modules/mod_headers.so
If it’s there and not commented out, i.e. doesn’t have a # in front of it, you are ready to go. While you have the file open, now is the time to decide how you want to apply the workaround. If you just want it to be applied server wide add the following line just below the modules section, or anywhere below that point, I just chose to put it there for convenience.
Header add X-UA-Compatible "IE=8"
Save the file and restart httpd. It now should be applied server wide. You could for insurance wrap it in an if statement as shown below just in case, but I like living on the edge!
Header add X-UA-Compatible "IE=8"
If you want to use it on a site per site basis then there are 2 ways of doing so. The first is by adding the above line to the virtual server config for the website. The second is by adding it to the .htaccess file at the root of your website. Either way will accomplish the same purpose.