Sign in
|
Join
|
Help
in
Raymond Lewallen (blog)
CodeBetter.Com Blogs (group)
(Entire Site)
Search
Do you Twitter? Follow us
@CodeBetter
Raymond Lewallen
Framework Design, Agile Coach, President Oklahoma City Developers Group, Microsoft MVP C#, TDD, Continuous Integration, Patterns and Practices, Domain Driven Design, Speaker, VB.Net, C# and Sql Server
Published by
Comments
Raymond Lewallen said:
Sorry, the pictures don't seem to be loading up for some reason. They are CLR Profiler graphs, if you wanted to know.
#
December 2, 2004 10:14 AM
Scott said:
Graphs aren't showing
#
December 3, 2004 3:58 AM
Scott Hanselman said:
This is interesting, but it doesn't seem to me to be a realistic use case, as you are concatenating a single char, 1000 times. I don't remember ever needing to do that, and the GC characteristcs will be different based on:
"Big string -> small appends
It's substantially likely that appends will fit in the slop and so they're fast, this is the best case (buffer size becomes double the string when it no longer fits so on average the slop is half the current string length) (if there are lots of small appends to a big string you win the most using stringbuilder)
Big string -> big appends
While the string is comparable in size (or smaller) to the appends stringbuilder won't save you much, if this continues to the point where the appends are small compared to the accumlated string you're in the good case
Small string -> big appends
bad case, string builder will just slow you down until enough slop has built up to hold those appends, you move to "big string big appends" as you append and finally to "big string small appends" if/when the buffer becomes collossal
Small string -> small appends
could be ok if you had a good idea how big your string was going to get and preallocated enough so that you have sufficient slop for the appends. You might be able to do better if you just concated all the small appends together in one operation."
Take a look at my post that points to Rico's:
http://www.hanselman.com/blog/PermaLink.aspx?guid=c41857da-5f8a-45a0-99bf-66dd1dbfd5c0
#
December 4, 2004 7:06 AM
Raymond Lewallen said:
Sorry about the graphs. I was gone hunting over the weekend and didn't have time to fix them, but they are up now.
Thanks for the information from Rico, Scott. This was really testing the small string/small appends and big string/small appends scenarios. The reason I testing with this many loops is because of some scenarios we deal with on my project, not to the extreme I tested though. I was going to do an additional test this week with the small string/big appends and big string/big appends scenarios.
#
December 6, 2004 12:49 AM
Raymond Lewallen said:
Fields and constants for VB Beginners
#
December 7, 2004 2:00 AM
Raymond Lewallen said:
DataRowCollection, Red-Black Tree and a simple explanation.
#
December 9, 2004 1:44 AM
Panos Theofanopoulos said:
Do you know why did they chooce red-black tree vs SortedList or something similar ?
The benchmarks of red-black tree for loading a large Dataset (100K rows) will without doubt outperform the SortedList
But since red-black tree has created an additional 100K objects (nodes) vs just two in the case of the SortedList, the overall application performance will suffer
too much pressure to GC, for objects that probably elevate to generation 2
btw the BinarySearch of ArrayList (or searching a SortedList ) is also a O log(n)operation
#
December 9, 2004 11:43 AM
Raymond Lewallen said:
Panos,
I asked them about why they chose the red-black tree over a hashtable or sortedlist, but didn't get an answer, and was only told that the red-black tree was currently supporting the DataRowCollection and that it could very well change.
I almost wanted to implement my own red-black tree to how the GC would deal with it. Even though you get a big increase in initial performance, I am curious if the number of garbage collections is going to undo any performance gain you may have received, like you said, due to the number of nodes created.
#
December 9, 2004 11:54 AM
JavaKid said:
Well said Raymond.
I also wrote a similar post on this topic with a little different twist:
http://javakid.blogspot.com/2004/10/developer-burnout.html
JavaKid.
#
December 13, 2004 3:55 PM
Andrea Ramacciotti said:
Give a try to:
Response.AddHeader("content-disposition","inline; filename=myReport.pdf");
#
December 14, 2004 3:06 AM
Scott Allen said:
Amen to that.
#
December 14, 2004 3:12 AM
Maz said:
you may wish to try <EMBED> tags in your code and try open the code seperatly. IE has some weird security issues with opening PDF straight, it prefers HTML
#
December 15, 2004 12:36 AM
Raymond Lewallen said:
I wish I knew why opening a Pdf is so difficult, especially when there is a content type header value specificially for pdfs. I'll try both of your suggestions and see what I come with, thank you.
#
December 15, 2004 1:56 AM
Eric Wise said:
Of Burnout and Overtime Exemptions
#
December 15, 2004 4:48 AM
Daniel Moth said:
Well, if you use the ArgumentException class it supports the ctor you desire. If you have such a specific exception you are throwing why not create your own and it can support whatever you like. Anyway, to answer your question, yes Whidbey's ArgumentNullException class's ctor has an overload that accepts innerException :-)
#
December 22, 2004 6:00 AM
Le weekly DanWatts said:
#
December 22, 2004 9:05 AM
Anders Norås said:
What a rip off! The original guide to writing unmaintainable code can be found here:
http://www.mindprod.com/unmain
#
December 29, 2004 1:25 PM
Eric Newton said:
I have to agree with you for the most part... CLR sprocs in this incarnation was NOT what I was excited about.
I was looking forward to having more access to the db engine for "cooler" stuff... I cant explain really what I had in mind right now, but the idea was getting closer access to the db engine for more advanced data processing.
Instead we just get in-process "SQL string building" instead of out-of-process like we do now in ASP and ASP.Net. Whereas we're still just building a string for the engine to parse and actually do something, instead of getting a language that has a lot more access to the underlying technology.
#
December 29, 2004 4:19 PM
Raymond Lewallen said:
Anders, you obviously didn't notice that the link you gave is by the same author, Roedy Green. Rather difficult to rip off your own literary work, wouldn't you agree?
#
December 30, 2004 2:30 AM
Raymond Lewallen said:
Darrell Norton added a post today for freeware links at
http://dotnetjunkies.com/WebLog/darrell.norton/archive/2005/01/04/41222.aspx
#
January 4, 2005 2:32 PM
Scott Allen said:
Wow, it is getting crazy over there!
#
January 6, 2005 10:17 AM
John Wood said:
Well... if it's *your* project, why don't you just change it :)
#
January 10, 2005 6:36 AM
Raymond Lewallen said:
Its not "my" project, I wasn't being literal. Someone else is paying for it, so its theirs. :) I thought about changing it once, but its been here since before I came to the project and I kinda like being able to "f(this)" when I really need to. :D
#
January 10, 2005 6:44 AM
gobiK@ said:
Colts Vs Falcons
Bout time My beloved Colts get somekinda respect.
of course it would take them winning the superbowl 4 stright times to actually get some.
THEY ARE the greatest passing game/running game on record.
for a great reson.
and their D is highly UNDERrated,as they give up yards,but they DONT allow alot of points scored on them.
they will beat NE,and advance to the superbowl.
Ty Law is out of the game and I dont forsee Manning throwing 4 intereptions this year.;)
be a nice tight game,but My Colts will be there this year.
against the Falcons.
K@
PS: superbowl MVP's
Manning
Harrison
Stokely
Wayne
Pollard
Clark
james
any questions????????
#
January 11, 2005 1:28 PM
Gordon Smith said:
I know it's probably obvious, but the F most likely meant that the function returned a boolean value. The fact that it took a this pointer is irrelavent.
#
January 11, 2005 2:38 PM
Raymond Lewallen said:
Actually, the function converts text and replaces some characters. My best guess has always been the "f" stood for function. The odd thing is, "f" is a subroutine that takes "this" by reference and has no return value.
#
January 11, 2005 2:44 PM
Jake Good said:
I know you said simplest... so here's a tip
If you had wanted more real random generated passwords you would use the RNGCryptoServiceProvider to generate random sequences of data that is more purely random than using Random.
Just my $0.02...
Nice little post! ... since I'm not big into T-SQL, it provided me with more knowledge :)
#
January 13, 2005 5:59 AM
Raymond Lewallen said:
Jake,
I actually have a password generator that uses RNGCryptoServiceProvider and is also simple. Just add the following (with some minor alterations) to your code where you GetRandomCharacter (note: i didn't go back and look this up cause I can't remember where I put it, so I'm not 100% positive this is all correct and will compile as is if you plug it in):
int intA = this.characterArray.GetUpperBound(0);
int intB = this.characterArray.GetLowerBound(0);
rcsp = new RNGCryptoServiceProvider();
byte[] randomnumbers = new Byte[4];
do
{
rcsp.GetBytes(randomnumbers);
unit uNumber = System.BitConverter.ToUInt32(randomnumbers,0);
} while (uNumber >= (uint.MaxValue - (uint.MaxValue%(uint)(intA-intB))));
return (int)(uNumber % (intA-IntB)) + intB;
#
January 13, 2005 6:32 AM
Gerd Orfey said:
In order to make sure, that the whole range of characters is used for the passworts, for c#, instead of <br> <code> return this.characterArray[(int)(this.characterArray.GetUpperBound(0) * randNum.NextDouble() <b>+ 1</b>)];</code>
I would write <br>
<code>
return this.characterArray[(int)((this.characterArray.GetUpperBound(0) <br>+1</br>) * randNum.NextDouble() )];</code>
<br>
In you version the character 'a' never shows up.
Regards
#
January 13, 2005 1:08 PM
Raymond Lewallen said:
Nice catch Gerd. I overlooked that in the C# code. I'll update the example above to reflect your change.
#
January 13, 2005 1:19 PM
Scott Allen said:
That is awesome. I wish we had this 3 years ago.
#
January 20, 2005 11:49 AM
Htun Htun Naing said:
Thank you
#
January 30, 2005 9:47 PM
Raymond Lewallen
said:
You can follow
http://dotnetjunkies.com/WebLog/rlewallen/archive/2004/12/28/39285.aspx
back to the original post to view this blog entry.
#
February 2, 2005 5:19 AM
TrackBack
said:
#
February 2, 2005 6:11 AM
Brendan Tompkins
said:
Raymond,
I agree that a strongly typed wrapper around the session object is the way to go. I blogged about this a while back, and use something similar to this at work:
http://codebetter.com/blogs/brendan.tompkins/archive/2004/01/21/5856.aspx
What I like about your model, is that you don't have to instance your state obejct, it just lives as part of the page class. What I don't like is that you end up with a very large object, with slots for every possible session obejct, which doesn't scale well either.
The state object I've created also allows you to store your State in different places (ViewState, Application, Cache) ... Perhaps I'll blog about this tomorrow, when I have more time.
Wonder if we could put our heads together, and get the best of both worlds somehow...
#
February 2, 2005 4:05 PM
Raymond Lewallen
said:
Brendan,
The small community of Codebetter.com is already paying off very well. A post by Eric not 6 hours ago has gotten him, Salik, me and you all involved and discussing base page inheritence and what goes along with it, without having to wade through 150 other posts. We've since discovered that we each build different implementations of session wrappers (expected, of course), both with their good and bad behaviors.
The thing you mentioned about mine is the same thing I don't like about your model: the instance. I do really like the implementation of the multiple places to store State information. I've been brainstorming lately about a way to re-implement a caching pattern into the BasePage scenario, based on our application requirements. I fully agree that perhaps we can each take the models we have and put them together somehow to come up with a more solidified solution to the scenarios.
I do agree that you can end up with very large objects with my model, depending on the application. I can't elaborate on the project I work on due to the nature of the project and client, but the model works out well if you were to be aware of our circumstances and requirements. In the meantime, we can work on combining our models and perhaps the models of some others who can comment to come up with a really great pattern for all scenarios for storing State information.
#
February 2, 2005 4:57 PM
ben
said:
We use the same concept as you published here, and we also put some security logic into the base page's OnLoad method, it gives you the benefit of security and its completely transparent to the developer writing the pages.
#
February 2, 2005 7:24 PM
Raymond Lewallen
said:
Ben,
Yes, we also have a security model in our BasePage, but covering everything you can implement into a BasePage for web forms would take dozens of posts, so I only covered a session wrapper here. In the near future I'll talk about a security model that can be implemented into the BasePage as well.
#
February 3, 2005 6:52 AM
Brendan Tompkins
said:
Raymond,
Yeah! Have all of these coders reading these new blogs is amazing! I'm having fun.
I'm going to do a new post, because I have a lot more to say about this...
B
#
February 3, 2005 8:27 AM
TrackBack
said:
#
February 3, 2005 9:24 AM
TrackBack
said:
#
February 4, 2005 4:38 PM
Daniel Moth
said:
Just get a laptop then your yellow flag will follow you :-)
On a serious note, that is a valid request and a reasonable solution - you've got my vote.
#
February 6, 2005 12:53 PM
Daniel Moth
said:
Just get a laptop then your yellow flag will follow you! On a serious note, that is a valid request and a reasonable solution - you've got my vote.
(just don't reply to my comment cause I'll forget to check back :-)
#
February 6, 2005 12:54 PM
Raymond Lewallen
said:
lol, nice play on the topic in that second post Daniel.
#
February 6, 2005 4:53 PM
Brendan Tompkins
said:
This is great stuff!
"When you understand what your code looks like in IL, especially when there are many different ways to accomplish the same task, you write better code."
I've never thought of it that way before. Now I'm convinced!
#
February 7, 2005 10:59 AM
Michael Gerasimov, JetBrains Omea Developer said:
Dear Raymond,
You requests will be available in the next version of the Omea (both Reader and Pro) which will be available in few (4-6) weeks.
Thank you for interesting in Omea!
#
February 9, 2005 8:41 AM
TrackBack
said:
#
February 9, 2005 8:50 AM
TrackBack
said:
#
February 9, 2005 8:52 AM
Darrell
said:
I'd say another disadvantage is the *initial* complexity (although in the long run there is less). And it can definitely be intimidating to those new to OO.
#
February 9, 2005 9:45 AM
TrackBack
said:
Designing .NET Framework Class Libraries: Member Types
#
February 9, 2005 10:50 AM
Adrian Florea
said:
Kenny Kerr's Introduction to MSIL (
http://weblogs.asp.net/kennykerr/category/7140.aspx
) is also a very good start.
Or, the first two chapters of "Expert .NET 1.1 Programming" book (
http://www.apress.com/book/bookDisplay.html?bID=367
)
#
February 10, 2005 6:46 AM
TrackBack
said:
#
February 11, 2005 5:55 AM
Doogal
said:
"Unless you've been programming in C#, VB.Net, C++, J++, Visual FoxPro, Ruby, Python, Eiffel, Smalltalk, Java or Perl for awhile"
...or Delphi
#
February 11, 2005 6:22 AM
Darrell
said:
You don't really need method overloading in Python. Method overloading is really to facilitate strong static typing.
#
February 11, 2005 9:29 AM
David Neal
said:
I wrote something very similar to this a while back in C#, but the SQL code should come in handy. Very nice :)
#
February 11, 2005 1:05 PM
Dave
said:
Also, I don't believe VB.NET supports operator overloading.
#
February 13, 2005 6:23 AM
Raymond Lewallen
said:
Dave, operator overloading will be available to VB.Net in 2.0
#
February 13, 2005 6:33 AM
Daniel Moth
said:
You state (slightly paraphrased):
"VB6 does not support polymorphism"
Sorry, that is plain wrong. Polymorphism via interfaces is very well offered by VB6.
The only thing VB6 did not support is implementation inheritance (making it object-based but not oo - we agree on that).
#
February 13, 2005 4:47 PM
Raymond Lewallen
said:
Daniel, you are correct. VB6 does support polymorphism via interfaces, but in my opinion this does not make it an OO language, which was the focus of the post: OO languages. This is actually an argument that can go on for days because I've had it before. Because VB6 is a static typed language and doesn't support implementation inheritance, as you stated, it doesn't support polymorphism in the true OO sense, which is via implementation inheritance. This was the focus of my statement, and perhaps I should have clarified better in my post what I was getting at and at least mentioned the polymorphism via interfaces. I think I'll do that.
#
February 14, 2005 5:20 AM
Trang Le said:
Can someone please give me a real world(could be at work) example about OOP problem and how to solve it.
Thanks.
TTLE
#
February 14, 2005 6:46 AM
Raymond Lewallen
said:
Trang,
OOP is not a problem, it is a solution. The problem can be solved in many different ways, and OOP is just way to solve that problem. Think of any problem that you have to solve today in your present programming language, and then you apply object-oriented principles and design to come up with a solution. Your question should be reworded to say "Can someone give me a real world problem and an object-oriented solution?" This would take quite a bit of time to discuss in detail, but I'll try to put up a post on it soon, or at least find a link to something that already talks about it, of which there are quite a few of.
#
February 14, 2005 7:10 AM
Trang Le said:
Thanks. Raymond Lewallen.
Have a great day.
TTLE
#
February 14, 2005 7:15 AM
Sahil Malik
said:
Because 62 was too many .. simple !!
#
February 14, 2005 3:22 PM
TrackBack
said:
#
February 14, 2005 5:56 PM
TrackBack
said:
#
February 14, 2005 5:58 PM
TrackBack
said:
#
February 14, 2005 5:59 PM
Ranjan
said:
I think you got the gist of why anybody would like CodeBetter as a blog site.
I like the fact that it is not commercialized, and I hope it stays that way. I dont really like the fact that there's a Crystal Reports ad over my blog, or for that matter anybody else's blog. Google ads are another pain.
Another reason is, as Brendan put it sometime back, a lean and mean feed.
#
February 14, 2005 10:08 PM
Brendan Tompkins
said:
Because Google is inventing a new number system. "Base Google (61)". It's expected to overtake base 2 by the summer. You I have 6 base google accounts to give away, fyi.
#
February 15, 2005 5:59 AM
Darrell
said:
We are good-looking aren't we? Haha, I almost spilled my coffee. :)
#
February 15, 2005 7:01 AM
Sahil Malik
said:
I have personally gotten 2X the hits since I moved to CB. Our bandwidth usage as brendan emails us periodically is simply unbelievable.
#
February 15, 2005 7:23 AM
Jeff Lynch
said:
I gotta stop reading your blog in my office. My boss keeps asking what I'm laughing at...
#
February 15, 2005 8:04 AM
Grant
said:
CodeBetter is about quality over quantity. We're the slow crafted micro-brewed beer of the blog world, instead of bud light.
#
February 16, 2005 11:00 AM
TrackBack
said:
State Class Management Presentation on March 7th
#
February 16, 2005 12:08 PM
TrackBack
said:
#
February 17, 2005 5:44 AM
Brendan Tompkins
said:
I don't know about you guys, but CodeBetter has really made me feel like I have some serious responsibility now. Blogging together with the likes of everyone here, is really a great opportunity for me.
Yesterday, I blogged that SqlDateTime was a value type (which it isn't) - showing my cards, so to speak, in terms of my level of understanding of .NET... I was corrected, and slightly embarrsed too.
But it's all okay. I only know what I know, and those that know me know that. Now that I'm up here with you guys, those that don't know me may get the idea that I know more than I know. You know?
What I'm trying to say is that this has been an awesome experience for me, and this whole thing keeps me on my toes. It's made me want to take blogging more seriously, and it's certainly more fun too!
#
February 17, 2005 8:58 AM
Stephen Hebert
said:
When I copy and paste the code, it all comes out on one line. This happens whether I go straight into QueryAnalyzer or Notepad. This is a nice piece of code, I'm going through it to get it running... Just thought I'd let you know.
-Steve
#
February 17, 2005 9:26 AM
Raymond Lewallen
said:
I'm not having that problem, it comes out fine in query analyzer to me. If anybody wants the file, just let me know by posting a comment here with your email address and I'll send you the .sql file with this code.
#
February 17, 2005 9:36 AM
Stephen Hebert
said:
I'm not certain why this is happening, but I changed your code's html <br> tags to <p> tags and now it copies fine.
#
February 17, 2005 9:38 AM
Raymond Lewallen
said:
That is odd. That is something that w.bloggar does automatically I think, even though I put <pre> around the code.
#
February 17, 2005 9:40 AM
Geoff Appleby
said:
I can program in VB.net AND C#! Does that work? :)
#
February 17, 2005 2:36 PM
Brian Beatty
said:
I had a Radio Shack TRS-80 Model 1 in 1977, when I was 7. I could program basic back then. does that count?
#
February 17, 2005 2:41 PM
Scott Galloway
said:
Try writing a fairly complex program in Notepad...
#
February 17, 2005 2:41 PM
Frans Bouma
said:
I play guitar and I'm damn good at it ;) but I can't play one chord lefthanded (I'm righthanded).
Though, I get the analogy but I don't agree. At the uni during my CS cource, I got around 15 different program languages, even had to create my own (and have created several after the uni). I can switch language without a problem. The thing is: programming is not language-bound: programming is about algorithms, functionality mapping onto executable constructs. The transformation of those to computer language is one which can even be done by a computer program :).
Playing a guitar lefthanded when you're righthanded and then seeing you suck at it has more to do with the tools you've to work with then: use notepad for writing your large enterprise asp.net application instead of vs.net ;)
#
February 17, 2005 2:43 PM
Raymond Lewallen
said:
I see what you are saying Frans. However, there was nothing for you to disagree with. I merely asked if there was an analogy, I was not claiming to have provided one. I certainly do agree with you though. It has to do with the tools you've been provided to accomplish a task. Like asking a piano player to compose a piece of music and play it on the guitar. The piano player could probably compose some beautiful music and play it wonderfully on the piano, but can't get out a single Cmaj7 chord.
#
February 17, 2005 3:36 PM
Patrik said:
The same thing would be to turn you keybord and mouse around and then work as usual.
#
February 18, 2005 12:07 AM
Peter van Ooijen
said:
Like the analogy. May I present a milder variation: tune you guitar different (say open G) or take another instrument like a mandolin, bass, bouzouki or anything else with plucked strings.
How does that sound ?
#
February 18, 2005 3:36 AM
TrackBack
said:
Where are all the custom FxCop rules?
#
February 18, 2005 5:48 AM
TrackBack
said:
#
February 18, 2005 8:06 AM
Darrell
said:
I posted in response to you here:
http://codebetter.com/blogs/darrell.norton/archive/2005/02/18/51179.aspx
#
February 18, 2005 8:07 AM
Jim Geurts
said:
I wrote a "tutorial" of sorts for using the introspection engine... Included is a rule. Otherwise, all of the custom rules that I've written are at work in VSS :) I suppose I could write some more and give them away, though.
Anyway, here is the tutorial post:
http://blogs.biasecurities.com/jim/archive/2004/12/29/818.aspx
#
February 18, 2005 1:09 PM
TrackBack
said:
#
February 18, 2005 4:57 PM
Daniel Moth
said:
Raymond
I understand the context of your post and like I said and like you said we agree on the whole. I was focusing on the specific statement that VB6 does not supporting polymorphism. I see you updated your post (although I don't know who Dave is :-).
It is not important but we still disagree on that point. There is no "true" polymorphism. There are just many ways to achieve it. VB6 supports polymorphism.
The only reason VB6 is not a true OO language is due to the lack of implementation inheritance. Implementation inheritance is a "feature" of which only one benefit is polymorphism.
Cheers
Daniel
#
February 19, 2005 7:21 AM
TrackBack
said:
#
February 19, 2005 9:43 AM
TrackBack
said:
#
February 20, 2005 9:01 PM
TrackBack
said:
#
February 20, 2005 9:04 PM
Oskar Austegard
said:
Copy to Word first, then to your SQL editor. Preserves line-breaks.
#
February 21, 2005 6:57 AM
Chris Wallace
said:
I enjoyed Coder to Developer by Mike Gundelroy.
http://www.codertodeveloper.com/
#
February 22, 2005 6:14 AM
Brendan Tompkins
said:
I can see the need for this, but don't you think any app needing to chunk the viewstate has some, well, design issues? I guess I'd just recommend that other state mechanisms are explored before cramming it all in a huge ViewState.
#
February 22, 2005 6:46 AM
Raymond Lewallen
said:
I absolutely agree, Brendan. That's why I stated "...chunking capability doesn't replace the fact that viewstates should be kept as small as possible...". However, there has been enough concern over it in the last 3 years that Microsoft implemented chunking. I don't know what each browsers limitation on hidden field size is, and have not run into this problem, yet, that I know of. I do have some very large datagrids though, and anticipate that there are some users out there that may be experiencing a problem and not reporting it.
#
February 22, 2005 7:08 AM
Scott Allen
said:
I just started in on Patterns Of Enterprise Application Architecture.
http://www.amazon.com/exec/obidos/tg/detail/-/0321127420/qid=1109085394
. I'm looking forward to spending some time with this book.
#
February 22, 2005 7:24 AM
Darrell
said:
Patterns of Enterprise Application Architecture by Martin Fowler.
#
February 22, 2005 7:24 AM
Ranjan
said:
Currently reading -
Agile Project management with Scrum - Ken Schwaber
Design Patterns Explained (Shalloway,Trott) - great book.
Also, re-reading Grady Booch in OO Analysis and Design with apps was fun last month. Maybe you can try these out.
#
February 22, 2005 8:22 AM
Brendan Tompkins
said:
Okay, good! :) I just have gone viewstate crazy in the past, because it was so easy to do. It came back to bite me... Most of my bloated viewstate stuff was due to datagrids. I've ended up turning viewstate off, and managing it on the server, which isn't the easiest thing in the world to do. I wonder if a post on how to do this would be useful.
#
February 22, 2005 8:33 AM
Raymond Lewallen
said:
Already working on the post to demonstrate viewstate chunking ;)
#
February 22, 2005 8:35 AM
JosephCooney
said:
PoEAA is by Martin Fowler is good.
#
February 22, 2005 8:37 AM
Scott Galloway
said:
Raymond- check out Paul Wilson's stuff on this
http://weblogs.asp.net/pwilson/archive/2003/08/21/24867.aspx
Personally I've switched a couple of recent apps to using some Server Side Viewstate stuff I wrote (with background cleanup bits) - gets the advantages of ViewState without the hassle of custom state management (and without the memory implications of Cache, statics etc...)
#
February 22, 2005 8:47 AM
TrackBack
said:
#
February 22, 2005 11:34 AM
Daniel Moth
said:
Looking at my recently read, very good (and language agnostic )books... "Maximizing .NET Performance" qualifies. I reviewed it on my blog:
http://www.danielmoth.com/Blog/2004/11/book-review.html
#
February 22, 2005 2:58 PM
Colin
said:
Eric Sink has a good article on his definitions of programmer and developer:
http://software.ericsink.com/No_Programmers.html
I tend to use programmer and developer the way he does.
Colin
#
February 22, 2005 4:27 PM
Raymond Lewallen
said: