Search
  You are here: Tech Blog Register   Login  
All Things Tech... Mostly
Author: host Created: 12/20/2006 5:38 PM
On a daily basis, I encounter technology, software, and code that I like to share. This blog serves as a sharing point as well as a living "bookmark" for me.

I use Skype for telephone serv ice in my office.  By leveraging the Skype Out and Skype In functionality, clients can call a normal land line phone number and reach me regardless of which computer I may be on.  Even when I'm traveling with my laptop, I can receive an place calls.  My only equipment I need to have with me besides the laptop is a headset. 

I have discovered one custom setting that I make after starting Skype.  It involves boosting the process priority of Skype.exe and skypePM.exe.  I set the priority to Above Normal using the Windows Task Manager.  Effectively this gives Skype precedence over my other processes which may include mulitple VMWare virtual machines (all of my development is done using Windows 2003 Server VMs).

After boosting the priority, I'm having near perfect conversations now with very little static and sound break up.

To change the priority of the Skype processes, follow these steps:

1.  Start Skype.

2.  Start the Task Manager by pressing Ctrl-Shift-Escape.

3.  Click on the Processes tab.

4.  Click on the Image Name column to sort the column.

5.  Scroll down and located Skype.exe and skypePM.exe.

6.  Right click on each Skype.exe, choose Set Priority, and click Above Normal.

7.  Repeat step 6 for skypePM.exe.

I've tested these steps successfully on Vista Ultimate 32 bit and Vista Ultimate 64 bit using Skype Version 3.6.0.248. 

Let me know if you have better Skype success after making these changes.

The Mission

A new website I was contracted to create really needed a custom look and feel.  Much more than I could find out at sites like SnowCovered.com.  So this meant I had to get serious and put a skin and container together for the site.

So I located a set of ASCX and CSS files that used DIVs only.  Next I used Photoshop CS3 to compose the site design and get sign off from the client.  Now the challenge, turn the design into a workable skin.

Some quick background...  I have a Virtual server I develop in so I can install DotNetNuke locally and get everything working before I put it on the client's server.

Steps to Success

1.  Package up the basic Skin and Container set into two ZIP files and upload to your local test server.

2.  From your browser, navigate to Host Settings and scroll down to Performance Settings.  Change Performance Setting to No Caching and click Update.  This will allow you to make changes, refresh the browser, and see the results whether good or bad.

3.  From Explorer, navigate to your DotNetNuke folder and then descend to your portal (e.g. c:\inetpub\wwwroot\dotnetnuke\Portals\0).  You will find your uploaded files in the Skins and Containers sub folders.  Open up your skin.ascx and container.ascx along with their respective CSS files using Visual Studio or your editor of choice.

4.  Make your changes and test.  Without the caching, you can easily do the debug cycle of Save, Refresh, Review.

5.  Once you have your skin and container ready for production, ZIP them up in place and upload them.

Using this methodology, I turned out this website today:  www.landcomservices.com/

As a bonus, I Twittered about the new DotNetNuke website and quickly received positive feedback from Nik Kalyani, CEO of DotNetNuke.  Thanks Nik!

If you haven't tried DotNetNuke, you are missing out on a inexpensive platform for enabling your clients.  As a Content Management System, it enables your clients to do minor updates without additional costs.  For many clients on tight budgets, this is a big selling point.  Plus I can turn out a DotNetNuke site in a fraction of the time needed for full scale development.  Give it a try, you'll be pleasantly surprised.

--David

I converted a physical server to a virtual server using the VMWare Converter software.  This went flawlessly.  As part of the conversion, it even gave the virtual version of the server a new name so I could bring it up in parallel to the physical one. 

Everything went smoothly until I noticed today that SSL (port 443 connections) was not working properly on the Default Website.  No amount of prodding inside IIS Manager fixed the issue. 

After a bit of thinking, I deduced that maybe the certificate that I installed for SSL was somehow linked to the old server name.  I re-imported the certificate (PFX file) and bingo the SSL portion of the site was operational again.

Kewl!

--David

Following Google's lead, the other major search engines, Yahoo and MSN, have started weighting placement in the search results with your domain expiration.  Basically, if your domain expires every year, your placement will fall in the results since you are not planning on a long term existence.  Even though this might not be your intention, it appears so to the placement algorithms. 

The placement weighting for domain expiration can be as high as 75% of the overall value.  This level definitely warrants extending your domain expiration to 5 or more years into the future. 

I've been experiencing some bluescreens recently with Vista Ultimate x64.  The bccode I'm receiving is 50.  After a bit of research, I found that sometimes memory is the cause of this code. 

In the past I did have a bad memory stick that caused my workstation to bluescreen quite freqently.  A third party memory tester from PC Magazine helped determine which stick was bad and after replacement, no more bluescreen.  Sweet!

So to rule this on Vista, I found a kewl built in utility that will test your memory after during the startup phase.  Simply click Start | Run | and enter MDSched.exe.  Follow the prompts, restart, and watch the test proceed. 

In my case, the memory was good.  It's probably a bad driver I've installed so the search will continue.

The Purchase

