Powerd by dasBlog RSS 2.0
 Thursday, October 23, 2008

Recently there has been some talk about a bunch of us getting iPhones thru work. Even though I have vowed to never own an Apple product, I figured I wouldn’t be too much of a hypocrite if work paid for it. Well that deal kind of fell thru, but it did get me looking into an upgrade for my Mogul, as it appears I have a $150 new phone credit available to me thru Sprint.

I did do some research into the iPhone to see if I would even be able to “use” it, should work have provided one. For the most part it seems like a decent phone, however there are a couple of things that made me go out and look to see what new WinMo phones were available.

First, my 1 year old after market car stereo which has iPod support, does not have iPhone support (as confirmed by numerous posts on various forums). This isn’t so much a knock against either the iPhone or my car stereo, it just would have been a nice to eliminate the separate MP3 player I have now. Newer model head units are reported to have no problems with the iPhone, but I don’t want to buy a new head unit right now.

Second, I have grown very used to my slide out physical keyboard on my mogul. I have heard mixed reviews about the touch keyboard on the iPhone, with one of the most negative criticisms being that the keyboard/mail program will not rotate to landscape mode. There are several hacks and work around's available, but as most people point out, this is something that should have been fixed in the 2.0 firmware.

Finally, there seems to be a real need to install iTunes, and that’s probably the #1 issue I have against the iPhone. I’ve heard way too many horror stories about iTunes, the extra stuff it tries to install, etc.

Don’t get me wrong, I’m not trying to hate on the iPhone, I just don’t think it’s for me. So, what is the phone for me? After some research, I’ve narrowed my search to the HTC Touch Pro.

Specs:

  • 528Mhz Processor
  • 228 MB of Ram, 512MB of ROM
  • 2.8 VGA touch screen
  • GPS, Bluetooth 2.0 +EDR (including stereo A2DP)
  • Opera 9.5 built in
  • MicroSD expansion slot

The reviews so far have been very positive. The TouchFlo3D interface developed by HTC looks very polished, but as people are quick to point out, the TouchFlo3D UI only works with certain applications. However, for 90% of my usage, I’d be using TochFlo3D applications, including E-Mail, and the Web Browser.

The Touch Pro is supposed to have the option to connect via USB as a Mass Storage Device like the Touch Diamond (already released on Sprint), which is a huge selling point for me. I have no need for Active Sync or Windows Mobility Center since I use exchange for syncing. As a Mass Storage Device, I can just drag and drop files, and most media players support syncing. What’s even more important is that my car stereo does support Mass Storage Devices, which is how my current MP3 player connects.

There are also plenty of free applications available for Windows Mobile, and as a developer myself, it is very easy for me to write applications for it should the need arise (which I must admit it hasn’t yet). I was working on a really cool Windows CE project that got canceled earlier this year, so I haven’t been into the mobile development as much. I have a couple of ideas for a proof of concept at work that having a WinMo phone would help.

The phone should be released sometime soon, but in the meantime I need to pull my custom ROM off my Mogul and take it in for some service. The battery seems to be going, and my beloved slide out keyboard doesn’t close all the way (which I guess is a con of the slide out keyboard, the mechanism is susceptible to wear and tear).

Thursday, October 23, 2008 3:54:59 PM UTC  #    Comments [0] - Trackback
Technology

A recent post by Scott had me look into how our IIS 7 servers were configured. Turns out we were not using dynamic compression (Ok, I already knew that as I’m the one who set them up), so I decided to go about installing the dynamic compression module (you can always un-enable it).

If you already have IIS 7 installed, you can go into the Role Manager and add a role service. The dynamic compression is under the performance section. Once installed, you will need to enable it via the IIS 7 management tool, or use the following command line option:

appcmd set config -section:urlCompression /doDynamicCompression:true 

The appcmd command line tool lives in C:\windows\system32\inetsrv, which is not included in PATH. You will want to review the httpCompression section in C:\Windows\System32\Inetsrv\Config\applicationHost.config to view what Mime types are compressed. By default, when you install dynamic compression, you get the following settings:

<dynamicTypes>
     <add mimeType="text/*" enabled="true" />
     <add mimeType="message/*" enabled="true" />
     <add mimeType="application/x-javascript" enabled="true" />
     <add mimeType="*/*" enabled="false" />
</dynamicTypes>

