e.Item.Dataitem is nothing?#

So you have some code running in your itemdatabound event handler and you are trying to do someting with e.item.dataitem but it keeps bombing out with errors because e.item.dataitem is nothing.

So, why is e.item.dataitem is nothing??

Answer: Because you are probably using a header or footer in your binding object.  The header/footer will cause the itemdatabound event to fire, but there is no dataitem for them.

Check if the current row is the header or footer, and then you will have no issues with using e.item.dataitem.

Categories:  |  | 
Thursday, June 19, 2008 3:22:37 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

AT&T's Business DSL SLA is a joke#

Most internet providers for businesses offer some kind of SLA to show their commitment to continued uptime.

One of my customers who uses AT&T Business DSL recently had a multi day outage. 

So what does AT&T's SLA provide?

Customer connectivity shall be restored in 24 hours or less from the time AT&T is notified of the outage. *Customer shall be entitled to one (1) day's credit (based on 30 day calendar month) from the Customer's recurring monthly service fees if AT&T fails to meet the 24 Hour Service Restoration SLA.

Yes you read that right.  Your business has no email or internet access for 3-4 days and what does AT&T do for you?  They might knock 10 bucks or so off your bill.  How nice... well at least they don't make me waste any more time .... oh wait..

(*) Credits are not automatically applied. Customer must apply via the Business DSL SLA website located at http://www.att.com/businessdslsla, or by calling our Customer Care at 1-877-722-3755.

Wow. 

Categories:  | 
Monday, June 16, 2008 8:43:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

VS.NET Extensions for Sharepoint#

My experience with developing for Sharepoint was very painful.  The jist of it was, unless you are truly going to hook into a lot of the core functionality of sharepoint (document collaboration and workflow) it will be MUCH harder to build an app to run in sharepoint than it would be to build a standalone application.

But MS has released some new extensions that will hopefully ease the pain a little bit:

Announcing: Visual Studio extensions for SharePoint – Developer User Guide

I don't know if I will ever have enough time to implement anything in sharepoint, but these will be nice to have.

Categories:  |  | 
Thursday, June 12, 2008 11:50:21 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Jott#

Jott is an interesting site that allows you to send emails from your phone.

You call a number, say the name of the person you want to send a message to, and it will do speech to text conversion and send the email.

As I understand it, they employ 2 different speech recognition engines, and if the 2 don't agree on what you said, they offload it to a person to do the typing.  Pretty interesting!

You can also set reminders and it will email ou 15 minutes before the reminder time.

Not sure that I will ever really get into using it heavily, but I thought I would give it a shot.

They also have an API so I could write up some code for my site and "phone in" my blog posts and they would show up here.  Pretty interesting indeed!

Here is the API: http://jott.com/jott/developers.html

 

Categories:  | 
Monday, June 09, 2008 12:20:41 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Highslide#

We have been working with a pretty cool little javascript toolkit called Highslide.

http://vikjavev.no/highslide/

It gives you some nice lightbox type effects but I like it more because of some of the options to load in iframes and stuff.

Someone wrote some asp.net wrappers as well to make it easier to add to your pages:

http://encosia.com/

 

Categories:  |  |  |  | 
Thursday, June 05, 2008 3:21:01 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Couple of points on Network Load Balancing#

With Windows Servers, you can setup a cluster using built in Network Load Balancing.

The interesting thing about doing load balancing via software, is that once you get up around 4-5 servers, you stop gaining in performance when you add new machines, because of the added overhead associated with mainting N number of new relationships between the servers.

Also, if you use NLB and you set them up to not use any type of server affinity (i.e. a users request might hit any of the servers at any time) you will pay a serious penality if you are using SSL because each new request to a new server will require a new negoation of the SSL credentials.

Categories:  |  |  | 
Thursday, June 05, 2008 3:08:07 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Add users to group: domain missing#

The other day I was helping a client of mine who was having some problems getting a user setup as the local administrator on a laptop.

When I went to add the user, the "From this location:" option only showed the local computer name, not the domain.

