I have been using Anil’s fantastic weblog as a study guide in my attempt to make myself more knowledgeable and hopefully helpful at my next DevDays talk (Boston 3/16).
SQL Server and names with apostrophes
My client has a recent hire with the last name O’Dell. In seven years of working with them, this is the first employee with an apostrophe in their name. I am suddenly discovering a few gaps with my applications. He’s a good egg and isn’t taking it too personally.
Ali Aghareza: Writing a thread barrier in .NET (part 1)
From Ali the plumber:
Rich Turner and Omri Gazitt on Soap Messaging: Chunk today– MTOM tomorrow
[Warning – I am NO Indigo or ws-messaging, etc. wonk , but] this post, by Rich of the indigo team, which references a post by Omri, caught my eye.
I learned a while ago why DIME can suck – if you have a large attachment, you can’t truly leverage the fluidity of streaming since the entire thing needs to get cached first.
So when someone writes about DIME and web service attachments I pay attention.
Rich Turner writes today about MTOM which is still a little wobbly but (from the best I can get from Omri’s post) will be worth the wait because of how it will be able to work with ws-security down the road.
For today, Rich says, we are still stuck with DIME (if Simon Fell ever followed me to my new blog, surely he is cringing with that statement… :-)) and its limitations and (though I recommend you read Rich’s and Omar’s entire posts) do heed Rich’s advice: “…we strongly urge you to consider chunking your messages into smaller payloads at the source and and de-chunking them at the destination.”
iLoo part too, Secret Geek style
I love any excuse to make reference to the the iLoo! (evil laugh)
And I found a new excuse: Leon Bambrick has a funny (well, all of his posts are funny) look at some software that he things should be written – the toilet reservation system. Watch out for those puns!
Jeffrey McManus discovers georgewbush.com’s build your own campaing poster feature
I wonder if Jeffrey will sell these on eBay
http://mcmanus.typepad.com/grind/2004/03/free_marketplac.html
Jason Beres speaking at Vermont.NET – a smash hit!
Although Jason is an INETA speaker, he recently started working for Infragistics and it was Infragistics that sponsored him coming to speak to Vermont.NET monday.
Jason was such a hit with our user group (see this example on Dave Burke’s blog), I am still getting emails from attendees thanking me and Jason for this great meeting. Jason talked about the many interesting solutions he came up with when working on a multi-tier windows application. He didn’t even point out any of the infragistics controls he used. I was pretty impressed. I know that even if he had said “oh by the way… that’s an infra grid” or something like that , nobody would have run form the room screaming “eek marketing!”
Jason is a fun, nice nice guy and he has a ball presenting. Thanks so much to Infragistics for sending Jason, buying pizza for the night and for the two licenses to NetAdvantage that Jason raffled off at the end.
Sam Gentile doing his awesome “.NET CLR and Friends” talk at a number of user groups
I am *so* happy to see this. Sam did this talk at Vermont.NET last summer. It is a phenomenal presentation that made everyone in the group (from newbies to experts) feel like they gleaned a real inside understanding of .NET. And Sam is a lot of fun when he gets going on this topic that he is so passionate about.
Here’s the schedule that I have gleaned from his blog (though you can find the entire upcoming ineta speakers schedule on the www.ineta.org website).
These are all INETA sponsored events.
Code Generation Network interviews Kathleen Dollard
From Don Kiely
The Code Generation Network‘s Jack Herrington recently interviewed Kathleen Dollard about code generation, her new book (Code Generation in Microsoft .NET), and the state of programming in general and .NET specifically. It’s an interesting read; Kathleen has some interesting thoughts about where programming should go.
Read the interview here. I’ve been using her techniques along with Rocky Lhotka’s CSLA framework (the book and his site) for my current projects, and it’s a sweet combination.
Incidentally, Kathleen also has her code generation Web site up and running. Check it out!
Moving tables between datasets – yes it can be done in .NET 1.x
Oooh I am so looking forward to the dataset merge and datatable merge functions in Whidbey.
In the meantime, I have some little functions that I use in my .net apps to do this. This topic came up in our user group meeting last night and I mentioned my work around and many people asked me to share the code with them. It’s not a big secret – the trick is two-fold. 1) Accept the fact that a datatable that is part of a dataset is superglued, stapled, chained for life to that dataset and cannot be added to any other dataset. Period. The only way to detach it is to kill it and once it is dead it can’t be married to another dataset anyway. 2) check out importrows!
So here is my routine, and it is overloaded.
Step 1: Send in the datset that the table is going into and the dattable to the function.
Step 2: Clone the datatable, this creates a NEW table with the same structure
Step 3: transfer the name to the new datatable clone
Step 4: iterate through the rows of source table and use ImportRow to suck a copy of them into the new table
Step 5: Return the new datatable
Public
Function MoveTabletoNewDS(ByRef DestDS As DataSet, ByRef SourceTBL As DataTable)Dim newTable As DataTable = SourceTBL.Clone
newTable.TableName = SourceTBL.TableName
Dim oRow As DataRow
For Each oRow In SourceTBL.Rows
newTable.ImportRow(oRow)
Next
DestDS.Tables.Add(newTable)
End Function
This overload is so that I can also work with strongly typed datasets. I want to pull a datatable out of one dataset and put it into another strongly typed dataset.
Public Function MoveTabletoNewDS(ByRef DestDS As DataSet, ByRef SourceTBL As DataTable, ByRef NewTable As Object)‘newtable has been created from a strongly typed object
newTable.TableName = SourceTBL.TableName
Dim oRow As DataRow
For Each oRow In SourceTBL.Rows
newTable.ImportRow(oRow)
Next
DestDS.Tables.Add(newTable)
End Function