Outlook is having trouble connecting to Exchange.  When you test webmail, the login interface comes up, but after submitting the form the following error is displayed:

Outlook Web Access could not connect to Microsoft Exchange. If the problem continues, contact technical support for your organization.

Exception
Exception type: Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException
Exception message: Cannot open mailbox /o=[org]/ou=[org_unit]/cn=Recipients/cn=[common_name].


Inner Exception
Exception type: Microsoft.Mapi.MapiExceptionLogonFailed
Exception message: MapiExceptionLogonFailed: Unable to open message store.

I checked Exchange and the services were running fine.  Windows popped up an alert right after to see drive space was low.  Only 10 MB was available.  Freeing up space brought it back online immediately.

If we had Nagios or similar setup on our corporate side to monitor our IT infrastructure this could have been caught well in advanced.  It’s certainly come in handle at our colo.

 

I had a problem with my network card locking up on my host machine and the saved state file got corrupt.

Emulator saved files can be found here:

C:\Users\{user}\AppData\Roaming\Microsoft\Device Emulator

The filename is something like:

{GUID}.dess

GUID reference (for me) is on the start menu shortcut:

Start > All Programs > Windows Mobile 6 SDK > Standalone Emulator Images > US English > WM 6.1.4 Professional

Example:

C:\Program Files (x86)\Microsoft Device Emulator\1.0\DeviceEmulator.exe” /vmid {GUID} /defaultsave PPC_USA_GSM_VR.BIN /memsize 128 /skin ..\Pocket_PC_Phone\

 

Environment:

I have a Drobo and internal RAID array on my Win 7 64-bit machine which is my file server.  I have a separate XP machine for incoming files that eventually get pushed to the file server.  And an OSX Mac Mini running Xbox Media Center stream to from the file server.  None of these machines are on a domain.

Network share issue:

Everything typically works fine for a week or two, then at some point I will no longer be able to connect to the file server. Opening a share or running the “net use” command returns:

error 58 the specified server cannot perform the requested operation

Solution:

Here are several potential solutions I tried by working myself down the list:

http://serverfault.com/questions/69049/system-error-58-while-accessing-shares-on-windows-7-from-windows-xp

http://real-world-systems.com/docs/systemErrors.html#x58

The band-aid fix for me was to restart the “Server” (LanmanServer) service on the file server.

Supports file, print, and named-pipe sharing over the network for this computer. If this service is stopped, these functions will be unavailable. If this service is disabled, any services that explicitly depend on it will fail to start.

 

Copying a 100 MB file from my host VMWare Server (non-ESXi) to a guest VM was going at a rate of 16 KB per second.

Things I tried that didn’t help:

  1. Tried different duplex settings since that NIC connects to a 100 connection while VM shows 1 GB, but there’s no way to change the duplex on this VM NIC since it shares the host NIC.  Which means even if I could, it likely wouldn’t make a difference.
  2. Added persistent route on host since there are multiple NICs on different networks.
  3. Disabled all NICs except for the one that could access the VM.
  4. Added Exclusion rule to VM file location and processes in MSE.
  5. Disabled MSE Real-time protection
  6. Checked File/Print Sharing Config on NIC (both sides)
  7. Checked Firewall settings (both sides & router)
  8. Upgraded NIC drivers
  9. Installed FTP Server on VM to see if alternative transfer method helped.
  10. Installed Windows Updates on VM I was way behind on (which required two reboots).
  11. Ran speedtest.net on server to test public traffic and it was fast.
  12. Confirmed VMWare Tools is installed on Guest OS.
  13. Moved Windows Update Uninstall and SoftwareDistribution\Download files to another drive on Guest to free up space (was running low, under 200 MB).
  14. Host OS is 8 cores, VM is 2 cores so plenty of resources available as opposed to a 1:1 config.

I was about to migrate the guest VM storage to another drive so it doesn’t live on the same location as the host OS.  And if that didn’t work, get a new NIC card to move from onboard to PCIe, but luckily I didn’t have to.

What fixed my problem:

http://serverfault.com/questions/174435/network-transfer-from-host-to-vm-very-slow-vmware-server-windows-2003-server

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1619

Disable large send offload in the network settings for the physical Ethernet adapter on the host computer. Note: This is host operating system dependent, not a VMware setting.

This approach increases the load on the host computer’s processor and may affect performance.

One of the Server Fault responses mentions a known issues with RealTek NICs and VMWare Server, both of which I am using, but since I the original question fixed my problem I move on to more important things, like playing Minecraft.

 

I spent a good three weeks troubleshooting this issue and finally found the solution.  It started when I decided to do several updates at once.  CF 8.0.0. to 8.0.1, apply the CFIMAGE hotfix, install a plethora of Windows updates (90+), and switch to the latest version of Java 6.