The computer WAS on the domain, so what was going on?

Well it turned out that a new router had been put in on that subnet, and the DHCP on the router had started handing out IP addreses.  Those IPs didn't have the DC as the DNS server, which is something that is needed in order to allow computers to figure out where company.local is really located.

After changing the DNS server to be the DC and not the router, everything worked as expected.

Categories:  |  |  |  | 
Thursday, June 05, 2008 2:48:21 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Why Do SSRS Deployments Not Update Everything?#

Recently I have been making some changes to our SQL Server Reporting Services machines.  I am finding that many of my changes are not taking effect on the server.

The deployment goes ok.  The reports show that they have been updated, but some things seem to not transfer.

For example, I changed the data source on some reports and redeployed them, but this new setting did not make it to the server.  If I delete the report and THEN deploy it, it works fine.

Another issue was with some reports where I was trying to change some of the parameters to take a default null value.  I made the changes in my reports and deployed.  The reports now ALLOWED a null value, but they were not setup for the null to be the default value. 

Once again deleting the report and deploying fixed the problem, but this is stupid.

Has anyone else had this problem, or have know of the reason why it doesn't work right?

UPDATE:

I got a response from someone on this.  Apprently Microsoft felt that certain changers like changing report parameter details, could cause existing report parameter settings to be overwritten (well duh) and you as a developer probably didn't realize what you were doing (hmmm yes I did) and so they don't update everyone on the server when you redeploy a report.

Brilliant!  No warning, no message, just some things are not updated.

Categories:  | 
Wednesday, May 28, 2008 1:34:51 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Rolling back changes on Team Foundation Server#

Once in a while someone checks in some file they didn't want checked in.

You can roll back these changes/checkins by using the Team Foundation Server Power Toy.

Team Foundation Server Power Tool Commands

Team Foundation Server Power Tool (tfpt.exe) is a command-line tool. To use these commands, start tfpt.exe at the Command Prompt. Some of the commands will display a graphical user interface when used. In addition, you can access the Annotate and Treediff commands from Source Control Explorer in Visual Studio or Team Explorer. Team Foundation Server Power Tool includes the following commands:

Unshelve Command
Use the unshelve command to unshelve and merge the changes in the workspace.

Rollback Command
Use the rollback command to roll back changes that have already been committed to Team Foundation Server.

Online Command
Use the online command to create pending edits on writable files that do not have pending edits.

GetCS Command
Use the GetCS (Get Changeset) command to get the changes in a particular changeset.

UU Command
Use the UU (Undo Unchanged) command to undo unchanged files, including adds, edits, and deletes.

Annotate Command
Use the annotate command to download all versions of the specified files and show information about when and who changed each line in the file.

Review Command
Use the review command to optimize the code review process to avoid checking in or shelving.

History Command
Use the history command to display the revision history for one or more files and folders. The /followbranches option returns the history of the file branch’s ancestors.

Workitem Command
Use the workitem command to create, update, or view work items.

Query Command
Use the query command to run a work item query and display the results. If you do not provide a specific query, all the active work items assigned to you are displayed.

TreeDiff Command
Use the treediff command to display a visual representation of the differences between files in two server folders, in a server folder and a local folder, or in two local folders.

Treeclean Command
Use the treeclean command to view and optionally delete files that are not under source control in the current directory and all subdirectories. This command is useful when you want to remove temporary files from your local workspace, such as files created by the compiler.

 

To use it for rollbacks, just add the install path to the tfpt.exe to your PATH environment variable.  Then, browse to the root of the project directory that you want to perform a rollback in and run "tfpt rollback" from the command line.

It will give you a user interface where you can find search for a chance-set to rollback.

Once you do it, you may have to "check in" the changes you just made, but I have used this several times and it has worked great.

 

Categories:  | 
Monday, May 19, 2008 1:47:19 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

AWS: Amazon Web Services lowers prices#

Amazons S3 service already had crazy cheap bandwidth and storage.

Today I got an email that they are LOWERING the price even more!

