Tuesday, February 21, 2006

I can barely contain my excitement over this article, "Practical Tips for Boosting the Performance of Windows Forms Apps" by Milena Salman in MSDN Mag (March 06). I read most of it this morning over breakfast and came down to my office with the sole intent of opening up the windows forms app I am getting ready to re-deploy in it's shiny new .NET 2.0 makeover and finding any place that I can apply all of the awesome advice Milena dishes out in this article.

Of course, now it's 2:00 and if I can just turn off Outlook, I.M. and the phone, I might actually get started on this.



Don't Forget: www.acehaid.org
Tuesday, February 21, 2006 1:52:50 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I have mentioned my use of the XCeed streaming compression for returning data from web services a number of times in this blog. Here is a post when I first discovered that it reduced a 2.9 minute download of  4 MB to 12 seconds! I have since mentioned it a few times but never showed exactly how it is coded. Last night Rod Paddock pinged me to find out if I thought that component would work for him and it turned out he had the exact same scenario as I have been using it for. Therefore I showed him my code and thought I would put it here as well.

The key to all of this is that the component compresses bytes, so whatever you are returning, you want to convert it to bytes first. I'm sure this may make some web service purists cringe, but is it any different than returning a binary attachment with MTOM - which is a W3C standard? (I'm open to further education on this, my purist friends!)

Anyway, back to stream compression.

Let's say you have a .NET client to .NET service scenario and are writing both ends. (That is a setup to avoid any rotten tomatoes for using a dataset in this example :-) ).

On the web service end, I have a method that accepts the dataset, converts it to a byte array, compresses that into another byte array using XCeed QuickCompression class and then returns this compressed byte array.

Using ms As New System.IO.MemoryStream
 ds.WriteXml(ms)
 Dim bytearray(ms.Length) As Byte
 
bytearray = ms.GetBuffer
 
Dim CompressedBytes() As Byte
 
CompressedBytes = QuickCompression.Compress(bytearray, CompressionMethod.Deflated, CompressionLevel.Normal)
 
Return CompressedBytes
End Using 

On the client end, having called this web service operation, I decompress the received bytes into a new byte array, then read that byte array into a new DataSet. Et Voila!

Dim ds As New DataSet
Dim compressedBytes() As Byte = WSProxy.GetDataSetasCompressedBytes
Dim byteArray() As Byte
= QuickCompression.Decompress(compressedBytes)
Using ms As New
MemoryStream
  ms.Write(byteArray, 0, byteArray.Length)
  ms.Position = 0
 
ds.ReadXml(ms)
End Using

I remember when I was first looking for a means of doing this and reading about this component, it wasn't obvious how to do this in a web service, so I had a pointer from someone in tech support as to how to accomplish this.

I have used this combined with WSE 2.0 and now with WSE 3.0 to protect this data in addition to compressing it. If you have really humongous files, you can combine compression with MTOM in WSE 3.0 as well. I'll have to check this out with WCF at some point.



Don't Forget: www.acehaid.org
Tuesday, February 21, 2006 10:23:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, February 20, 2006
I'm looking at Rod Paddock's editorial in the current CoDe Mag issue. This is the future tehcnologies issue wiht articles on WPF, LinQ and Ajax. In the editorial he says that there is going to be a 6 article series on WCF starting with the next issue. I'm really looking forward to this. Especially considering who is going to be writing some of these: Michele Leroux Bustamante, Juval Lowy, Christian Weyer.

Don't Forget: www.acehaid.org
Monday, February 20, 2006 9:37:21 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Ex-Microsoftie Alec Saunders' teenage boys believe they have found a really good use for a piece of carpentry (as opposed to computer) hardware. I'm married to a carpenter who is in many ways like a teenage boy. But I don't think he'll be trying out this technique in the kitchen any time soon.



Don't Forget: www.acehaid.org
Monday, February 20, 2006 8:49:48 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Here's what one software giant, Peter Norton, did with his millions ... [Read more ...]

[A DevLife post]



Don't Forget: www.acehaid.org
Monday, February 20, 2006 8:44:10 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

note - this is very clearly categorized under Purely Personal - so don't give me any grief

http://www.cnn.com/2006/POLITICS/02/20/port.security/index.html



Don't Forget: www.acehaid.org
Monday, February 20, 2006 5:48:05 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Sunday, February 19, 2006

