Subscribe: Craig Gemmill's Blog
Added By: Feedage Forager Feedage Grade B rated
Language: English
custom  drives  emc  file  group  live  make  microsoft  new  page  part  portal  site  sps  time  vault drives  vault 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Craig Gemmill's Blog

Craig Gemmill's Blog

There is nothing more secure than an educated user!


Exchange 2007 New-OwaVirtualDirectory InvalidOperationException

Thu, 02 Apr 2015 18:30:17 GMT

A client recently upgraded their Exchange 2007 environment with cummulative update 18. Upon reboot, the owa was non operational. The quickest fix for a damaged owa is:

Remove-OwaVirtualDirectory “owa (Default Web Site)”
New-OwaVirtualDirectory -OwaVersion "Exchange2007" -Name "Owa (Default Web Site)"

Unfortunately, New-OwaVirtualDirectory was failing with ...InvalidOperationException... There is an article out there about IIS running in 32 bit mode and using the following command to set it in 64 bit mode:

cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 False

I don't know if that ultimately was necessary or not, but it didn't immediately resolve the issue.

I noticed that the owa virtual directory was being created, but not the AD object required to populate the EMC owa tab (get-owavirtualdirectory). I also saw that IIS was crashing and needed to be restarted after the New-OwaVirtualDirectory command had failed. After many failed attempts, here is what I ended up with.

1) Stop IIS
2) Make a copy of the metabase.xml file (systemroot\system32\inetserv\metabase.xml)
3) Edit the metabase.xml file and removed the 4 (I think) entries for the OWA virtual directory and any OWA sub directories
4) Start IIS, and confirm that OWA virtual dir is not present
5) Run the New-OwaVirtualDirectory -OwaVersion "Exchange2007" -Name "Owa (Default Web Site)"  command
6) As soon as IIS crashes, quickly restart IIS <- Time critical procedure
7) New-owavirtualdirectory should finish without error (assuming you are in the same boat I was)

Just one of those things.

A blank home page makes for better productivity (for me)

Tue, 14 Feb 2012 15:11:00 GMT

Can’t remember why you opened a browser window? Maybe it’s your distracting homepage...

When you open a browser window and you are bombarded with thought provoking content, you’ll struggle to maintain track of your current goal. At least that was the case for me.

Changing my browser home page to blank has worked wonders for me, and I suggest you give it a shot.

SQL Intellisense not working? Maybe you have an offline database.

Tue, 20 Dec 2011 19:24:00 GMT

Beside the regular culprits, an offline database will cause Intellisense to fail as well.

Detaching or bringing the offending database online will resolve the problem.

Site always renders in quirks mode? DOCTYPE must be the very first item on page!

Fri, 29 Apr 2011 21:26:00 GMT

Every now and then I'll throw a Response.Write() in my code to do some debugging. It always messes up the entire layout of the page when I do that, but I never really bothered to know why. After all, it’s just a temporary situation.

Turns out that the DOCTYPE declaration must be the very first line in your page or the browser will render in quirks mode. When you use Response.Write() on the page, it puts the output before the DOCTYPE, which will cause the above mentioned issue.

So if you're using Response.Write() for anything, make sure your DOCTYPE is first in line. It's worth mentioning that you should also make sure it's a well-formed, non-quirks, DOCTYPE declaration.

Visual Studio 2010 Service Pack 1 - Test first!

Thu, 10 Mar 2011 21:30:00 GMT

It appears that our run of fairly benign VS SP’s is over…

I've now installed the VS 2010 SP1 in a few simple test environments (x64) and all of them are having issues.

Add-in failures, failed package loading, missing SQL Intellisense, XAML designer failure, etc.

Make sure you test this Service Pack thoroughly before you release it to your production environment.

Microsoft Connect is the official repository for issues with Service Pack 1.

Open Paradox database with Access or as SQL linked server

Sun, 06 Mar 2011 03:32:00 GMT

First and foremost, if you're using Office 2010, Paradox support has been removed ( You'll need Access 2007 or earlier.

If you're reading this, then you've probably run in to a cryptic error message and/or inconsistent Paradox functionality with the aforementioned products. The most common error message being: "External Table not in Expected Format"

Here are two of the most common resolutions:


- You probably NEED BDE (Borland Database Engine), available here. I know there are articles that talk about it working without BDE, but I’ve never seen it happen.

- You may have to copy the Paradox database files locally. There is sometimes an issue with accessing the files across a network path.