I couldn’t find a page that specifically listed mimeTypes in the context of IIS 7, but here is the full list of MimeTypes itself which should give you an idea of how you can configure compression.

 

As Scott points out in his article, you should make an attempt to justify your change, which I did by performing a simple test using a large web page (1.3 MB) we serve up, and noting the response size and time using Fiddler.

The 1.3 MB web page originally took 30 seconds to receive (I know, there is something funny going on with the network connection somewhere, but it does easily illustrate the savings compression gives). Enabling compression shrunk the response to 130KB, taking only 6 seconds.

For some additional information on compression in IIS 7 check out this blog entry by Kanwalijeet Singla.

Thursday, October 23, 2008 3:33:25 PM UTC  #    Comments [0] - Trackback
Technology
 Tuesday, October 14, 2008

Scott just blogged about T4, the Text Template Transformation Toolkit. It’s a full blown template driven code generation tool that uses the same syntax as Asp.Net. It’s lacking things such as syntax highlighting and intellisense, but it’s free, and part of Visual Studio.

I feel with the recent press this tool is getting, it will become even more popular, and some of the missing features added by the community. Scott has a whole list of links on his post that provide good samples, as well as a link to a company that provides a free and pay version of a plug-in to add some of the “missing” functionality.

Tuesday, October 14, 2008 8:33:04 PM UTC  #    Comments [0] - Trackback
Programming | Review For Future Projects
 Sunday, October 12, 2008

Yesterday I attempted my first bike to run activity. I started out with a 10.5 mile bike ride (which I wasn’t too happy with in terms of performance), followed by a 5 mile run. I had about 10 minutes of rest in-between, because even though I had “planned” this, things just didn’t work out for a quick transition.

While the bike ride was a sub-par performance, and my quads were really tight, I actually completed the 5 mile run in about 42 minutes, or about 2 to 2.5 minutes off my best 5 mile time (without riding the bike). The 42 minute time made me feel pretty good, and gives me something to shoot for in terms of improvement.

I am working on resolving two issues with my legs. The first is an IT band condition around my right knee, the second is medial tibial stress problems (shins) on both legs. Surprisingly running isn’t all that bad on the shins, and is only painful during the exercises at Monkey Bar’s (I guess that is a little unfortunate). Like I said, I’m working to get these issues resolved with the goal of being able to run 15-20 miles per week pain free by the end of January.

After establishing a good base for running, I will be working to ramp up for the Madison Marathon, as well as train for running at least one Olympic Distance triathlon in 2009. Speaking of triathlon’s, I really want to trade my bike in for a Cervelo P2C ;)

Sunday, October 12, 2008 8:40:49 PM UTC  #    Comments [0] - Trackback
Fitness

We setup all of our virtual machines in our new data center to run with a single virtual processor. The thought behind this was to start with the minimum and add additional resources as needed after observing our VM’s under load.

Well the time has come to add a second virtual processor to three of our VM’s, all of which are running Server 2008 data center edition. In the past, adding a second processor (or even enabling hyper threading) could cause issues due to an incorrect HAL (hardware abstraction layer) being chosen when you first install the OS. I thought I had read that this is not an issue under Vista and Server 2008, but couldn’t find anything to confirm (other then the lack of people reporting problems).

Since we are using virtual machines (VMWare ESX Server), it’s easy enough to take a snapshot and revert if something goes terribly wrong. However, the snapshots were NOT needed, as the servers booted up without issue after adding the second virtual processor.

Something I might want to consider next time would be to disable ESX’s dynamic resource allocation routine before shutting down three VM’s.

Sunday, October 12, 2008 8:29:03 PM UTC  #    Comments [0] - Trackback
Technology
 Tuesday, October 07, 2008

Rob Conery, creator of SubSonic, and the ASP.Net MVC Store Front video series has released an early prototype of a Visual Studio 2008 add-in called the SubSonic MVC Scaffold Addin. Let me point out right away that there is no dependency on SubSonic itself, rather this add-in uses Linq2Sql, although Rob says a SubSonic plug-in is on the drawing board.

Not to rehash his announcement, but basically this add-in takes a Linq2Sql class, and generates some views (view, edit, list), and a controller based on the class. This is meant as a quick start kind of thing, not a full fledged commercial web site generator.