After several reboots, Coldfusion Application Server became unstable.  If I was lucky, it would take 3-4 service start attempts before it would run successfully.  And on occasion it wouldn’t last long.

  1. Event Viewer had no detail.
  2. Coldfusion Logs were similar ({cfapplication}\logs).  More useful if the application server is actually running.
  3. The runtime logs is where it’s at ({cfapplication}\runtime\logs\coldfusion-out.log).
  4. As well as runtime bin logs ({cfapplication}\runtime\bin\hs_err_pidxxxx.log).

“EXCEPTION_ACCESS_VIOLATION Java HotSpot(TM) Server VM problematic frame in ntdll.dll”

But what does this mean?!  I exhausted just about every effort.  Google searching kept returning people receiving unrelated memory errors.  I tried 5 different JVMs including the one that came with CF8.  Different JVM startup arguments.  Uninstalled Fusion Reactor.  Reinstalled CF8.  Rebuilt the VM from scratch.

Reinstalling CF8 actually worked, but as soon as I changed the Maximum JVM Heap Size to anything other than the default 512m, I was back to receiving the same error.  Unfortunately I didn’t realize changing the memory was the problem because CF started just fine as it sometimes it would.

On another server, I didn’t want to mess with Coldfusion at all and decided to only install Windows Updates.  That server became unstable.  Awesome.  I wonder which of the 90 Windows Updates caused this?

I’m usually pretty good at finding answers to my problems, but this one really took me down a notch and made me feel less of a person.  Weeks had gone by and I kept ending up back at the beginning.  I tried everything. Everything except for the one simple thing that would fix it.  Maybe I wasn’t good enough at my job, the one where I’m solving problems every day.

A few days later I knocked the JVM max memory back down to 512m.  CF started.  I restarted 20 times, even rebooted the machine, and it stayed up.  Nice!  Even though 512m isn’t enough, at least I know it’s memory related.  I tried 640m and 768m.  They would work more often than 1024m, but not good enough for production.  I assume it’s not a physical memory issue because I’m getting the same error from a VM on a different server.

Late in the evening, before I would call it quits by hitting the bottle, I did one last Google search.  Which lead me to this Server Fault link which mentions a specific Windows Update and that update having a subsequent hotfix for it.  The Knowledge Base article mentions an issue with the Microsoft ISA Server Control service failing to start on servers where multiple cores were registering as multiple CPUs.  My VM is a dual core running on an 8-core host.  After installing the hotfix and rebooting, all my problems went away.

The good thing about this whole mess is while I felt dumber the longer it went on I learned a good amount while reading up on JVMs, error logging on the CF and Java side, various JVM arguments and what they can do for the server, Citrix XenServer tidbits, and installing and configuring our web servers from scratch.

 

There have been a few occasions where I have need to print a large scale image across multiple pages.  Maybe I wanted to print a long list of tables+columns in a database schema or a snapshot of a web page.  Most commonly, the apps I use would only shrink or crop a large image to one page.  If I absolutely had to break it apart I would cut the image up and print each one individually.  Very time consuming.

I came across an Ask MetaFilter post of someone asking for the same thing and one of the responses mentions MS Paint.  Could it be true MS Paint actually has a use?  I don’t know how long it has supported this feature, but it does indeed allow you to print large scale images across multiple pages.

Start by pasting an image in MS Paint.  Then go to document menu -> Print Preview -> Page Setup:

The Fit to: option in page setup is something I’m most familiar with when printing Excel documents.  Simply select the number of pages wide by number of pages tall, click OK, verify the preview, print, and you’re all set.

Technology is amazing.

 

You have just installed the Tomato firmware on your LinkSys or Buffalo router and your ISP was kind enough to give you more than one public static IP. What you’d like to do is point each IP to a different machine on your network.

1. Configure static local IPs for each machine on your network

You can set this on the router side as opposed to having to configure each computer individually. With each machine connected to the router (wired or wireless), log into the Tomato administration interface and go to Status -> Device List. Click on the current IP of each machine and set the IP Address to something that’s easy to remember. For example, if your network is on 10.10.0.1 and you have three computers, set each machine like this:

computer_one 10.10.0.50
computer_two 10.10.0.100
computer_three 10.10.0.150


Be sure that those IPs are outside of the DHCP range. For my home network I like to set DHCP to be in the 200-220 range. After setting the new local static IP click Save at the bottom. Click the Reboot link on the router and release/renew the connection on each computer to make sure they’re now pulling the new IP.

2. Configure the public static IPs on the router

From the Tomato administration interface go to Administration -> Scripts -> Firewall.

Example public static IPs from your ISP:

64.100.100.50
64.100.100.51
64.100.100.52


Update the 64.100.100.* and 10.10.0.* values below to match your actuals:

/usr/sbin/ip addr add 64.100.100.50/29 dev vlan1   
/usr/sbin/ip addr add 64.100.100.51/29 dev vlan1  
/usr/sbin/ip addr add 64.100.100.52/29 dev vlan1

/usr/sbin/iptables -t nat -I POSTROUTING 1 -p all -s 10.10.0.50 -j SNAT --to 64.100.100.50
/usr/sbin/iptables -t nat -I POSTROUTING 1 -p all -s 10.10.0.100 -j SNAT --to 64.100.100.51
/usr/sbin/iptables -t nat -I POSTROUTING 1 -p all -s 10.10.0.150 -j SNAT --to 64.100.100.52

/usr/sbin/iptables -t nat -I PREROUTING -d 64.100.100.50 -j DNAT --to-destination 10.10.0.50
/usr/sbin/iptables -t nat -I PREROUTING -d 64.100.100.51 -j DNAT --to-destination 10.10.0.100
/usr/sbin/iptables -t nat -I PREROUTING -d 64.100.100.52 -j DNAT --to-destination 10.10.0.150


Paste the following in the Firewall tab, click Save, wait for it to process, then Reboot the router again.

3. Allowing people from the outside to reach your server

Now let’s say you have a web server on 10.10.0.50 and you already have the server configured, you simply need a way for public traffic to reach it. From the Tomato administration interface, go to Port Forwarding -> Basic. Under “Src Address” put the public static IP (64.100.100.52). “Ext Ports” should be 80 (assuming that’s the port your web server is running under). “Int Address” set to 10.10.0.50. Add a description like “Web server”. Save.

If all is well, you should now be able to hit the public and reach your local web server. You’ll want to setup host headers and DNS records to make it more user friendly, but that’s outside the scope of these post.

Note: Be sure to only expose the ports necessary for the services you want available and patch your server OS and web server to the latest version.

 

Right around the time the Apple iPad came out I decided to upgrade my Dell Latitude X1 (Samsung Q30) ultraportable notebook.  I wanted something I could used to comfortably browse the Internet while sitting on the couch.  I bought the X1 in 2005 as my primary notebook at work.  It lasted for a good two years and is still the best notebook I’ve owned to date.  Sadly, when I upgraded to another notebook my X1 essentially sat around and collected dust.

Late last year I jumped on the Solid State Disk bandwagon and got one for my work notebook.  Like many others have already said, it’s the best upgrade you can make to a notebook and for any power user is worth every penny.

Now, one of the greatest aspects of the X1 is it being fanless.  The only noise you’ll hear is the HDD access coming from the 1.8” drive inside.  I wondered if there were 1.8” SSD drives that would work in the X1 to make it completely silent.  Google quickly pointed me in the right direction.

The highlights:

  • The notebook comes with 1 GB memory + 256 MB on-board.  At the time there weren’t single 2 GB memory sticks for this notebook, but now they are available and work just fine (even ones marked for higher speeds).
  • Rather than going with an SSD, you can install a larger, faster than the stock drive 1.8” HDD for much less.  You’ll just need to buy an adapter for the HDD which fits really tight in the notebook.
  • Most people have been chasing the 32 GB MTron SSD drive, but I haven’t had much luck finding it at a low price (discontinued?).  KingSpec makes 8 GB through 128 GB compact flash 1.8” SSD drives.
  • You can put 16 GB, even 32 GB SDHC Flash memory into the SD card on the front and instantly have even more storage space.

What I purchased:

Each item I ordered can be considered an individual upgrade and I can confirm that each one works.  No part is dependent upon another which makes it easy to tailor your upgrade to what you’re in need of.  You might even be able to upgrade the display, but I’m not interested in that.

SSD Drive Performance Results

Before


Thanks you Rob Schouten and Tom Powell for sending me the before images.  I didn’t get a chance to run the benchmark prior to the upgrade.

After

The results aren’t as impressive as I was expecting on the writes side, but the read speed is not bad at all.

Additional Resources:

 

Over the past two days I redesigned my site and officially moved it to Tumblr from Mango Blog (and previously from BlogCFC).  The two main reasons for the move was to find a hosted solution and something that’s quicker to post to in hopes that I’ll post more often.

Tumblr supports RSS feeds which I planned to use for photos and recent posts lists, but you’re limited to the latest item and new items going forward.  Not so good when you have historical data you want to backfill.  Instead, I setup a scheduled task to pull down a list of feeds, format each feed to a specific layout, and copy up to Amazon S3.  Then I just needed to include the iframe as part of the theme.

I’ll post the Coldfusion/CFML code I have for this along with the what I wrote to import my old posts.

I’m going to attempt to set a schedule for blogging regularly primarily for my own reference.  Either development projects I’m personally working on or work-related problems I’ve come across and resolved.  Not to mention some of the other topics you’ll find links for in the header/footer.

 
I want to build my own MOO to hide in.

I want to build my own MOO to hide in.