Tuesday, November 22, 2011

Apache 1.3.41 on Windows 2008

Why you might ask would I want to install an old, depreciated version of Apache (v1.3.41) on a Windows 2008 x 32 server instance.  Well, in this case I have an application that I need to support that uses a very old version of cold fusion that only supports 1.3.x, so I don't have a choice.

This should however have been a pretty straight forward process, download apache, install it as service, start the service, confirm that it returns the default webpage, then get the application configured and running.  The only problem is that Apache would not start as a service after the installation.  It ran just fine from the command line, but when started as a service it would raise an error 1067 and exit.  The error in the event log is:

Faulting application Apache.exe, version 0.0.0.0, time stamp 0x478f7539, faulting module ApacheCore.dll, version 0.0.0.0, time stamp 0x478f7537, exception code 0xc0000005, fault offset 0x00026a7b, process id 0x9e4, application start time 0x01cca96325cefb6e.

Turns out that Windows 2008 has this security feature called "User Account Control" that prevents apache from installing properly as a service.  This can be disabled by clicking on Control Panel-> User Accounts.  Turn it off, reboot, and reinstall apache and everything is fine.

Oh, don't turn UAC back on or Apache will again refuse to start with a 1067 error.  I'm sure there is a good reason and a workaround, but I don't think it is worth spending anymore time on.

Friday, November 11, 2011

Windows Python and boto for AWS