Current data transfer price (through April 30, 2008)
$0.100 per GB - data transfer in
$0.180 per GB - first 10 TB / month data transfer out
$0.160 per GB - next 40 TB / month data transfer out
$0.130 per GB - data transfer out / month over 50 TB

New data transfer price (effective May 1, 2008)
$0.100 per GB - data transfer in
$0.170 per GB - first 10 TB / month data transfer out
$0.130 per GB - next 40 TB / month data transfer out
$0.110 per GB - next 100 TB / month data transfer out
$0.100 per GB - data transfer out / month over 150 TB

Excellent!
Categories:  | 
Wednesday, April 23, 2008 10:12:34 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

A connection that was expected to be kept alive was closed by the server#

Has anyone been getting these errors when serving up SQL Reporting Services Reports?

A connection that was expected to be kept alive was closed by the server

All of a sudden we have been getting a lot of these, and I am not sure at the moment what is causing them.

We have 2 webservers that are hosting the reportviewer control, which loads up reports from a single reporting server.

This guy suggested that this problem was related to some 10 minute timeout, but I haven't been able to replicate his 10 minute problem.

Some other people are talking about overrideing the webservice proxy classes to set KeepAlive = false, but we have no webservice proxy to override as we are using the reportviewer.

Update:

This guy is talking about changing the SSRS session timeout.

Could "rc:Toolbar=false" be the problem?

Update 2:
Looks like this was all caused by the introduction of an IDP by our network guys.

 

Categories:  |  |  | 
Monday, April 14, 2008 2:05:27 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Comcast and Netflix streaming speeds just not working right#

I am still not sure who to blame on this...

Is Comcast packet shaping Netflix, or is Netflix just not able to provide enough consisten bandwidth?

I'm leaning toward Comcast as being the problem behind this, but I haven't been able to fully verify it.

I have bandwidth to spare:

But netflix doesn't seem to like it:

 

Categories:  | 
Monday, April 14, 2008 1:56:36 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Is Comcast Shaping Netflix?#

Comcast has been caught "packet shaping" traffic for specific P2P applications like bittorrent.   While this isn't exactly packet filtering, the desired effect is to limit bandwidth for a given application.

It is total BS.

The last 2 nights, I have been trying to use Netflix, and even though speed test have me around 15 mbps (10 T1s worth of bandwidth), I am getting bandwidth warnings, and buffering pauses while trying to watch an episode of Dexter.

This is the message that I get:

Comcast has an interested in making your Netflix experience as terrible as possible: they want you to use their on demand video service!

Would they really do something like this?  Of course they would!  The question is not would they, but are they.

The only other possability is that Netflix itself is having some issues, but I can't seem to find anyone else seeing these major issues.

 

Categories:
Monday, April 07, 2008 8:18:52 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

How to NOT use the web to promote your business#

I am a season ticket holder for the Chicago Fire, and over the last few years, they have infuriated me numerous times with what appears to be total incompitance in running the business.  I won't go into it all now, but to point out yet another way they have blown it.

Let's say you ran the Fire, and you were trying to use your website to promote your home opener.  Don't you think you would try to avoid confusing your fans as to what time the games starts?

 

If you print out the season sechedule, it says 7:00.   If you look at the ticket, it says 7:30!

This is just dumb.  Dumb.

There are threads going on among fans on the various soccer related websites trying to figure out what time the game starts??  What is this, Guadalajara?? 

 

Categories:
Wednesday, April 02, 2008 8:49:51 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ITunes Terrible UI #

People love Apple, and they love iTunes, but I continue to believe that iTunesis the worst piece of widely used software out there.

Today I was trying to add a podcast to iTunes, and like months before, I ran into the problem of not being able to find anywhere that I could click to add a podcast.

It seemed the only way to add a podcast was to do so through the iTunes store.

Last time I gave up and was lucky enough to find the podcasts I wanted through iTunes, but this time the one I wanted to add wasn't listed there (or at least I couldn't find it).

After even more searching I finally found how to do it.  You need the URL as a link, and then you need to drag the link from your browser window, onto the "Podcasts" navigation link that is on the left hand side of iTunes.