Did you hear that the ADO.NET 2.0 indexing engine screams? But not in the way I was expecting! [Read more ...]

[A DevLife post]



Don't Forget: www.acehaid.org
Sunday, February 19, 2006 2:11:33 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Sorry, couldn't help it but I can't think of Rich without thinkng of the phrase "No! Nope! Niet! Non! Negative! Nuh-huh! [shake head vigorously]!!!" in response to the question "is .net remoting dead?"

He's off to be p.m. for InfoCards, whic makes perfect sense. I think outside of Microsoft, Michele is the one person who knows anything about InfoCards so far - but that too, is a natural given her work in interop.



Don't Forget: www.acehaid.org
Sunday, February 19, 2006 9:24:47 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, February 18, 2006

Wow, what a surprise but such a great one. INETA just added 5 new speakers

Scott Cate
Richard Hundhausen
Wally McClure
Sahil Malik
Robert Green (hey Robert, where's your blog?)

Although out of this bunch I have only ever personally attended sessions by Richard, the other 4 guys are not only some of the top experts in their fields, have done a ton of presenting and written a host of books, but every one of them (including Richard) are really nice guys and will be awesome to have at your user groups.

Congrats guys.



Don't Forget: www.acehaid.org
Saturday, February 18, 2006 9:59:40 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, February 17, 2006
Sent: Friday, February 17, 2006 4:45 PM
Subject: why do you auto highlight your pages? (via Julia Lerman Blog)

It took my like 300,000K of my memory, 50% of my CPU and 10 minutes to load one of your pages.

Why do you torture your visitors by doing highlighting at all, and even worse, by doing it on their side?

I didn't even read the content because I was so bothered by the fact that it was trying to highlight everything, including the letter 'i' whereever it occured.
 
****************************************************
 
Dear Chris,
 
Is this for real or does everyone with a dasblog get this email?
 
The only way you would possibly get this behavior is if you did a search (using the search tool built into dasblog) on the letter "i".
 
Here is the url when you use that search tool to search for "julie" in my blog:
 
 
So clicking that link you will first get a definite lag time while everyone of my posts is searhced for the word "julie" and then when it renders (with EVERY post on my entire weblog that has this word in it), it will highlight in yellow the word "julie" on the resulting page.
 
So imagine doing the search in the letter "i". It will take quite some time to search through all of my posts and then return hundreds and hundreds of posts which will take a long time to render and THEN it will go through that entire rendered page and highlight the "i" s. And if that took ONLY 10 minutes, you must have one fast machine!
 
On the other hand, if you are searching for every time I used the letter "i" in a post over the last 2+ years, you have much bigger things to worry about.
 
Julie
Friday, February 17, 2006 5:04:59 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, February 16, 2006
For anyone who hasn't noticed, Infragistics and Telligent are both hiring. Telligent's growth never ceases to astound me! Both are great places to work where your .NET skills and your brains will be used, challenged and heightened.

Don't Forget: www.acehaid.org
Thursday, February 16, 2006 8:05:34 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Jean-Rene sent out a great email about DevTeach today. Here are some key elements from it:

Save 200$ by taking advantage of DevTeach early bird.
This year, we are offering an early bird of 200$ CAN for attendees that are registering before February 28th, 2006. Registered attendees have accessed to the DevTeach 2005 Archive sessions material for download.

User group members rebate at DevTeach 2006
The User Groups Rebate program is back in 2006. We are offering 50.00$ off the registration cost to all members of user groups registered with INETA, Pass, Culminis or the Universal Thread User Group Meeting Tracker. To benefit of this rebate, members need to enter a rebate code when processing their registration. This rebate can be combined with the early bird discount which gives a 200.00$ rebate until Fabruary 28th. User group leaders can request this rebate code good for 50$ off the registration by sending an email to jrroy@DevTeach.com.

Get to know our speakers by reading their blog and listening to their talk show interviews.
Most of our speakers write regularly in their blog and have been interviewed by the Dot Net Rock Talk Show or the Visual Studio Show. Get to know our speakers by reading their blog and listening to their latest interview on talk shows. The DevTeach conference include a top selection of speakers having a strong experience in various areas. Most of these speakers are presenting at major conferences around the world on a regular base and in other areas as well such as user groups, corporate training and class training.



Don't Forget: www.acehaid.org
Thursday, February 16, 2006 1:06:55 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
Hip hip hooray. Blue House Group in Richmond, VT has created a beautiful and informative website for VTSDA. There is still some tweaking to do, but the new site is now live. www.vtsda.org.

Don't Forget: www.acehaid.org
Thursday, February 16, 2006 12:38:30 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, February 15, 2006

Greg was my A#1 contact for all things INETA down under, so I was happy to see this announcement on Frank Arrigo's blog this morning.



Don't Forget: www.acehaid.org
Wednesday, February 15, 2006 8:41:10 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, February 14, 2006

I'm not sure if I should cry in relief or frustration. I just spent hours and hours trying to get at the cause of a NullReferenceException being thrown by my application. I could not trap it, inspect it or even get rid of it by grabbing a straws. I finally got rid of it, but only by a stroke of luck. [Read more ...]

[A DevLife post]



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 9:57:46 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Our NetFlix facility is 100 miles away in White River Junction Vermont. It takes one day for mail to get there. We can't figure out why the website says that movies are "received" by them 6 days - 4 business days - after we mailed them back.

I don't think we are uber-renters, destined for the list that we've been reading about lately. But it's pretty annoying and of course not very easy to complain to anyone. The only types of problems they seem to let you report are if you are missing a sleeve or scratched DVD. Otherwise you get in a hopeless loop searching for a way to contact them.



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 4:03:02 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Here is a project that I am now publishing through clickonce.

I just opened the project up in VS2005 and saw all of these warnings. Sheesh, here we go again...

(Note: I got an email from Patrick Darragh who is a Program Manager on the VB Team and has a lot to do with ClickOnce. Patrick tells me that "those warnings are controlled by the ‘Verify files uploaded to the server’ property on the Publish Options dialog off the Publish tab.  If you uncheck this property, the warning should go away.")



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 2:40:49 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I couldn't resist buying my honey a big ol' bag of M&Ms for Valentines Day because I knew I had M&M wrapping paper at home. Heh heh.



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 12:50:04 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Would you like to work out of a newly renovated office with awesome views, great
co-workers and the best coffee machine in Burlington, VT? Do you have solid web
development chops, good customer service and interpersonal skills, the ability to
work under deadlines, and a good sense of humor? This job may be for you…

Union Street Media, a leading Vermont web design and development company, is seeking to add
a new Web Developer to our team. Since 1999, we have developed database-driven web sites
focusing on visual appeal, usability, and search engine prominence. The company serves over
250 clients in three primary business areas: real estate, e-commerce, and content-driven sites.
USM is a young, aggressive company requiring its employees to wear many hats. As a member
of our development staff, the person who fills this role will be responsible for helping in the
development and support of our clients’ web sites. The role requires timeliness in project
delivery, attention to detail, and a high degree of professionalism. We’re looking for a
hard working team player who enjoys working on the web. Those who don’t play well
with others need not apply.

Previous experience at a web development or marketing firm is preferred, but not required.

The position comes with a host of benefits including health insurance contribution, a gym
membership, dog-friendly atmosphere, and access to our stash of ski vouchers.

Functions/Responsibilities:
• Strong people skills and team mentality
• Work with all members of the USM team to develop web sites for clients
• Build sites using USM's CMS; design custom templates for various modules.
• Thorough understanding of HTML, CSS, Photoshop, Web Standards, usability
• Working knowledge of PHP, MySQL
• Keeping skill set up to date with current design and technologies
• Help with support tickets, spam filtering, DNS changes, setting up FTP and email accounts

Compensation:
Commensurate with experience

Schedule:
This full-time position in our Burlington, Vermont office is open immediately.

To Apply:
Email resumé, cover letter, and three references to jobs@unionstreetmedia.com .
No phone calls please.
Union Street Media is an equal opportunity employer.



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 12:14:29 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I'm looking at a VS2005 ad in CoDe Magazine - part of the "spot the difference" campaign. The before picture has people meeting around a table with an obvious work load ahead. The after picture shows them after they have launched their product. But there is something bugging me about the after picture. The gold master framed dvd on the wall is dated October 7, 2005. So they shipped their product based on VS2005 Beta 2? Eek!

okay back to work...



Don't Forget: www.acehaid.org
Tuesday, February 14, 2006 11:43:46 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  |