Yeah, this is a little geeky, but I spent way too much time figuring this out so I thought that I would share.  I mostly work with Windows, but I want to do some Amazon Web Services (AWS) Scripting in Python (which I don't really know yet).  The way to do it seems to be by using a package called BOTO.  However, everyone online seems to write about BOTO and Python on Linux.

The first problem I had was that BOTO does not work with Python 3.x, but I didn't figure that out until I did a little digging as to why the setup script would not work with my Python installation.  So, only 2.x.

The next problem was that it was not really clear how to install BOTO.  It does not come in a .zip, but only in a .tar.gz format which intimidates windows folks.  Have no fear, it is not *nix only, it is just packaged that way.  Extract BOTO to a temp directly using 7zip or something else that can read tar.gz files. Then change into the directory and run 'setup.py install', which will build and install the module.

Now in order to access AWS you need to either put your credentials in a config file or pass them in your code.  The former is much easier.  All the documentation seems to indicate that you need to create a section called [credentials] in your boto.cfg file.  Hmm, where is the boto.cfg file in windows.  Can't find it.  Never did find it.  However you can set an environment variable called 'BOTO_CONFIG" that contains the path and the filename to the config file.  Easy enough.

Credential set, environment variable set, help (boto) shows that it knows where the boto config file is located... hmm, still doesn't work.  Still can't find the credentials.  Odd.  Oh wait, there is more... there is another environment variable called AWS_CREDENTIAL_FILE which should be set to the path to the file containing the [credentials] section.  Now it works.

Why was that so hard to find information about?  I have no idea.  Maybe I just missed it, hopefully this will help someone else out who has missed it also.

Tuesday, November 8, 2011

The new workout

Anyone who knows me knows that I really like going to the gym and really like lifting weights.  Unfortunately my current schedule really makes it hard to go the gym unless I get up at 5:30am, and that is not likely to happen.  I have decided to try a modified workout.

Typically I will workout for a few hours, full body weights, plus cardio plus stretching, but that just isn't happening.  Everyone keeps telling me that I should workout during lunch, but how do you walk 10 minutes each way to the gym, change, and workout.  Forget 2.5 hours, how to you do it in 60 minutes.

Well, I am modifying the workout.  I am working out in street clothes so I don't lose time changing... and am doing low reps high weight, so that I don't even really break a sweat.  I can't do too much in 30 minutes, but with HIT (High Intensity Traning) training 1 or 2 sets of 4 to 6 reps is all you need, and I can squeeze 8 mixed sets into 30 minutes.

It's only been 2 days, and it feels pretty good.  Workout heavy for 30 minutes, walk to Starbucks, get a protein smoothy and a sandwich, then back to work.  It works, except that I really want a nap by 3p.  I'm going to try to do it 4 days a week, plus a real workout on Sat or Sun.  Lets see what happens.

Monday, November 7, 2011

Outlook 2011 on the Mac will not start

We use Intermedia hosted exchange with Macs and PCs and a few Linux workstations.

One of my partners comes over and tells me that he is having a problem Outlook 2011 on his Mac Air.  When he launches it, Outlook briefly flashes the splash screen then closes.  He thinks that it may be related to some anti-virus software that he installed and uninstalled.  I have no idea.

I hit Google and find a reference to repairing damaged user profiles on Office 2011 Mac.  Launch Outlook while holding the Option key and it brings up the profiles and you can repair the profile.  Repairing goes through a few steps in which it scans the database, repairs it, makes a backup, then copies all the records.  Piece of cake, Outlook now launches and the user is up and running again.

Until... the same person comes over and asks why he is receiving alerts that he has hit his quota.  He had a 2GB quota, which lasted about 8 months, and a month ago I increased his quota to 3GB.  There is no way he should have been at his quota.  We look at his screen and see that Outlook is uploading data.  ACK!  The profile repair made outlook think that all it's data was not on the exchange server, so it was uploading everything back into exchange, an creating duplicate data. I exited outlook, launched it with the option key, created a new profile, set it as the default, then launched it and configured it with the Exchange server.

Lesson learned.  Don't fix profiles on Outlook when Outlook is connected to an Exchange Server.  Just remove the profile, create a new one, and let Outlook re-download all the data that it needs from the exchange server.  That would have been way easier and would have avoided all the duplicates.

Next posting will probably be on de-duping data in outlook...

iPad (iPhone) choices

A friend was shopping for an iPad the other day and asked the 2 question that seem to always come up (not white or black).  How many GB do I need and do I want 3G service.

My first iPad did not have 3G as I figured that I had a verizon MiFi hotspot and there was Wifi all over so I didn't need it. That worked great until I found myself on a business trip with the MiFi not working properly and no Wifi anywhere to be found.  I would gladly have subscribed to a month of the 3G service in order to have internet access, but I couldn't because I did not have the 3G model. The lesson, hedge your bets and buy the 3G model with no service, just in case.


The Memory questions is a little trickier as it really depends on the usage profile of the use.  The big memory hogs are photo's, video content, music and online publications that cache content.  If you download movies from iTunes (perhaps you travel a lot), figure that a full length film is 4GB, so you will likely want at least a 32GB device just have space enough extra space for movies.  Everything else is relatively small.  Some publications though are 100MB+ per edition and this can add up.  Podcast can take up a fair bit of space also so depending on how many old podcasts you keep on your device, it may be material.

Looking at the usage on my iphone though, I am using 17GB of 32GB.  10GB of that is music, of which I probably only listen to a small subset, but it is nice to have.  A few Apps use a lot of Memory (facebook is using 350MB, it must cache a lot of information).  I don't download podcasts or any publications or have any movies on the device, so the bulk of the difference is likely photos and videos as I take a lot and do not do a good job of maintaining the library.  With iOS5 and photo stream, your photo's end up on multiple devices, so that should be taken into account as well.

A friend recently lost their 16GB iphone and got an 8GB as a replacement and was constantly out of memory.  Lesson learned, 8GB is not enough, and apple would seem to agree as they don't even offer an 8GB model any longer.  I think that for an iPhone, 16Gb is manageable, but 32GB is better (considering that I am using 17GB currently).  64GB is overkill, at least the way that I use it.

An iPad on the other hand, which is more of a consumption device and may be caching a lot of publications (The new yorker is 150MB per issue and the NY times takes up 60MB) and movies (at 4GB each).  If you ever think you will want to put movies on it, and probably even if you don't, I would suggest not getting less that 32GB.  Just remember that as time goes on you will always use MORE memory, not less, so perhaps buying more upfront will future proof you a bit.

Tuesday, November 1, 2011

ALGO 8028 SIP Door Intercom

Installing a VOIP system in the office seemed like a good idea, but there were some subtleties that I had not counted on.  Take the front door for instance.  I should be easy to install an intercom that rings all the phone lines and allows someone to release the door and let the visitor in.  Right?  Wrong.  There are very few SIP Door Phones on the market.  I researched a number of models and it seemed like amateur hour.  Poorly constructed, ugly, even models where the release was in the unit itself, such that anyone with a screwdriver could open the unit, short two wires and trigger the door to release.

Through my research I came across the Algo 8028.  It did everything I needed, Attractive brushed steel, separate controller for security, simple browser based intercom to program it.  So I buy it, install it, configure it with my Ring Central account (which goes really well) and, um, it rings but there is no voice.  Hmm, call algo, upgrade the firmware (also easy) and voice is working but I cannot release the door.

Ok, another call to Algo, which tell me to call Ring Central, who tells me it is an Algo problem.  Grrrr.  So I email Algo a description of the problem, tell them what ring central said, and ask how to troubleshoot the issue.  The next day I get an email that they spoke to Ring Central and determined that the issue was that the that Ring Central is converting SIP DTMF to RTP audio DTMF and the Algo 8028 will not recognize RTP audio DTMF.  I appreciate the proactiveness.

Now hopefully either Algo will engineer a solution or Ring Central will change a setting and not convert the SIP DTMF. Until then, I can answer the door, but not open it.