January 2004 Entries

One Note as a blogging tool.... not yet.

Perhaps not ever.  Chris Pratley (the “One Note owner”, Group Program Manager of Office) posted a quick bit about using OneNote to organize blogs.  It's great, isn't it?  I used to do the same.  In fact, I thought “Hey, I'll just make a quick OneNote plug-in to post directly to .Text and I'll be sitting pretty.  Perhaps I can even use Ink occasionally.”.  Alas, that was not meant to be. You see, as many of you may know, OneNote has no automation facilities.  At all. The API is not public, and can't be used.  So if you put your blog notes...

posted @ Saturday, January 31, 2004 2:33 PM | Feedback (1)

I guess I'm rich now...

I was looking in my junk suspects folder this morning, and found that SpamBayes had made a terrible error -- it had classified a note telling me that I had one the “International Lotto Programs” lottery and would receive $2.5 Million US if I contacted my claims agent. Is this too good to be true?  Looks legit to me.   Lets ignore the fact that I have to keep my winnings strictly confidential (shh, don't tell), and even the existence of this lotto must be hush hush.  It doesn't worry me that I didn't enter it.  It doesn't worry me that they have...

posted @ Saturday, January 31, 2004 1:54 PM | Feedback (1)

Sharing my oft-used Ink controls, part 1.

I do a good amount of TabletPC development, pretty much mostly for myself.  I have lots of fun and useful apps that do things I need, and some apps I use to demo the Tablet to others.. And, like any developer, I hate to redo work.  So I created a library of controls that I use that I can drop-in.  I showed these to a friend today and she said “Share with the world!”.  So here you are.  This is the first one that I would even consider letting anyone else look at, and it's not a control I'd consider anywhere...

posted @ Wednesday, January 28, 2004 10:32 PM | Feedback (1)

WaitHandles for the confused.

AutoResetEvent and ManualResetEvent - using WaitHandles This comes from a quick writeup I did for a group of intern and entry-level developers on an internal project (project [codename] -- yes, that's the real name). This particular project had a number of threads working on some various tasks and used WaitHandles in one critical section. Although most of them didn't need to work with the threading stuff ever, I still got questions on it. I wanted to encourage them all to understand everything -- especially if they took their own time to look at it -- so I wrote this (quickly). It's...

posted @ Tuesday, January 27, 2004 7:16 PM | Feedback (5)

Strongly typed dataset tip

While doing code reviews (for .net code, of course!),  I see one minor annoyance with strongly typed datasets again and again - not using the TableName property.  I don't know why this comes up so often, so I thought I'd add a quick tip about it. If you have a strongly typed dataset (some call them XSD datasets), great. You don't need to remember column names or worry about casting values.  So why do I see things like this: dAdapter.TableMappings.Add("Table1", "MyTable");//orcntrl.DataMember("MyTable"); Instead of using the table's name as a string, use the .TableName property as such: dAdapter.TableMappings.Add("Table1", typedSet.MyTable.TableName);//orcntrl.DataMember(typedSet.MyTable.TableName);   Now you can rename your table and...

posted @ Wednesday, January 21, 2004 1:57 PM | Feedback (2)

Don't loose this regex

I really wish I knew where I found this... but after only an hour of digging in my old code, I found the regex to deal with CSV files (that is, handle both quoted and non-quoted values, commas in quoted values, etc). I know I didn't write the regex pattern. I also know I don't want to lose this and have to try. // ,(?=([^"]*"[^"]*")*(?![^"]*")) Regex rex = new Regex(",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))");string[] values = rex.Split( csvLine );foreach( string v in values){   ...} If you have an attribution for me, please let me know. I'd like to give credit to the regex author. [update] - yes, it was...

posted @ Friday, January 16, 2004 11:05 PM | Feedback (1)

Experts Exchange

  [Updated below] I'm sure many people have heard of experts-exchange.com  -- a question/answer forum site with a twist.  People ask questions and assign “points” to them, based on how hard they think the question is.  “Experts” (anyone) can look at the question, and answer it if they wish - if the questioner accepts the answer, the expert gets the points. So the expert can say to himself “Self, this question is hard, and only worth 10 points.  I'll answer this easy one worth 500 instead” -- the intent being that the more points a qestioner gives to the question, the more likely...

posted @ Tuesday, January 13, 2004 12:56 AM | Feedback (2)

Blog overload

Not that you can tell from my blogroll, but I subscribe to about 240 feeds. (by “about” I mean “exactly 240 feeds”).  I love having lots of news, but lately clearing out my aggregator has seemed more like a chore than a joy. I didn't use a computer at home for two days, and I have abount 400 unread items (by “about” I mean “I think it's 400 but it may be anywhere from 73 to 931, inclusive”).  Will I read all of these? not a chance.  I'll probably miss something cool. Is 240 feeds too many for a person who doesn't...

posted @ Tuesday, January 13, 2004 12:55 AM | Feedback (1)

Push / Pull Convergance

This post will go nowhere, and has no point.  In a blatant case of “blogging for myself“, I'm thinking out loud for my own reference. After a brief email conversation with Kent Tegels a few days ago where he discussed his liking the “push” aspect of SMTP, and the “pull” aspect of RSS, I got to wondering - what really makes these push or pull? Let's boil down email.  One user (say, Alice) sends another user (Bob) an email.  She writes it, and sends it to a server.  Bob then runs software (email client) to pull that content from the server and...

posted @ Tuesday, January 13, 2004 12:55 AM | Feedback (1)

Moving my blog -- again.

I really don't like to move my blog.  Not because it confuses readers (I don't really have any).  Not because it kills my google juice (I don't care -- that much), but because it constitutes work on my part (I'm lazy). But I'm doing it anyway.  I really like being a part of weblogs.asp.net, and I'll probably keep crossposting my .net development stuff there.  But I want to be my own master, not part of a managed community - so here I am. You may have seen me on my first attempt, my second blog, or the other second blog -- but now...

posted @ Sunday, January 04, 2004 11:25 PM | Feedback (0)