That’s it. Try it.

Good luck,


DELL EMC AX4-5 vault drive upgrade

Fri, 18 Feb 2011 02:52:00 GMT

Ah, the DELL rebranded EMC Clariion AX4 (AX4-5SC, AX4-5, etc). It's awesome, but man do those Vault drives (and DELL/EMC support) make it so unfriendly.I’ll skip most of the background, and just get right to it. First and foremost: This is an account of my experiences. Your experience will probably differ, and you’ll probably lose all of your data. Try this at your own risk.We picked up a couple of these devices through an acquisition and they simply didn’t have drives large enough for our intended use. Upgrading the non-Vault drives is simple… pull out, plug in. Of course, you have to use EMC formatted drives (non-EMC SAS/SATA/FC drives will NOT work), which are pretty hard to procure from EMC directly without a valid support contract. It turns out that DELL is actually pretty well aligned to get these. Some of our other suppliers had month+ waits, but DELL had them to us in a few days.Now, the Vault drives: The Vault drives are the first 4 drives in the AX4-5 (0,1,2,3). You can identify them by the little yellow stickers that warn you not to move the drives from their location. And you shouldn’t. The Vault drives contain OS, config and other information. If you pull these drives from the system, it will not fully boot (you can still connect via serial). If these drives fail in a certain sequence, the same fate will ensue. Simply put, you need them to be healthy.If you do happen to trash the Vault drives for any reason, you can buy the 4-pack formatted and pre-loaded through DELL/EMC, but there is a premium, and finding someone who can actually get the part numbers is difficult at best.Upgrading the Vault drives is generally a taboo subject for the end user, and I don’t condone it either. I’m sure it voids your warranty, lights Churches on fire, and brings Justin Bieber to haunt you in your sleep… but if you’re not using them in a production environment, or you buy them second hand on eBay, what the heck, right? I’m in.This is not about upgrading Vault drives by using new Vault drives, as I don’t have any experience with that. When we put in a new 4-pack of Vault drives, we just swap them entirely and destroy any arrays/pools that are already created because we generally are putting in larger disks and want to be able to utilize the entire space.EMC Powerlink is EMC’s customer portal. http://emc.powerlink.comYou can sign up for a free account, register your AX4-5, and then access firmware, downloads, support, etc.Anyway, upgrading the Vault drives by using non-Vault drives:1)     The AX4-5 should already be fully initialized. If it’s not, there is a tool that comes with the system to do this. It can also be downloaded from the EMC Powerlink site. Navisphere Storage System Initialization Utility. 2)     I’m 99% sure that all of the Vault drives have to use the same interface as each other, and you probably want to match the old Vault drives too. If you have SAS vault drives, use new SAS drives. SATA = SATA. 3)     The size of the new drive has to be greater than or equal to the old Vault drive size.4)     DISCONNECT all hosts attached to the device via Fiber or iSCSI.5)     Boot the system and bring everything online.6)     Your array should not have any warnings (no orange lights). For instance, one time when I did this procedure, Storage Processor B was turned off. When I was done, I couldn’t get Storage Processor B to reinitiate no matter what I tried, and we got all kinds of “software cannot talk to storage processor” type errors.7)     If available, upgrade the system firmware. Can be downloaded from EMC Powerlink site. Follow all directions and wait for system upgrade to finish completely.8)     Pull out the Vault drive marked #3. The light by the drive [...]

Beware: Group Policy DNS Settings

Thu, 17 Sep 2009 01:14:00 GMT