I encourage you to visit his blog post and watch the video he has prepared, it does an excellent job of showing you what the Scaffold does. Here are some of my take-away's:

  • Uses pre-existing Linq2Sql generated classes
  • Creates wrapper objects around Linq2Sql classes
  • Creates MVC views (you can create your own template to use in this process)
  • Creates MVC controller
  • If you re-run the scaffold on a class you previously generated, no files are updated (overwritten). You can delete individual files, and scaffold will generate them again.
  • Not everything works perfectly, you will/may need to go in and change some code. This is to get you started with something quickly.
  • RESTful style URL
Tuesday, October 07, 2008 9:37:11 PM UTC  #    Comments [0] - Trackback
Programming | Review For Future Projects
 Monday, September 29, 2008

While in search of the Windows Live Hotmail for Outlook Connector (future blog post in the works), I found a small add-on that enables the ability to save office documents as PDF (or XPS). The add-in adds a new option under “Save As”, and worked well in my limited testing. This works different from other PDF utilities, in that it does NOT install a virtual printer driver.

The add-in is limited to the following programs, and sadly, outlook is not one of them, but all the other major office applications are:

  • Microsoft Office Access 2007
  • Microsoft Office Excel 2007
  • Microsoft Office InfoPath 2007
  • Microsoft Office OneNote 2007
  • Microsoft Office PowerPoint 2007
  • Microsoft Office Publisher 2007
  • Microsoft Office Visio 2007
  • Microsoft Office Word 2007

Remember, you access this add-in by going to “Save As”, not Print, like you may be used to for other PDF utilities. OneNote adds a new option under File, other applications may differ as well.

Info and Download:

Monday, September 29, 2008 1:21:08 PM UTC  #    Comments [0] - Trackback
Technology
 Sunday, September 28, 2008

I’ve decided to add a new non-technology related category to my blog, simple titled Fitness. I plan on blogging about various fitness activities I do, such as running, biking, swimming, general workouts at Monkey Bars, Ju-Jitsu, and race training. I should have started this in the spring, as I’m not sure how much interesting stuff I will do over the winter, but I have to start sometime.

Today I did my second 40+ mile bike ride, basically to set a baseline for next season. Like last week, I did one time around the Ironman Wisconsin loop (Verona –> Mt. Horeb –> Cross Plains –> Verona). You can view this route on MapMyRide by clicking on this link.

Today’s Status:

Time: 2:25:07
Miles: 42.8
Avg Pace: 3:23 min/mi
Avg Speed: 17.7: mi/hr
Avg HR: 139 bpm
Approx Calories Burned: 2072

This weeks ride went allot better, although it’s hard to say why. It was about 10 degrees cooler, and cloudy this week, I’m two weeks past the head cold I had instead of one, and of course I have the experience and training effort from the previous week. I didn’t ride the early hills as aggressive in an effort to save the legs, and I think it paid off.

Last week I could barely make it back to my car, and was extremely sore, this week, I feel like I could have made it around a second time, albeit slower. I think this will provide a good baseline for when I start up again next season.

I also ordered a RoadId for me and the wife. While I bring my drivers license with me, I can’t really attach it to me like the RoadId, so I have a lot better chance of it staying with me in a really bad crash or accident (knock on wood). One thing I really took away from being an Eagle Scout was “Always Be Prepared”, and for $19.99, this was just something I couldn’t pass up on.

Sunday, September 28, 2008 7:37:06 PM UTC  #    Comments [0] - Trackback
Fitness
 Tuesday, September 16, 2008

The SharePoint site I am responsible is pretty small and not used by allot of people. However, that is soon to change, as I am adding allot of content to the Wiki library for technical support and trouble shooting, and I wanted to make use of the search functionality to allow people to search for content.

So I went to the search bar, and received an error message indicating that “Your search cannot be completed because this site is not assigned to an indexer. Contact your administrator for more information.” I always find it troubling when an error message says to contact me. I started doing some searching online and made my way to the Central Administration Portal Page for our SharePoint Server. I found that you need to assign your content database to a search server, so I went to Application Management\Content Databases, selected by one and only content database, and saw that they drop down box used to select a search server was greyed out, how unfortunate.

Some more on the job training led me to Operations\Services on Server, where I saw that I was missing the “Windows SharePoint Services Search” service. Looking at the services applet under administration tools, I saw that I did have a “Windows SharePoint Services Search” service installed, and after configuring it to log on as Local System, I was able to get it started. However, I couldn’t get it to show up as a service in central administration. 

I read a couple of posts online about re-running the Sharpoint configuration wizard, so I thought I would try that. Under Start\Programs\Administrative Tools, there should be a short cut for SharePoint Products and Technologies Configuration Wizard. After starting this application, I was prompted to change various aspects of my SharePoint installation. I choose to keep everything the same. I was a little disappointed in that I didn’t see any options for adding SharePoint search, but after the wizard completed, and I went back to Operations\Services on Server, I had “Windows SharePoint Services Search” now listed, but stopped. I’m wondering if restarting the IIS Application Pool for my SharePoint server, or the Windows SharePoint Services Administration service after starting the Windows Sharepoint Services Search service would have yielded the same results?

Back in Central Administration, I clicked on the Start link in an attempt to start the Search service, but was redirected to a configuration page. On this page I was prompted to select a Service Account, Content Access Account, Search Database, and Indexing Schedule.

  • Service Account: It specifically says you can not use a built in account, such as Local Service or Network Service. I choose to use a domain service account that I used for some related services on this server. This account should be the same account as the Content Access account (read my section below about the content sources cannot be accessed error)
  • Content Access Account: This account should be separate from the service account and only have read-only access to the content database. I decided to create a new local account to achieve this. I made this account a member of the Guests local group, and added it to the data_reader role in the content database.
  • Search Database: Accepted Defaults
  • Indexing: Accepted default value of every 5 minutes to start, and then I went back and changed it Daily between 3-4 am.

After clicking start, the page took awhile to redirect, but I didn’t get any errors or warnings. I checked the Search service, and as I assumed, the log on account was changed to the domain account I specified. I also had a new database named WSS_Seach_ServerName, so it looks like things were at least setup correctly.

Jumping back to Application Management\Content Databases and selecting my lone content database, I was now able to select a search server. Running a search on my SharePoint site seemed to work, although no matches were found, which could be because the indexed had not run yet.

Five minutes later, and still no search results for obvious terms. In the Timer Status page on Central Administration, I could see that the Search Process was running every five minutes, so I went to the application log figuring errors would show up there. Sure enough, I was getting “The update cannot be started because the content sources cannot be accessed.” every five minutes. Checking my database permissions, I see that my service account has dbo permissions to the content and search databases. My content serach account, has data reader permissions to the content database (which I added previously), and dbo permissions to the search database (added automatically during setup it seems).

Back to Google. I found a discussion thread where someone stated that the Service Account and Content Access Account need to be the same, and re-affirmed the requirement that the account used only have read only permissions. So I went ahead and stopped the search service via Central Administration, deleted the search database, and then reconfigured and started the search service. The search database was re-created, and I noticed that my processor pegged at 100% for awhile and my search database grew in size from 4mb to 31 MB indicating that something actually got put in it.

Since I had stopped and reconfigured the search service, I had to reselect the search server for my specific content database under Application Management like I did before. After waiting five minutes for the indexing to run, I was getting search results.

Tuesday, September 16, 2008 11:26:00 PM UTC  #    Comments [0] - Trackback
Technology
 Tuesday, August 26, 2008

Today, Jeff Atwood posted about a deadlock issue he was having. He had a couple of ideas as to how to solve his issue, including the nolock statement. What I found most interesting were the comments that followed. Here is a summary:

  • SQL Server sucks
  • NoLock is ok
  • NoLock is a hack
  • I can’t believe you don’t/didn’t know how to fix a dead lock

I can’t believe how critical people were of Jeff. I guess I was a little surprised that the author of the great Coding Horror didn’t know the answer to something, but that’s no reason to be critical of the guy.

A couple of the more decent links included:

We have a couple of deadlock issues in our current database that I’d like to sit down and fix, so these might come in handy.

Update: Someone who knows allot more about SQL posted a blog entry in response to Jeff’s original post. The author believes that using nolock is never a good idea and goes on to give some advice on how to start solving deadlock issues.

Tuesday, August 26, 2008 3:08:25 AM UTC  #    Comments [0] - Trackback
Review For Future Projects | Sql
Archive
<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2009
Adam Salvo
Sign In
Statistics
Total Posts: 176
This Year: 0
This Month: 0
This Week: 0
Comments: 10
Themes
All Content © 2009, Adam Salvo
DasBlog theme 'Business' created by Christoph De Baene (delarou)