This week, I really took a hard look at my existing server that runs all of my support systems (Active Directory, Exchange 2003, SQL, and IIS) and found it was struggling to handle the load.  On Thursday I went ahead and purchased a new box complete with Core 2 Duo 6400, Gigabyte 965DS-G motherboard, 4GB of DDR2 800mhz memory, a 300GB SATA 3 drive, and an ultra quiet case from Antec.  Construction took place on Thursday and Friday evenings.

My original plans to go down and work on my sailboat, Endless Summer, were scrapped for a full weekend of reworking my environment.  I decided early on that using VMWare GSX Server with core systems seperated into their own Virtual Machines (aka VMs) would be prime.  This would give me easier upgrade paths down the road.  I would have preferred VMWare ESX but it only runs on SCSI drives – SATA is not supported.

Virtual Machines

The VMs were broken down into Active Directory/Exchange 2007, SQL Server 2005, and IIS 6 for web and ftp traffic.  To run Exchange 2007, I needed a 64 bit operating system and opted for Windows 2003 Server Standard 64 bit.  Exchange 2007 installed without trouble and but did require some research and additional work to integrate it into my existing Exchange 2003 environment.  Next I created a Longhorn 32 bit VM with SQL Server 2005 Standard Edition.  Finally, a VM with Windows 2003 Standard 32 bit was created to take care of my front line web traffic. 

So on a single server that cost around $1200, I'm running the equivalent of 3 physical servers -- each having their own CPU and memory allocation.  Even more important is the fact that each VM can be moved to new hardware should the load become too much.  This move can be done by simply copying files to a new server with VMWare Server running.  Sweet!

Exchange 2007

After Exchange 2007 was installed, I moved all the mailboxes and the Offline Address Book from my Exchange 2003 box using the 2007 Management Console.  Then I started testing and found that outbound and inbound mail was not flowing.  After reading a bit I discovered that by default Exchange 2007 wants to have an Edge Transport server to handle the Internet based SMTP traffic.  Further research showed that you can make a few changes to your installation and turn a Hub Transport server into a fully functional Hub/Edge server.  For small business this will be advantageous. 

To modify the Receive Connector so that Internet traffic can send you mail, use the following command from the Exchange Management Shell:

Set-ReceiveConnector -Identity "Default " -PermissionGroups "AnonymousUsers"

Next you will need to add a Send Connector from the Management Console.1. Expand Organization Configuration2. Under the Actions menu on the right hand side of the window, click “New Send Connector”.3. Give the connector a name (e.g. “Internet”) and choose Internet for its intended use and click the Next button.4. On the Address Space page, click the Add button and put in the Domain value ‘*’ and click the Ok button followed by the Next button.  5. On the Network Settings page, click Next.6. On the Source Server page, click Next.7. On the New Connector page, click New.

Now you should test your configuration using an external webmail source like Gmail.  Make sure you can send and receive externally.

Next you should test your configuration just to make sure you don’t have an open relay.  I used the Abuse.net page at http://www.abuse.net/relay.html and it worked well.

Next, I needed to address the Outlook Web Access problem. Since I had installed Exchange on a box other than my front line web server and since I only have one public IP, I had to get creative for OWA access.  By using a different port, 8443, I was able to route OWA SSL traffic to my Exchange server.  Changing the port number involved two steps - adding it to the SSL Identities list in the Advanced Web Site Indentification panel in IIS and then modifying the OWA Client Access parameters in the Exchange Management...

Read More »

UTF-8 encoding on my text fileToday I was having trouble with a simple text file receiving 3 characters at the beginning of the file.  After checking to make sure none of my output strings contained the characters, I started checking the methods use to write the file.  Sure enough, I had forgotten to change the default encoding (Encoding.UTF8) to Encoding.ASCII.  After changing my method parameters, the file came out clean and ready to use.

Example code:
My.Computer.FileSystem.WriteAllText("c:\myfile.csv", content.ToString, False, System.Text.Encoding.ASCII)

In September, I knew I had to do something about my development environment.  The systems I had in place were causing too much "lag" in my build/test cycles. 

During my parts selection for the new development workstation, I chose the Western Digital Raptor 10K RPM drive.  Although you pay more for less space, you gain up to 30% in read/write speed.  This directly translates into faster build/test cycles. 

Here is a chart showing some testing done with the drive:
http://www.barefeats.com/hard38.html

So when considering new systems and their associated cost, also consider the time saved during the project and what that is really worth.

This is repost from Hugh Mc Gauran's blog that I found useful:

Error 15023: User already exists in current database - Easy Fix

After doing a restore from a SQL Server backup, the users login rights are removed from the database yet the user itself still remains in the roles of the database. This means that when you try and add the user again you get the error "Error 15023: User "albert" already exists in current database" and the addition fails.(where albert is the user you wish to add)

The quickest way to get this working is using query analyser and running the following command when working on the actual database.

EXEC sp_dropuser 'albert'

This will drop the user from the database and you can then re-add the user through the GUI or through a SQL query!

This one couldn't be easier.

1. Install Trillian and fire it up the first time.
2. Shut down Trillian.
3. Copy the \Program Files\Trillian\users\default folder to the same spont on the new workstation.
4. Start up Trillian and test.

 

Other things you might like...
 

All Things Tech... Mostly
 

Blog Search
 

All Things Tech... Mostly
There are no categories in this blog.
 

Copyright 2009 by SummerWorks.us Terms Of Use Privacy Statement