I like to keep my posts targeted at more obscure topics (at least that's my excuse for not posting more often), and this one is no exception.We have started the process of integrating several disparate companies as part of a corporate acquisition. We chose a location similar to the corporate HQ for the first migration, believing that it would be the easiest location to roll over.We proceeded to migrate this location...Sure there were some bumps and headaches along the way, but everything had a straightforward solution. The kind of issues that you figure out by using the right combination of experience, tools, and kb searches.Using Active Directory Migration Tool (ADMT) (as we have many times in the past), we started to migrate the workstations. The machines accepted the ADMT agent install, joined the new domain, and rebooted. Upon rebooting, the machines were not updating their Service Principal Names (SPN) in Active Directory (AD), or their A records in DNS. The event log on the migrated machines were throwing the following errors:Error: 5788Attempt to update HOST Service Principal Names (SPNs) of the computer object in Active Directory failed.Error: 5789Attempt to update DNS Host Name of the computer object in Active Directory failed. …And as a result, the machines weren’t really a part of the target domain, which obviously caused all kinds of other issues.Clearly a DNS issue, but all of the tools we’re reporting correct settings and behavior. A lot of digging later, a setting was found in the Group Policy of the source domain that proved to be the issue. It was the “Primary DNS Suffix” policy pointing to the source domain instead of the target.As the title says, beware of the Group Policy DNS settings, especially “Computer Configuration\Administrative Templates\Network\Dns Client”. It turns out that these settings take precedence over all of the information supplied in your interfaces, DHCP settings, etc. Even worse than that, these settings do not show up in the output of any of the tools we’ve come to rely on (ipconfig, netsh, Powershell, etc).While this certainly will impact anyone performing migrations, it also has a much wider scope of interference. I hope this saves someone the time we wasted.Here is a Microsoft KB that actually has the Group Policy issue noted at the end of the article:  [...]

A New Era of Software

Sat, 18 Nov 2006 06:58:00 GMT

I was reading a post by Rob Chartier titled, "Microsoft needs to give developers a break...", and anyone whose been keeping up with news from Microsoft these days can easily assume that his post is talking about all of the new and soon-to-be software releases. I was going to leave him a comment, but it soon became a post.

Overall, I agree... but it's bitter-sweet. I love new technology, always have... and I'm particularly thrilled with all of the new bits for Developers, IT Pros, and even the daily user that are being, and will be released by Microsoft: WF, WCF, WPF, ATLAS, Vista, CardSpace, Exchange, SMS and all of it's buddies, Longhorn, Storage Server, ISA, MapPoint, Office, IIS, IE, Live, WinMo 5, CE 6, PowerShell, SharePoint, BizTalk... and on and on.

So what makes it different from the last several years? Well, it’s easily overwhelming because a lot of these new releases are not relatively simple updates to the software we know, they're so different that it's like learning an entirely new product.

Also in the past, we've seen a lot of new software come out that was not easily adopted by small-businesses. So unless you were strictly working with major corporations, you had some time to play with software before you saw it become widely used. Now, small-business is booming and MS is releasing a lot of "lite" versions to meet these companies’ needs and budgets, so it's not leaving us much time to get familiar with the products before they become main-stream.

The sweet side of this is that it's new technology, and it's only a matter of time before you figure it out.

A new era of software is upon us and I'm just excited to be a part of it.

Halloween Horror: The SQL Timeout

Mon, 09 Oct 2006 08:50:00 GMT

I don’t know when it started or why, but I love Halloween (and autumn for that matter). So keeping the tradition of Halloween alive, I’ve decided to share some “horror” stories from the software/IT field over the next few weeks.


The SQL Timeout…


A few years ago, myself and another developer were brought in to help get a project moving along that had been at a stand still basically because it was the first ASP.NET app the existing team had tried to tackle. They sure picked a whopper to take on as their “learning” project too, but that of course ended up being bitter-sweet for me. I should add that the team was very competent and well experienced; they just lacked the .NET mojo.


Anyway, by the time we got involved; they had laid most of the foundation and were starting to build the other layers on top. Due to the existing project state and the time-constraints, we were forced to do a lot of independent testing during development. When a major milestone in the project was reached and it came time to stress/load test the application, we were expecting similar results to those found in the independent tests (famous last words). Well… not quite. We kept getting a SQL Timeout Error whenever there were multiple, simultaneous requests for databound pages, and we couldn’t test anything beyond that point. The weird thing about this was that it didn’t just happen under heavy loads; it simply happened when there was more than 1 request.


I’ll spare you the story about all the things we checked and re-checked from the hardware to the end users. In the end, I found that someone had declared a SqlConnection object as Static/Shared in the heart of the O/R mapped code. So anytime a request was processed, it was using the same SqlConnection object as the previous request (remember, this is a web-app) and would kill the previous request. The result would be a SQL Timeout Error for any of the requests before the last. Ah, memories.


The moral of this story is that you should be very weary of creating Static/Shared databound objects in ASP.NET applications, especially connection objects.


Oh yeah, boo!

Search.Live.Com. I want to like it, I really do...

Thu, 28 Sep 2006 06:59:00 GMT

Since it's no longer tagged Beta, its fair game right? Well, I have to be honest; so far I've had nothing but bad experiences with using the search engine. I'll give you my latest example:

I was watching a video of Victor Wooten, one of the most unique bass players around. Being a bass player myself, I like to learn other people’s styles and try to incorporate them into my music. So what's one of the first things you do when you need help learning someone else's song? Tab search, of course! Just look at the difference between Live and Google results for the value "wooten amazing grace bass tab":


It almost feels like the Live search results are based around trying to sell you stuff rather than relevance.

I tried every combination I could think of, short of searching for an exact URL. I even tried other search engines and was surprised to see that every other engine actually returned more relevant results than Live... except for Lycos. Then I noticed at the bottom of the Lycos page, it says: "Portions powered by Windows Live". Well, no surprise there.

I have hope for the future of Live search, but for right now I'm just a little surprised it's not still in Beta, because it really should be.

VB.NET Hexadecimal to Floating Point / Single (IEEE 754)

Mon, 25 Sep 2006 05:35:00 GMT

A post just came across the forum I frequent regarding Hexadecimal to Floating Point conversion. Strangely there appears to be no direct way to do this in .NET, and the solutions I found were pretty lame and tedious… so it became my mission to get it done the .NET way, and here is the result:    Private Function ConvertHexToSingle(ByVal hexValue As String) As Single        Try            Dim iInputIndex As Integer = 0            Dim iOutputIndex As Integer = 0            Dim bArray(3) As Byte             For iInputIndex = 0 To hexValue.Length - 1 Step 2                bArray(iOutputIndex) = Byte.Parse(hexValue.Chars(iInputIndex) & hexValue.Chars(iInputIndex + 1), Globalization.NumberStyles.HexNumber)                iOutputIndex += 1            Next             Array.Reverse(bArray)             Return BitConverter.ToSingle(bArray, 0)        Catch ex As Exception            Throw New FormatException("The supplied hex value is either empty or in an incorrect format. Use the following format: 00000000", ex)        End Try     End Function  ConvertHexToSingle("3C000000")Even though this is just a rough example, it does work, and it can be expanded to support larger types (such as Double) with a couple of small mods.  [...]

3D Desktop Interface... decorated by BOB

Fri, 11 Aug 2006 05:33:00 GMT

With all the hype surrounding 3D desktop interfaces these days, it's always fun to take a look back at some of the projects that have helped us to get where we are now: 

I've always thought that this project was actually a pretty good idea (except for the BOB’ness of course), and probably one of the only 3D interfaces I would actually use. It's summed up pretty well in this excerpt from the site:

"People typically spend most of their time concentrating on one task at a time, whether on the computer or engaged in more tangible pursuits. This concentrated focus, though, is often interspersed with attempts to gain overall awareness of context. Sometimes this happens serially: intense focus while writing a document and then a brief and temporary switch to check email. Sometimes it happens in parallel: taking in peripheral information while driving. Current computer-based productivity applications do not support this basic need: the need to combine focus and context. By placing existing productivity applications in a 3D environment, the TaskGallery design lets the user easily and dynamically choose a balance between focus and context."


SharePoint Portal Server 2003 Experience (Part 3)

Mon, 10 Apr 2006 21:41:00 GMT

In the first two parts of this series, I discussed some topical information. In Part 3, I’ll just jump all over. Audiences not being populated with all members of a security group There is a BUG related to the Audience feature in SPS2003 (all current services packs) that I found during the implementation process. When you create an Audience using the User -> Member Of option and you specify a Windows security group (group ABC), if any of the users in group ABC also have group ABC as their primary group, it will not find that user. The reason is because the LDAP query only searches the memberOf attribute in the metadata of each user object, and AD does not store any reference to the primary group information in memberOf, but instead it stores it as an integer in the primaryGroupID attribute. The easiest way to solve this is to change the Primary Group of the affected users by opening the user account in AD and clicking on [Member Of] tab. You can change the Primary group by selecting a group name, and clicking on [Set Primary Group]. Unless you are using a 3rd party product that requires specific primary groups, the primary group should be set to Domain Users by default. The other workaround that Microsoft suggested is not even worth repeating. If you need to reference the open Microsoft support case, send me an email and I’ll give you the case ID. Local Administrators have full access to WSS sites By default, any user that is a member of the local machines Administrators group will have full access to all SharePoint sites in your portal. You can disable this behavior with the following hotfix: Static IP in IIS Your SPS Web sites cannot have a static IP defined in the IIS configuration. It must be set to (All Unassigned). This is by design. Create custom templates for your WSS sites The following procedure will allow you to create a custom site template that can be used whenever creating a new site. 1) Create a new site and set up everything the way you want it. 2) Navigate to: Site Settings -> Go to Site Administration -> Save Site as Template 3) Save it as c:\someDir\myTemplate.stp 4) Import the template into the SPS database and make it available for site creators by using the stsadm tool:stsadm.exe -o addtemplate -filename c:\someDir\myTemplate.stp -title "My Custom Template" -description "A custom WSS template." 5) Now when you create a new site, you will see "My Custom Template" as an option. 6) stsadm.exe/? for more options including enumeration and removal of templates. Create a custom link in Portal Site Map The quick launch bar (the vertical link bar on the left) does not directly allow custom links to be added, only links to Areas that you create. This is how to do it without modifying the underlying source: 1) From the portal home page, click on Site Settings -> Manage portal site structure 2) Now you have to pretend that each new "Area" you create is really just a link. Determine where you want to add the custom link, then either Create Area (or link), or Create Sub Area (or link). ** Deleting or editing an existing link/area will directly impact the Area and all data, so make sure you don’t do that until you understand how this all works. 3) Now click on the [Edit] menu option for the new Area you just created. 4) Click on the [Page] tab. 5) In "Area Templates", change the option to: "This area uses the following page as a template". 6) Change the textbox to whatever link you want, ex: 7) Click [Ok], and you now have a custom link in the portal site map. Disable Front-Page editing of your sites pages I strongly recommend you put some manual labor into editing your SPS/[...]