Totally... stupid.  There is no other way to describe it.

 

Categories:  | 
Tuesday, April 01, 2008 2:35:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Javascript bookmark to aid with page layout#

A coworker sent me this link.  You just bookmark it, and then click the bookmark when you want to examine the layout of your page elements.

javascript:prefFile='';void(z=document.body.appendChild(document.createElement('script')));void(z.language='javascript');void(z.type='text/javascript');void(z.src='http://slayeroffice.com/tools/modi/v2.0/modi_v2.0.js');void(z.id='modi');

And it will add a little floating window in the upper left corner to show you everything you mouse over:

Categories:  |  | 
Sunday, March 30, 2008 4:36:06 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Excluding weekends from a SQL date range#

Recently I wanted to find the time between 2 datetimes, but I wanted to exclude weekends.  To further complicate matters, I wanted to know hours, not just days.

The "standard" way to do stuff like this is to build out a calendar table that has every date for the next 50 years, along with info like "IsWeekend" or "IsHoliday".

But I found some snippets around that I hoped to use to my advantage, and what I came up with works very well:

DECLARE @start DATETIME
DECLARE @end DATETIME

SET @start = '3/7/08 12:50 pm'
SET @end = '3/11/08 1:50 am'

SELECT (DateDiff(hh, @start, @end) - DateDiff(ww, @start, @end)*2*24)/24.0
       
I won't spend a lot of time explaining why it works, but it basically counts the number of weekend "jumps" that are crossed between the 2 dates, and subtracts accordingly.

 

Categories:  |  | 
Sunday, March 30, 2008 2:45:05 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Web based IRC client#

This is pretty cool: http://www.jwirc.com/chat.html.

 

Categories:
Sunday, March 23, 2008 11:27:36 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Could not load file or assembly Microsoft.ReportViewer.XXX#

Are you getting one of these errors?

Could not load file or assembly Microsoft.ReportViewer.WebForms

Could not load file or assembly Microsoft.ReportViewer.Common

Could not load file or assembly Microsoft.ReportViewer.ProcessingObjectModel


The problem is that some of these assemblies are supposed to be in the GAC, or at least when you create a basic application using .net, the application is expecting to find them.

You can deal with this in one of 2 ways.  You can find and download the ReportViewer.exe from Microsoft on the clients.  Or, you can copy the missing DLLs out of the GAC on your computer, and add them into your project.

Because I didn't want to have to download extra software to my clients, I decided to take the second option.

To do this, follow the instructions here:

http://www.chrismay.org/2006/08/09/Accessing+DLLs+Stored+In+The+GAC.aspx

To pull the dlls out of the GAC (you can just copy them).

Then add them into your project at the root level (not as references, but just like you were adding another file).  Then, in visual studio, highlight them and select "Copy always" as the option for the "Copy to Output Directory" field.

This will make sure that the DLLs are copied into the BIN directory for deployment.

 

Categories:  | 
Saturday, March 22, 2008 11:00:02 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Visual Studio .Net 2008 - Making sense of all the versions#

Microsoft really does a terrible job explaining all the variations of Visual Studio .Net 2008 (and there are many):

  • Visual Web Developer 2008 Express Edition
  • Visual Basic 2008 Express Edition
  • Visual C# 2008 Express Edition
  • Visual C++ 2008 Express Edition
  • Visual Studio 2008 Standard Edition
  • Visual Studio 2008 Professional Edition
  • Visual Studio Team System 2008 Architecture Edition
  • Visual Studio Team System 2008 Database Edition
  • Visual Studio Team System 2008 Development Edition
  • Visual Studio Team System 2008 Test Edition
  • Visual Studio Team System 2008 Team Suite

After a lot of searching, I finally found this data sheet that explains most of it.

Why this was so hard to find is anyones guess.

Categories:  |  |  | 
Thursday, March 20, 2008 12:43:45 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

All content © 2008, Christopher May, Inc
Open Job Positions
On this page
Google Ads
This site
Calendar
<June 2008>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Archives