Archives / 2003 / April
  • Streaming!!

    I just uploaded my deck and samples for a FileStreaming Tips and Tricks presentation that I am doing at DevTeach in a few weeks in Montreal. They are currently just on the DevTeach site, because those folks need them to make their cd. (I will upload them to my website after the conference.) I am also doing this same presentation at my user group on Monday night (5/5) -- a dry run.

    I learned SO much while I was putting the presentation together. It was originally inspired by some things I figured out for a client's web application last fall that I wanted to share. But once I started working on the presentation, I wanted to really explain things well and give some great ideas and samples on using streams because they are SO confusing. I kept digging deeper and deeper in the MSDN library, into streaming classes, buffers, responses, images, serializing. I even just started looking for anything that had the word stream in it and checking it out. This has opened up .NET to me in a whole new way and my head is spinning. Creating the samples was also a great exercise because I learned a lot of things that I wouldn't have by just conceptualizing. So many things make sense to me now.

    So this was a two-fold lesson for me. The first is  - man oh man, learn about streaming! The second is - offer to do a presentation somewhere. If you take the right tactic for creating your presentation (i.e. take it seriously), you will very likely find that you can learn a specific topic inside and out. I'm not saying I know streaming inside and out now, because that is big topic.

    One of the tricks in my streaming presentation is the focus of a mini article (aka "Hot Tip") I wrote that is in the June (current) issue of Visual Studio Magazine. Well, it's referenced in the magazine, but they published it on their website. I also have a link to it from my blog home page. It is about using streams to get a DTD into an xml that you create from dataset.writexml. I needed a lot more room to explain it in a more detailed manner, but the tip is a bit abbreviated. You know how that goes!

    When DevTeach is finished, I will put this deck and the sample code up on my website as well as the deck from my other presentation on "Building and Enterprise Solution around Web Services".


  • dnwl blogger, Robert Wlodarczyk, wins U.S. round of big Microsoft student developer competition

    Robert Wlodarczyk very subtley mentioned in his blog about being at the Imagine Cup 2003 U.S. competition held at Microsoft... that he WON! This is a contest on XML Web Services for college undergrads and graduates. There were 8 projects in the U.S. finals.

    I have not been able to find any links on the Microsoft site, not even on the Academic Alliance site for the competition.

    Robert will go to the international finals at Tech Ed Barcelona.

    Congratulations Robert!!! I'm sure everyone here is quite proud of you.

    We have a number of young programmers among us. Some in college, some even younger! Back in the old days <g> when I was in college, we were working on personal computers that we had to build ourselves first (Heathkits). I did not participate in the building of computers - I was much too busy in the art studio. The science professors did that nasty job. I took a total of ONE computer class during my four years of college.


  • why I run a user group

    This is an excerpt from an email I received this weekend from a VTdotNET user group member:

    I really like the idea of building a local developer community. You are setting great examples.

    This was the driving force behind my starting VTdotNET. It makes me very happy not only to see others with the same desire, but also that someone actually recognized this part of my motivation. It is also a good part of what INETA is all about.


  • Starting to feel like a real .NET App

    After a lot of focus on ASP.NET at the beginning of my .NET life, I finally got back in touch with my deep dark past and put together my first desktop app in .NET last fall. It is a Windows Forms application that uses a web service as it's data layer. It has been in production for about six months.

    I worked hard on the architecture so that I could re-use it as well as some of the components and web services. Luckily I have a client who trusts my judgement, so I was given leeway to spend extra time on that small application.

    My next desktop app for them used that as a base and improved on it, adding in features like web service security that I cobbled together from some things I learned from TaskVision which also led to further research and experimentation.

    I am now on my third iteration of this architecture with yet another application for the same client. I am trying to get things even more organized and was inspired by one of Brad Abrams [many inspiring] blogs, Assembly/DLL Naming Guidelines. Looking at that made me start thinking about namespaces and I dug into Namespace Naming Guidelines on MSDN.

    After starting to (attempt to) really apply this properly, I am getting that warm feeling inside now when I see my applications starting to behave like the rest of .NET. I can now use IMPORTS at the top of classes, for example to reference my own namespaces. I know it's just  a little thing, but I feel like it is another step in the right direction so I'm feeling pretty good about it!


  • handy dandy dataset trick

    Remembering that you can fill a DataTable from a DataAdapter is very handy. Especially when you have to do what seems nearly a circus act: taking a table from one dataset and shoving it into another.

    In most scenarios, you can easily return multiple tables from one stored procedure. But there are cases where this won't work.

    Creating a DataTable and filling it directly from a DataAdapter means that the table is not tied to a dataset and therefore you can quite simply add it to the TablesCollection of any (better be careful - almost any) dataset.

    Next time I need this reminder, I will remember to check my blog!


  • more on ASP.NET/html/xml

    Well, my recent post in response to a comment of Don Box's that ASP.NET needs to lose HTML, has since resulted in a furthering of my education.

    I must admit, though I read Don's blog, a lot of what he talks about is so far out of the scope of what I am working on (ok and, I admit, sometimes over my head)  that I don't absorb a lot of it. Though it is definitely brewing in the back of my mind.

    So, having read his comment on my post, I went back and started looking through his blog. Good thing I just did a lot of reading on XMLSerializer last night!

    He has been expressing his feelings about browsers for a while. So, though he also talks about XHTML, this doesn't necessarily mean XHTML used in a browser. And if you read his comment in my post (linked above), he does attempt to clarify that for me. Luckily he was kind and didn't say "hello! Have you even read ONE of my posts???" <g> I also have his .Net Essentials in my to be read pile - just haven't gotten there yet.

    There's a lot to learn (understatement of an understatement) and it's really hard to make a choice on focus because everything is so fascinating. I love the concept of being able to have a voice in the future of the tools that enable me to do what I love best (geek that I am). It's really hard to sit in the peanut gallery and watch these conversations and keep my mouth shut. Harder still to stop working and focus on what these guys are writing enough to sort out what they are talking about. But back to work is where I must go this morning.


  • the "new" MSDN - and Sam Gentile & Chris Sells' MSDN article

    So - outside of a quick blog by Matt Powell, the blogs have been pretty quiet about the overhaul of the MSDN website. Duncan did mention the VB Developer Center and he said this, which I think we should all appreciate:

    "After many, many weeks of work by many, many people... the new developer centers are up on MSDN!"

    They have re-organized the content into "developer centers". They had already started doing something like this recently. For example, webservices and architecture have been around for a while with a great focus on compiling content and resources about those topics.

    Plus I happened to come across this. I have been wondering where Sam Gentile has been lately (hardly blogging, that is) I was happy to see this (which Sam has since blogged about himself):

    Programming Windows Forms with Managed Extensions for C++

    Of course, I'm a VB programmer, so I am not going to offer any comment on this, though I'm sure it's brilliant!

    Thanks MSDN!!! (and the many, many people who have been heads down for quite some time pulling this together...for US!)


  • future of html (in ASP.Net)

    (addend: err mine! Paschal pointed out in a comment that I was probably taking Don's point a bit too literally and should have read XHTML. Now I feel so silly! But it does make a bit more sense to me now!! Thanks Paschal. I will leave my blunder public, just for fun.)

    I happened to take a second look at Don Box's blog on Innovation vs. Imitation today. This time I noticed something that hadn't stood out so boldly before, as my focus was on other points he was making.

    "ASP.NET still supports HTML, even though XML is the one true way"

    I admit being a girl who likes here "crutches" sometimes. Especially when I am learning so many new things at once. Well, if he can get the ASP.NET team to pull this one off, just so long as they do it in a way that is invisible to us poor schleps who have the task of hammering out applications - both web and windows - for our clients, I guess I wouldn't complain too much.

    I have a hard time picturing how we would continue to have the design time server controls (drag and drop on design surface) if it was all xml, xsl and css. (Is that the correct assumption?) I better not even try to start thinking about that or I won't get any work done this week. But it does pique my curiosity. On the other hand, four years ago, I would have had the same difficulty imagining the server controls as they are now anyway.


  • .NET Talk to IBMers

    I was invited by my very cool friend who runs the ACM chapter in Poughkeepsie NY (note this link may go away eventually) to come show them what this .NET thing is they've been hearing about. This was not a Java/.NET debate or anything stupid like that. Just a .NET expose. I specifically made the talk be what my own perspective as a developer is of .NET. This way they could understand that I was not trying to give them the end all be all definition of .NET.

    The audience was mostly a collection of current IBM employees who use Java and IBM retirees.

    I prefaced the talk by explaining that this was just on my own terms. That I was not there to proscelitize etc. Because I LOVE to talk (as  some of you may have gathered) it was a lot of fun. Though I stayed away mostly from the msdn slides, I did use the "building blocks" slide that shows the os, clr, tools and then languages and also the one we have all seen showing the namespaces. I really surprised myself when I was going through the namespaces slide, unrehearsed, and couldn't help but try to explain each of the namespaces on the slide. About 2/3 of the way through I had to catch myself because I suddenly thought "wow! I really DO know a lot of this stuff!". That was a nice surprise.

    Something funny happened, which  Marcie told me later is not uncommon when you talk. When I mentioned some acronyms like XML, ASP, COM. There was one guy who kept asking what the acronyms stood for. I know what they stand for but I completely spaced! That was wierd. Luckily  nearly everyone else in the room was able to answer those questions. And then I just explained what they really meant, past the acronyms. Oh, I missed out on saying that SOAP is no longer an acronym, though. That would have been fun. (Yasser said so!!!)

    So here was my best joke of the whole night! I made sure that most of them had, indeed, seen the Matrix, and at the end of my talk, offered them their choice of these:

    (I have sworn not to divulge the results of their selections)

    It was a really nice group of folks. I had a lot of fun doing the presentation and talking with them before and after the meeting.

    Even though I was not there as an evangelist, I was tickled when one of the current IBMers said to me at the end "you are a great ambassador for Microsoft". Just send checks...


  • my first Com Interop

    I hope that Mr. Com Interop would be proud. It's my first time actually doing com interop. Of course, it's still in VB and all, but that's what I have to work with!

    I have a set of user controls in VB6 that use an ADO data layer to populate themselves. In my vb6 app, these controls are embedded on the fly based on a user's request, into a form.

    So I have managed to work through using the aximp tool to build the wrappers to the controls, figuring out how to get at the enums that are in there, and also actually getting the data which has some adodb dependency.

    Since the control was expecting a recordset, I finally gave up on trying to convert a dataset to a recordset (just because of a lack of free time this afternoon) and as per the .net documentation, just used adodb inside of .net to create my recordset to pass over.

    A few walls along the way. The biggest one was my own stubborn desire to "do everything new in .Net"! But it is a big win (time & money) for my client that I was able to reuse these controls with only small amount of time invested in figuring it out!


  • .net and java VERY compatible

    I am sitting here in my friend's home office in Woodstock, NY. She is a developer for IBM who is very lucky to be able to work from home. She set me up a little computer table and we are sitting side by side - two feet apart. She is working in WebSphere plugging away at a document management viewer while I am making my first forays into com interop in .NET.

    Geri and I are very dear friends so I found it very funny, considering that there are so many people who like to waste there time worrying about whose toys are better. So here is evidence that Java and .Net can get along very well!

    They don't call me a Pollyanna for nothin'!


  • "clr continues to amaze me"...

    I just had to share part of an email that I wrote in response to an aspnet list question about formatting a date time. In trying to answer the question, I discovered for the first time the tostring overloading, even though I had used the formatters elsewhere already. There are so many many things in the framework. If I had a different type of life, I could imagine setting aside time each day to just start reading through every friggin' class to make sure I don't miss something wonderful.

    The CLR continues to amaze me...

    Have you ever tried date.getdatetimeformats? It returns the date as an array of strings with every format you might ever have dreamt up. I LOVE that function, though I basically have only ever mined one particular format out of it. Why I love it is that it is such a cool example of the depth of the framework and how someone was REALLY thinking this time!!


  • more babies more babies

    Yet another baby has entered the .NET world. That makes two that I know of this week. One on Monday and one today! In case they want to maintain some privacy, I won't blab. But there are just so many that have been born this year to prominent people in the .Net community, that it is truly notable. Is it the new trend? I am going to refrain from any stupid jokes about implementation or inheritence, here.

    The biggest heartfelt congratulations to my friends and their wives on their new baby boys.


  • User Group Speaking Opportunities

    It occurred to me that many of you, who would be (or already are) great user group presenters, may not know how easy it is to find a .Net user group to talk to.

    I am adding this intentional trackback to Brad Abrams blog looking for user groups in North Carolina, which he must have written about 5 minutes after I originally posted this.

    The INETA website has a page of all of their member groups (275 can you believe it?). You can filter on country and state to find user groups.

    From there you can either go directly to the user group website or to details on the user group as they relate to their INETA membership. This will include the name and email of the user group leader.

    These are all real and established user groups with a focus on .NET content. Some may be large, some may be small. Many are groups that have evolved from C or VB or other user groups and are well established. Some are newer and still growing. But all of them have been approved as INETA members and we do not do that lightly. I can tell you that since I am on the user group relations committee and we are the ones who approve the applicants.

    So if you are planning a trip and would like to spread the knowledge, it is really easy to find these groups anywhere you go now. Most user groups would be thrilled to have a speaker approach them and offer to speak to the group. I think I can speak for all of them in saying that we are a very appreciative bunch! Also, I know from my own user group that, although we do have a schedule (2nd monday of the month) we are generally flexible enough to accomodate a speaker's schedule. This is not so easy for some of the larger groups, of course.

    A couple of other pointers. Some groups may actually have a speaker budget, but most don't. In the case of Vermont .NET we have been very fortunate to have people drive almost 4 hours from New Hampshire and Boston to come speak to us. And of course, there are the INETA speakers, which is a twice a year incredible gift. We don't generally have much cash flow outside of our pizza budget and get things like gifts from Lake Champlain Chocolates and other Vermont goodies, even free ski passes (which Chris Kinsman enjoyed!) donated to the group to give to our speakers. This may change in time for us because we are growing. So don't think of this as another means of income, though in some cases, who knows! It's more like an opportunity to teach, inspire and be held in great awe by the user group members.

    There are also some fledgling groups that are waiting in the wings for INETA membership. There is no reason not to go to them either. If you can't find a group in the location that you are looking for, feel free to email me and I'll see if I can hook you up.

    If you have questions about the speakers bureau, please visit this page: INETA Speakers Bureau.


  • Hundred Year Language

    In a very recent blog, Sam Ruby said "Like most, I read the Hundred Year Language last week". Well, I hadn't and thought this a good indication that I better!

    I know I should read it again and more carefully, but I already have so many thoughts bouncing around my head because of it.

    First, Sam says "most" have read it. I think he must be referring more to the folks in his league, who I am starting to see as philosphers, and certainly not the general development community.

    It's hard for someone like me to read things like this article (speech, actually) from Paul Graham given at the recent Python conference. I am a business application developer. There is a level at which I just can't afford to go any deeper with my understanding of the tools that I use and the theories behind many of them. If I were designing the tools, then absolutely, this is where I would want to be.

    But I would almost have to stop the work that I am doing and teach myself to think in an entirely different way than I do when I am designing and coding software for my clients. I know that these "big thinkers" are also writing production code, but I'm just not there.

    Not to say that I don't understand a good part of what Graham is talking about. I haven't been exposed to (or perhaps just didn't pay attention to) these ideas before, but I am definitely not a linear thinker and I can, indeed, grab on to a lot of his abstractions.

    But I don't think I'd be able to work if I started thinking about these things.

    For example (I believe that) Graham is saying that object-oriented programming is merely an implementation of bottom-up programming. But that it is a bad implementation which "offers a sustainable way to write spaghetti code" and maybe needs to go away, but likely won't.  This is way too abstract (in my opinion) for the average developer. Don't forget, we are already seeing a debate between the clr "purists" (red pill?) and the people who say "leave me alone, I just gotta go write my code" (blue pill?). This is not a criticism of either "camp" although I find myself wavering between the two.  My feeling is that most programmers do, indeed, think linearly - but not all. I know that I don't - which is why sometimes I feel like I can perceive a solution but I have to work at capturing this solution and finding the string from the beginning to the end of it.

    Graham also says "Inefficient software isn't gross. What's gross is a language that makes programmers do needless work." I think he is saying this in continuation to his discussion of trimming down the core language. By having so many unique types to deal with, is it creating too much work for us programmers to work with all of them. I can handle losing string, as he suggests, and only using a list (I'm interepreting this as a hashtable). But a lot of us need the compartmentalization that is implemented for us in the clr.

    I of course wanted to focus in on the discussion of parallelism that Sam took issue with. This was sadly a bit over my head. I think what they are talking about is enabling a language or perhaps the compiler to take advantage of parallel processing. Graham suggests that there is no way the paths of the current languages are going to lead us to a language that can handle that. Sam disagrees. I remain a bit clueless.

    I know it is not important for someone like me to worry my head TOOOO much over this stuff, but look what already has happened. I have stopped working to think about this. That is the dangerous part. This stuff is really fascinating and intriguing. But unfortunately nobody is paying me to sit around and think about it!

    I am not, of course, attempting to debate anything that Graham or Sam Ruby is saying.

    So I'm going to get back to my client's application and leave the theory to someone else for today.


  • DataGridGirl Featured in ASPNetPro

    I'm surprised that I haven't seen anyone blog about this already.

    Did anyone happen to notice that Marcie Robillard was featured in the GotDotNet page of the current issue of ASPNetPro magazine?

    Besides listing all of her fantastic accomplishments, there was a great quote that someone had emailed her --saying that her website was a "pink spot in the grey world of development." Very very cool. You should definitely check out what else was said about her. I'm not sure if there is a weblink to that anywhere. Marcie?

    I also was extra happy to see this because recently a friend (who is not associated with computers or programming in anyway) was flipping through the Codewise Community insert in a previous issue of ASPNetPro magazine. I had shown it to her to show her some of the people in my geek world that she doesn't really understand very much about. After looking at the whole thing, she asked me "how come it's all guys?".

    I told her it was just a reflection of the industry, the small percentage of women programmers, etc etc. But I was happy she didn't ask me why the industry is like that, because that's one I definitely can't answer.

    Hooray Marcie!!!  - a sign of changing times?


  • Poking just a wee bit of fun at some .NET Ads

    (I have eliminated the names of these ads to preclude any possible copyright issues. If I haven't done a good enough job at that, please let me know. You know the ads, you know the advertisers...)

    This is going to be a mini-blog. I will just keep adding stuff to it as I see fit.


    I have been itching to do this ever since I saw this ad. It is for a fantastic suite of .Net Windows and WebForms controls and COM tools also. In fact, I really like the company and what they are doing, not only for development but what they are starting to do in the development community.

    The ad asks, "do you have the whole package?".

    I have actually emailed my buddy who is the p.r. person at the company, so he knows that I have these mixed feelings about the ad.

    It's funny. Definitely. The guys cute (definitely). The girl is adorable. And, thankfully, it is somehow still completely innocent.

    But geeze louise, I'm a programmer, too. I even have this software. Are they trying to tell me that I'm never going to have the whole package because I only have a "top shelf" package instead? Or is it even worse than I imagined. We all refer to these as third party tools. And let's not ignore the fact that they are making a "tool" joke here. Yikes!

    Ok, to continue my little rant , there is another "I am woman I am strong" issue here. There have been some very normal ads that have women in them as developers. But this one is more of the "get the package you'll get the chick" but only guys can "get the package". This does not mean I want to see the next ad with the guy looking down the girl's shirt (showing that now she's got the whole package). 

    To be fair, I think Adam made the ad go away. There has got to be away to make ads funny like this but not go too far with the sexual stuff. I hope they eventually find a happy middle ground.

    So, here's one I love.

    I laughed so hard when I saw this because I used to work in an office with 3 guys who "sat" like this when they coded. I could never get over it. And here I learn that it wasn't just them! What made this even funnier was when Chris Kinsman was at my house and I pointed it out to him. He said, "Oh, that's so and so who works at (insert big huge company name here). I guess this series of ads (of which this is the best so far- comparing to the "guy in meeting" and the "airline food" ads) are not so completely staged as you might think.

    And here is the last one, to date, that has really caught my eye, though not in a positive light.


    I hope that the advertiser reads this, because I am trying to be helpful, not mean. This is a webhost. I'm sure they are great. I happen to use Alentus (I LOVE Alentus.) But this ad is so cheesy (though not to the point of being kitschy or funny) that my impression is that this is probably not a very sophisticated company. Now, that's really not fair. It's just what the ad is telling me. Too many misplaced metaphors. The drill? The alien blue hair and eyes. The tool belt? I get it I get it! It's TOOLS. And, why is she posed like that. Is she supposed to be the super geek's true dream girl, Trinity? Getting ready to blast away some evil agents? (Try again...) Well, I suppose this is a little better than the tool joke in the first ad.


  • me too! - scoble, brumme and mystery man

    I am not a fan of ME TOO ME TOO blogs. But I just can't help myself with this one.

    I want to say "WOO HOO!" to Robert Scoble.

    I already pointed out Chris Brumme's blog yesterday, but I had no idea that it would be what it is. I told him that I wanted to stop working and just sit here in front of my news aggregator waiting for his next gem.

    Mention of another blogger getting hired by Microsoft made me wonder... but I'll just have to wait and see like everyone else.


  • psst - you didn't hear it from me, but... Gunderloy's a freakin' stud!

    I just had to pass this one on about Mike Gunderloy because he IS, indeed, a great guy. Not sure if I would dare use the same term as Scott Hanselman did, for fear of being misunderstood.  

    Mike's The Daily Grind just got added to MY blogroll and my rss feed.

    How embarrassing. Mike has me on his blogroll and I didn't even realize he was blogging. Sorry Mike . I am literally sitting here with 9 of his books at my feet that he sent as a present to my user group. You can see which 9 by looking at our library list. The ones I have actually bought myself over the years are a bit more than an arms' reach away on the shelves. Watch my user group's web site book review page some feedback. Also, I am happy to keep reminding you all that these reviews are a great resource. There are about 40 books reviewed so far. You don't even have to be a member to add one. Also we are now displaying software evals on the site.

    Thanks to Scott W for pointing out Mike's feeds.


  • Job opening at Mindreef

    In March, Mindreef won a Jolt award for their Soapscope product.

    On Thursday, Dave Seidel who is one of the founding brains at Mindreef blogged that they have a job opening. They are in New Hampshire. Check it out! If it weren't a 3+ hour each way commute ... hmmmm.

    Dave, if this tracks back to you...I'm not sure if you got a recent email I sent. I am Jill's sister (look at my last name) and Peter Dewitt is one of my dearest friends.  I spent a bunch of weekends at Simon's Rock when I was about 15. We are all hoping to hear from you!


  • great cross browser support resource

    Yes it is a pain to worry about but many of us have to!

    Here is where I go for cross browser help

    There are lots of great cross-reference resources such as for CSS


  • user control to display scrollable rss2.0 feeds

    Check this out!!!

    After getting some ideas from my pal, Ali, I built a user control that accepts rss2.0 feeds and displays the date and title and enables a hyperlink for each item. The control scrolls too (only in i.e. and, according to netscape documentation, Gecko aka Netscape 7+), so you don't have to give up real estate on your website.

    Whad'ya all think?

    I put 3 feeds on the user group website from MSDN. The framework, VS.Net and webservices feeds.

    A caveat - I am using textoverflow for scrolling, which is a Microsoft invention or "extension" as they say, which is why it only works in IE right now. (just checked - and it is in Gecko too) If I am going to share this (which I would like to do), I will have to figure that one out. I am using my favorite trick of dropping a datalist inside of a DIV and then setting the div to "scrollbars when necessary".

    Off to Devedge to figure out how to do it the xbrowser way.

    Note to self: get Chad's rss feed of Fabrice's .net list on there asap!


  • matrix

    Do I have to watch the whole thing? It was getting hard to hear when the Oracle was speaking so softly and my husband was snoring so loudly. I gave up during the bathroom fight scene. You guys are so silly. And geeky - oh my god - so geeky! <g>


  • It's THE MATRIX Stupid

    Alright you super geeks. I give in. The only pill I know about is that stupid purple pill they sell during the news. I just rented The Matrix and will suffer through it tonight. Egads. Can't I just watch some artsy, sub-titled film instead?

    And while I've got your attention:

    if you haven't read this lately - DO IT.

    It's the Runtime Stupid

    I will be giving a quiz on this at the next VTdotNET User Group meeting.

    Keith: Although I am not a MORT, but a software developer, I'm sure someone in my user group would dig the poster. Why don't you bring it by?


  • Some ideas for taking control of the big time-suckers

    (I am allowing doing this while I finish my lunch -- not while I am supposed to be working)

    John Kemp made note of the constant struggle between focusing on his work and wanting to attend to the many distractions that sit right on his desktop.

    Me too!

    Unread blogs, instant messenger, email are at the top of the time sucker list.

    This problem has escalated for me since I started blogging, about the same time I gave in and allowed i.m. into my life.

    Having a full time internet connection doesn't help. I leave outlook open 24/7 and have it set to poll every 2 minutes. I have sharpreader sitting in my notification area.

    When I'm stuck working on my legacy apps (I still am sick that VB6 falls into this category now), these distractions are most tempting and I fall prey to them.

    So I have been thinking a lot about how to enforce a little self-control.

    Idea #1:  Change my outlook account settings so the email does NOT poll so frequently

    Idea #2: Create two new email addresses. One is for urgent email. I will tell outlook to poll for that every minute. One is for "read at your leisure" email that I will poll for maybe twice a day or something.

    Idea #3: If I can't bear to completely turn off I.M., I need to pay attention to my i.m. status - I have it set to "away right now" while I am working. I even changed my screen name to "i'm working". So if someone really needs me, they can still ping me. But otherwise they should get the point.

    Idea #4: Avoid the big temptation of spitting out ideas in emails. Generally, I've got so much going on that if I don't deal with an idea the very second I have it, it is gone. I have always just stopped and dealt with it. Sometimes that means shooting off a quick email to someone. This becomes a time suck for THAT person now which is bad. Because we all have the same problem. If we don't attend to it NOW, we will forget. Even though sometimes, you don't NEED an immediate or even any reply at all.

    Idea #5: Blogging control I've begun to notice that people who I think are good bloggers (eg: sam ruby, sam gentile, robert scoble) tend to do their blogging at night. All of a sudden about 10 pop in all at once (or 50 in the case of scoble <g>). Of course, when the topic is The Matrix - well nothing stops them either. So I am going to try not to drop everything and blog while I've got an idea in my head. I currenlty use Scott's web interface. At least maybe I can use an off-line blogger and only post all at once so at least I will have the appearance of self-control!!

    On a similar note, I have already weaned myself pretty well from ranting. For me that is an evil temptation and just not necessary. Many thanks (many many) to the person who very kindly pointed that out to me.

    Idea #6: Continue to limit my i.m.. contact list I have a very limited # of people in my i.m. contact list - all are other geeks. These are people I really want to talk to and make myself available to. A lot of interesting ideas come out of many of these chats. However, I  have no friends, relatives, not even clients in my i.m.


    Between my various clients and projects (and development tools) that I am juggling, my user group, my INETA committee and my great desire to participate in the .net community by participating in the list serves, I find it difficult to run away and hide. I really love being a part of what is happening here.

    Maybe some others will benefit from some of my little ideas.

    Ok now I have to go back to work so GO AWAY!


  • how to handle criticism

    I want to share Robert Scoble's thoughts on dealing with criticism with some of my friends. (This not aimed at anyone in particular- just good advice for anyone).

    Note the links that he has at the bottom. Good refs.

    okay back to work...


  • web services, datasets and non .net consumers

    I mentioned this article to someone today and thought I would do the same here.

    "Web Services and Data Sets. Why the bad rap?"

    It is written by The ADO Guy, Shawn Wildermuth, author of Pragmatic ADO.NET.

    Web Services can return datasets to .NET Consumers. But you can leverage the dataset to return well-structured xml to non .net consumers, as well. Just stick the dataset and an xml schema into an xmldatadocument.

    Quoting Shawn:

    But how does this work? The trick is wrapping your DataSet in an XmlDataDocument. By specifying your Web Service method like so:

    public XmlDocument GetAllTheData()
      return new XmlDataDocument(yourDataSet);

    I had to do something similar last fall but with a good old fashioned DTD. That was a bit trickier, well, a lot trickier. As far as I could determine, .NET can read but not write DTD's. I sure wish I had read Dino's MSDN article (see previous blog) before I tangled with that. But I did write a short bit on how I managed to do this that will be in the VSMag online tips in June. I will update my links when that comes on line.


  • Sharpreader blog # 5 zillion and 1

    After shutting down and restarting my machine, all of my feeds that I had set up for SharpReader were gone. I could see them in the logs but not get them to kick in. So this time I have exported them to an OPML file just in case.

    What ever did I do wrong?

    I am still comparing it to NewzCrawler which I had been using already. NewzCrawler has lots of features I like and don't mind paying a mere $25 for. Though I don't want to give up the great trackback feature in Sharpreader. I don't want to add to any pressure on Luke either. This was just a pet project for him. Not something to be maintained as a full time job.


  • xml "hotties"

    Doesn't it just fire you up to read stuff like this post from Tim Ewald??

    ...eventually ended up back at Don's house. He was on fire, so we headed back into the office, where there are plenty of whiteboards. As is often the case, he was in the middle of an epiphany about XML APIs and I helped him work through some of his ideas.

    These are the people shaping our future as developers. I'm thrilled with their passion.


  • Book reviews and Software Evals

    There are now reviews for 39 .NET books by members of VTdotNet on our website. Reviewers range from beginners to experts, so you can get a good feel for who likes which books.

    Also, we have just started adding software evals.

    Feel free to check them out.


  • comedy central - scoble style

    This I couldn't resist from Scoble on people's fear of upgrading:

    "I want a Tablet that runs Windows 2000" said one guy.

    "Why?" I asked.

    "Cause I don't buy anything first generation," he answered.

    Now if he just changed that first line to "I want a Tablet PC that runs Windows 2000" then he's got the perfect joke.


  • .net tools list

    The other day Ali said

    It's  really annoying to rummage through the internet for a .net tool.  Finally someone has just made a list.  Cool!

    So I asked Fabrice about exposing this on the user group website. Sounds like an rss feed is in the works.


  • i.m. program

    Marcie turned me on to Trillian a few weeks ago for i.m. I just talked with someone today who said "cool I just got Trillian".

    So if there is anyone who is not aware of this great little i.m. tool, check it out. There is a free version and the full blown which is quite inexpensive.The free version seems to do all I need.


  • The Human Compiler arrives

    Welcome to Erik Porter who is one of the great advisors on the Windows.Net Forums. Erik, now you see where I disappeared to -- blog land. Watch out's habit forming!

    I fell for Erik's sense of humor the first time I saw his nom de guerre, "human compiler". We had some fun brainstorming sessions over on the forums, as well!


  • speaking of xml...

    Dino Esposito's xmldoc article, almost an exposé, in the new MSDN mag is fantastic. Dino is a very clear writer and great teacher. So I was not surprised at how much I have learned by absorbing this article. There is a lot of reading material out there. This one has a very high ROI.

    A highly recommended read. Dino is also someone you should go out of your way to see when he is doing a presentation.

    Right before this article came out, I also saw this nice little xmldoc tidbit on Ali's blog.


  • a few more words on the BCL

    Sam Gentile blogged about the importance of embracing the Base Class Library,  the clr and especially the Common Type System names over language specific types. Actually these are really all one thing to embrace - the core of .NET. I spell these out so explicitly because my head is spinning with acronyms and I had to actually stare at the term BCL for longer than I care to admit before I went : "oh, base class library! duh!"

    I had already been thinking about this for a few days as Sam and I chatted a bit re: a future user group presentation. So when I saw the blog, I was definitely interested.

    "Embracing" the CLR is something that I do believe in. Though I know that I need to have a much better understanding of the CLR before I will fully be able to do this.

    I was afraid of Int32. I knew Integer, we are old friends. So I stuck with it when I moved to .NET. Believe me, I had enough to learn. I wasn't even porting code. But still, when I needed an integer and intellisense popped up, I stepped right past Int32 (which does conveniently present itself before Integer "hello hello I'm here!! wait... no...well, maybe next time...")

    And there is definitely a part of me that thinks, well why should I worry about Int32 when Integer will work? I'm a vb programmer, nobody is reading my code, etc etc.

    But when it boils down to it, I have already made the same type of choice by trying to do the best form of OOP that I can and by working out the best architecture for a solution that I can.

    If I can teach myself to think in .NET and not just in VB (or C# ) I will get the same type of gain down the road that I do when I spend gobs of extra time and energy building good architecture into my applications. Who knows, I may want to write some C# code someday.

    It's certainly a conundrum. Why 2 languages if they don't want us to USE them? Why the hint of driving a bigger wedge between the languages in "Whidbey"?

    But this statement of Jeffrey Richter's (quoted in Sam's blog and on down the line) also gave me some more fodder:

                       The CLR doesn’t know about the primitive types. So, Type.GetType(int”) will never work in any language but Type.GetType(“System.Int32”) always works in all languages. Many programmers don’t understand why the primitive type name works in one context but not in another context.

    Well, I want to be a .NET programmer, a really really good one. Right now VB is the most comfortable language for me,  though I can speak C#. But I want to program to the framework, to the clr. So the CTS looks like a really good place for me to start...snuggle up with my new pal, Int32. Down the road I can start incorporating more and more pure .NET into my code.


  • morts? MORTS?

    oh no - I was just getting used to being called a "plinker", now I'm a mort! Can I just use that instead of MCAD? Julia Lerman, MORT. <g>


  • aaargh

    I just poured my guts out about not being certified and posted it and got http 501 error . Aaargh. Maybe it was best though.

    Basically I said:

    My name is Julie and I am not certified.

    I stress out about it because I feel that it might garner me some peer recognition that I do not have after almost 20 years of programming. I don't need it for my clients or my business.

    nuff said

    the links were Andrew, Keith, Scott and Mike. Start with andrews and you can find the rest.


  • A little bit about Julia Lerman

    I just realized that a lot of people have been looking at this article so I better make it a little more informative!

    I am a software developer and have been programming for about 20 years. Mostly self-taught for the first 15 or so. I came up the xbase path - dbIII, dbIV, Clipper, FP2.0-2.6, VB4,5,6 and now .NET. There were a few months of Java exploration. First when FP3 came out, I played with Java and chose VB. Then when .NET came out, I spent 3 months with jBuilder and decided to stick with Microsoft. (Phew!)

    I am self-employed and have been since about 1989 except for a stint with the wonderful Synergy Software here in Vermont when I first moved up (just in case).

    Over those years I lived in NYC for eight years, the beautiful Hudson Valley (Rhinebeck, NY) for another 8 years and moved to Vermont in 1999 with my husband, Rich.

    I took my community experience from my FoxPro days and used it to help define my vision for the .NET user group I started in February 2002 in Burlington, Vermont. I hooked up with INETA in June 2002 and became the editor of the newsletter as well as a user group liaison. I am currently the co-chair (along with Ruth Walther from in Seattle) of that committee. I became a Microsoft MVP (.NET) in June 2003.

    Personal stuff: Although I have sadly been attached to my computer chair for the last 1.5 years trying to learn .NET and blogging and doing the user group and INETA, I am normally a bit of an outdoor enthusiast, which is how I met my husband. We do a lot of road bicycling and love the steep mountains of Vermont to ride over. We also are devoted paddlers, not white water, but kayaking out on the huge ocean like Lake Champlain and in the ocean when we can. In the winter you can find us skiing out in the back country or at our fave lift-serve center... Mad River Glen. Rich is an excellent telemark skiier and I was converted about 4 years ago after having been a fixed-heeler since the age of 6 (that's a lot of years). We also do a lot of winter hiking up in the mountains. I hope to get back to all of these loves soon.

    We have no kids which means our cat, G.B. and  Newfoundland dog, Tasha, are spoiled sweet. (pics below)

    We live up in the mountains with great views on one side (which I can see whilst working on my computer) and the state park (national forest?) (somewhere between the Applachian Gap and Camel's Hump) behind us.

    And then the age old question: Is it Julie or Julia? I am “Julia on paper“ - birth certificate, business cards and anywhere else that I try to sound like I'm a grown up. However, I have been called Julie all my life and I invite you to do the same.

    Here are me & my husband, Rich, on a day ski trip in the Green Mountains of Vermont Dec 2002. Those are apricots in our mouths by the way...

    Our "vanity objects" (heh). Our beautiful dog, Tasha and her boyfriend G.B. These two get spoiled rotten since they are our "kids". Tasha is 9 years old (as of 12/2002).



  • Scobleized

    ok - now I have been Scobleized -- though  in a roundabout way through the newest dotnetweblog-ger. Admittedly, I hadn't been over to Robert Scoble's blog before. My god, he blogs like 50 times a day. Cool! It makes me feel better since I am definitely tempted a lot though I don't know that more than 10% of what is on my mind might of interest to those reading the blogs. I'm much too aware of the fact that everything I blog goes onto the home page for a bit and isn't just confined to my own little space!

    Welcome fellow INETA-ian (whatever) , Keith Pleas.


  • the eyes have it (and Keith...)

    Well, at the ripe old age of     , my eyes have finally succumbed to a need for glasses. Having stared into a computer screen for some 20 years, my naturally 20/20 vision just isn't any more. I dont have to just get glasses - this old lady is getting BIFOCALS (well, transitionals)! The top is for seeing code in presentations across a room, the bottom for reading, etc. I also opted to get a second pair of glasses with only the reading prescription that I will use for sitting at the computer, as I don't really have a need for the distance help when I'm working. Non glare coating, of course...

    On another note, I laughed when I saw Yasser's blog about his elevator chat with Keith Pleas. Not only is Keith ever so smart, but he has a biting sense of humor that would be very entertaining to read in a blog. It would be like AngryCoder with a sense of humor. (I'm kidding, Jonathan! Now if you would just stop picking on us VBers...<bg>) Go for it Keith.


  • Dana's "Jack of all trades" question

    Dana ponders about being a jack of all trades.

    I'm an independent contractor and have been for some 13 years. And yes, I end up doing it all. It is a lot of fun for many reasons. However with .net especially, I am frustrated that I have to know so many things and never get an opportunity to spend a lot of time learning one special thing. So, from the technical view -  I am doing webforms, winforms, web services, pocket pc, tablet pc etc. etc. I have a stack of must read books that range from to webservices to

    From the other perspective, I end up doing everything from Business Analyst, app architect, design, coding, dba etc etc.

    I have one client that I spend 80% of my billable time on, and this same client has me all over the map and I love it.

    Marcie (sorry, couldn't resist the pink) and I were talking about this the other day. I know I would definitely never (ever ever) want to be a 100% coder - but if I wasn't doing at least SOME coding, I would be very sad. I get a huge thrill solving coding problems.

    I love working out architecture - I'm a best practices freak - and I LOVE doing the business analyst stuff. Business processes fascinate me and to be able to step out of the box and then translate them into an efficient application (inside and out) is so incredibly rewarding.

    I think the only downside for me is that within the programming community, since I don't have some "specialty", I will never really be able to make my mark, so to speak. My clients, on the other hand, get a great benefit out of my various skills. None of my clients are so huge that they would suffer from my lack of pure expertise in a particular area. But after 13 years of consulting, and almost 20 years of programming, I definitely have a lot of strengths in a lot of areas.


  • filestreaming in 5 words or less

    I just sent off the final edits for a new tip for VS Mag's online Hot Tips. It was frustrating because I had to explain in a short space something that needs much more detail.

    My article, I mean "tip", is on how to combine a DTD and an xml that is from dataset.writexml. But in explaining it I had to glaze over all kinds of filestreaming details that will make it pretty difficult for a beginner to comprehend.

    To me, that's not really a great lesson.

    I wonder if other people writing articles or even books have this problem?

    I also noticed that where I had said that I could not find documentation on something, they had changed it to "the option does not exist". Egads! I had to email the person doing the edits and say --please don't do that , I will get slammed if the option DOES exist and I was just too stupid to find it!

    Well, the holes in my tip did give me the impetus to create a presentation on file streaming that I will be doing for my user group and at an upcoming conference.

    Thanks to Marcie for doing a quick read through to make sure it wasn't completely incomprehensible!


  • happy happy joy joy

    My neverending VPN saga may come to a happy end. Our realtor checked the current phone number of the home that we have made a purchase offer on

    High-speed DSL service is available at your location.

    And I was even willing to live with the darned satellite because I love the house SO much. Now I can leave it behind...


  • chicks r'us

    Dana is here! Hooray. Now unless I have been duped by a name that is not so obviously female, I believe that makes 3 women on dotnetweblogs. Please correct me if I'm wrong! (I can hear my ol' man saying "yackety yack" but I won't go there.) Seriously, the oft-quoted ratio in computing is 10% women. Are we there yet?

    Off to the MS/Acer Tablet PC show...