SharePoint Portal Server 2003 Experience (Part 2)

Wed, 10 Aug 2005 02:21:00 GMT

In Part 1, I talked mostly about redesigning the presentation layer of your SharePoint Portal Server (SPS) website. What I would like to cover now is modifying other aspects not directly linked to the standard website design process.   Supporting Other File Types One of the things you will most likely want to add is the ability to accommodate file types beyond what ships with SPS. You need four things to make this happen. Below are the steps required to add a PDF document type to your portal. Replace “PDF” with any other file extension to do the same.   1)      Change the Index settings to include this file type: - Navigate to: Site Settings > Configure Search and Indexing > Include File Types - Add the “pdf” extension.   2)      Modify the *\TEMPLATE\XML\DOCICON.XML file: - Open this file in Notepad or whatever text editor you want and add this line to the other like elements:   3)      Add an IFilter that is created just for the file type.- In this case, there just so happens to be an IFilter for this document type. You can download it with installation instructions here: - IFilters allow you to full-text search the document type. Not all document types have an appropriate filter, but don’t fear, everything else will work fine.   4)      Add an image of the ICON associated with that file type: - Once you have a 16x16 gif of the ICON associated with this file type, copy it into *\TEMPLATE\IMAGES\ as these two file names: ICPDF.GIF and PDF16.GIF.   Here is a KB article that basically says the same:;EN-US;832809FrontPage GhostingIn Part 1, I mentioned that FrontPage caused some headaches with “ghosting”. Ghosting is essentially SPS’s terminology for caching page content. When you edit a page and save it in FrontPage, not only does it add a bunch of crap that you usually don’t need, but it also stores ALL of the page content directly in the database. This makes sense since that is the fundamental process SPS uses to load content for your viewing pleasure. However, this destroys any inheritance from template pages, meaning any design changes you make to the template pages will not be applied to this now “unghosted” page. There is a fix, but it requires some SQL knowledge. Because of the potential problems you could encounter, I am not going to spell it out, but I will point you in the right direction:   1)      Open the SITENAME_SITE database. 2)      Open the DOCS table and find the exact page you are trying to “unghost”. 3)      Write a SQL statement to set that rows CONTENT field to NULL.   Your page will now be “ghost-able” again.   Silly FrontPage.   QuickLaunch Watermark Another thing you may want to change on your SPS site is that vertical “SharePoint Portal Server” logo located in the QuickLaunch area. This is easily done by simply finding and replacing any occurrence of "SharePoint Portal Server" in *\TEMPLATE\1033\default.aspx (and a couple others) with whatever your want.   Global Templates   So you finally design a SITE that you would like to use as a template for other sites that are not children of this site. This link will explain how to create a template you can use with new sites, among other things:     * [...]

SharePoint Portal Server 2003 Experience (Part 1)

Sat, 30 Jul 2005 21:40:00 GMT

I’ve recently started a project implementing SharePoint Portal Server 2003 (SPS) to replace a legacy intranet solution, and while I’ve deployed SharePoint several times in the past, this is by far the most customizations that I have made to the portal. So I figured this would be a good opportunity to talk about some of my experiences thus far…   The requirements for the Portal: -         Design to look somewhat familiar to parent companies site (not SPS). -         Mimic all the functionality from the legacy intranet site. -         Simplify current document sharing scheme. -         Make as self manageable as possible. -         4 month schedule.   One of the major customizations that needed to be done to the out-of-the-box SPS install was the UI design. I don’t know if it’s just the projects I’ve worked on, but when it comes to UI, it always seems to take longer then it should to make everyone happy… so I fittingly scheduled this part of the project to take the longest (and it has).   All tasks considered, modifying the SPS UI has been pretty easy, but by no means has it been snag free. Almost all of the existing components can be easily modified by changing a CSS value, but for any major change you will most likely have to modify every .aspx page under the *\TEMPLATE directory/sub directories. One of the things that required this level of change was the common Portal header. I was very surprised to find that some of the style values were hard coded in the .aspx page while the rest of the values were in a CSS. SPS does provide an option to supply an “AlternateHeader” that works by replacing the page header with a customized one, and it does… however there are 2 reasons why I didn’t use this:   1)      The “AlternateHeader” is not context sensitive. There are certain values that need to be hard coded into header web parts on each page that assist in linking to Help topics, etc. 2)      Not all pages implement the “AlternateHeader” option.   I also investigated using the option for a Custom Cascading Style Sheet. This seemed to work ok until I found out that the Portal and the Windows SharePoint Services (WSS) had some common values stored in the same CSS. For example, if I was trying to change the color of one element in the Portal, it might very well change the color of a totally different element in a WSS site, which I suppose is the logic behind offering an option for a custom CSS that ONLY applies to the Portal. Another issue is that you can not change the default theme used for WSS sites, so you MUST modify the common CSS files. I was able to get both the Portal and WSS sites looking the way I wanted by making the modifications in this order:   -         I modified all of the *\TEMPLATE\LAYOUTS\1033\STYLES\*.CSS files to make the WSS sites look the way I wanted them. Don’t worry about what this does to the Portal, as you are going to fix that shortly.   -         I then made my changes to the common Portal header by writing a program that would first pull context sensitive values from an .aspx page, and then overwrite the existing header with my custom header incorporating the values I gathered earlier. I ran this program against all .aspxs pages in the *\TEMPLATE directory/sub directories.** (I hope to document this more[...]

Suggestions while visiting London?

Tue, 26 Oct 2004 10:23:00 GMT

I am heading over to London for a couple of weeks in November, and I would be very interested in hearing from the perspective of people with similar interests as me. Do you have any suggestions and/or advice for a first time London visitor?


Thanks for any info.

The DragDrop events have stolen my object, now I want it back...

Mon, 30 Aug 2004 05:22:00 GMT

When you initiate Control.DoDragDrop() and drag the cursor over another control that has AllowDrop = TRUE, a reference to the object in the drag data is created and not released upon DragLeave.

Here is an example demonstrating the behavior:

For you must-have-music-at-work people...

Tue, 24 Aug 2004 15:27:00 GMT

- I am one of those people that need to have music playing in the background while working, but what usually happens is that I end up singing the songs because I hear the same thing over and over (especially with Cleveland radio). If I was mowing the lawn it would be ok, but this can be very distracting while writing software, so I usually just turn off whatever I was listening to.


A couple of weeks ago a friend suggested that I check out:


I’m not really a fan of anime, or j-pop for that matter, but this music has great energy, a huge library, and I have no idea what they are saying most of the time (90% is in Japanese)! Perfect.


- For those with a bit more nostalgic taste, a big band station I volunteer at (WKHR 91.5) is finally available to hear live on the internet:

- Unrelated: I have another gmail invite to give out, so… who wants this one? - NO LONGER AVAILABLE

I would also like to hear of any other online stations that are software development friendly.

What a little free testing can inspire...

Thu, 01 Jul 2004 01:46:00 GMT


I decided to take advantage of the free testing being offered as part of the Mobile2Market Contest by submitting a little utility I wrote called PocketZOOM which magnifies what is currently displayed on the screen of your Windows Mobile 2003 device. The testing process was successful, and the application is now offered for free here:

In the next couple of weeks, I hope to have some time to discuss the differences encountered when moving from the desktop to a mobile platform, and also how the .NET Compact Framework has truly lifted my interest in mobile development. But for now, you just have to take my word for it ;)

You can also find the product listed in the Mobile Application Catalog.