Friday, January 30, 2004

Oh no. Here we go again. My client asked me to make a minor change in their old website which I did in InterDev. I never updated it to asp.net since it is a rarity to make a change.

I couldn't open up my project in VI6 because I don't have the FrontPage98 server extensions on the new box.

After googling for a quick fix (for over a quick 90 minutes) I just finally went into notepad on the live machine and modified the damned file (late at night - not a problem).

 

Friday, January 30, 2004 10:29:22 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

For those of you who asked... (or TOLD!)

W hotel

arr Sunday Leave Thursday

Seder on Monday

Friday, January 30, 2004 10:23:25 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

When I started working on my Edge East presentation (that I have written about a lot lately) I was really focusing on the fundamentals of the BCL. The conference organizers had picked the same title as Kit George's talk at PDC which was absolutely about the fundamentals. But the more bounced some questions around the more I realized that because the literal definition of the Base Class Libraries is ALL of the classes, that this is what most people also tend to lean towards.

So I really struggled with trying to decide if I should aim “high” - for those people who might be expecting a wide variety of things from the classes including System.Windows or System.Data (lots of interesting new things in system.data!) - or aim low at those who are in fact looking for the fundamentals.

I am not duplicating Kit's presentation. Even if I wanted to it would be impossible since he used different bits (and knows this stuff a little better, heh)!

I rewrote my abstract 4 times. But as I wrote earlier, I eventually decided where I wanted to be and finally got going on it.

Though 80% of my choices are still from the fundamentals, I currently do have in there some of the new System.Data classes/methods as well as a mention of a property that falls into the windows name space.

Kit George has been kind enough to talk with me about this and I am again inspired to stay low and focus on those classes that do fit in to the Fundamentals area that I look at every day on my beautiful WinFX poster.

The real problem goes back to here - so many new great and interesting things and only an hour or so to talk about them.

All of this angst for an hour long talk. But really it's fun because I am learning a lot of things that I might not have taken the time to focus on right now. And it is only going to make the presentation that much better.

Friday, January 30, 2004 8:50:25 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Pink for Marcie who is going to work for Code Project.

I told her “blog your new job and then I can blog it, too” and then my computer sent me dark for hours and hours. So better late than never.

Hooray Marcie. These Robillards are one productive pair!

Look for more [professional] splashes from Toronto from these two coming up.

Friday, January 30, 2004 6:59:37 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Okay so now I am getting something like spam in orkut. You can send an email blast to all of your friends (I have like 10) or to the whole network of friends of friends of freinds... mine says 12,858. So I can't say the messages I'm getting are coming from 10th generation friends or anything - in fact they are only one away, so each of these is from someone who is a direct friend of someone who is my own personal direct friend. I just don't know... I will keep looking at it. I am not inviting anybody else in. I only invited 2 people who weren't already in and one of them really is anti-orkut! Don't take it personally. It doesn't make sense for me to do that when I don't quite believe in whatever it is yet.

I do have to say that I did get this apology in a message though:

“I shoulda done the math on friend of friends before pushing the button. yeeeeagh! “

So, maybe also a lot of this is just that people have to figure out how to use it and what they want to do with it...

Friday, January 30, 2004 6:19:01 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I thought I had beat the most famous non-admin problem of running quickbooks by using the “run as” option. My days as a non-admin user were almost becoming a full week of success until I tried to revisit a VB6 project and compile it. Throw on the breaks. System Registry access problems. I logged out and back in as admin and gave myself full perms on the hkey_local machine section. Back to my own login - still no compilation. Log out. Log back in as admin, well it's trying to register these classes so it needs access to HKEY_CLASSES_ROOT. I really don't wanna do it, because anything that invades my computer in an email will now have access but - what's a girl to do. Full perms on the classes_root, chug chug while it goes through all gazillion of the. Log out, log back in as me the non-admin, pretty background screen and then....nothing. Nothing nothing. I can get to task manager, get to the dos prompt from there, etc. but I cannot run explorer. Hmmm says I. Back to admin login, everything *looks* okay in documents and settings. Fiddle around for a few hours. Try to do a safe mode login - same thing basic effect with out the pretty picture, but I get all the “safe mode” bits in the 4 corners.

I create a new local login and login as that. Same.

Create a new domain login and login as that. Same.

I go back to admin and gulp - make myself an admin and all is well again. except now I'm back to being a non-admin and feel very exposed and wasted many hours today. Oh well.

Friday, January 30, 2004 6:11:39 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Halley, I totally hear ya! I just don't GET it. Yeah, I got invited, and checked it out and invited you too, but that was about a week ago and now I am really wondering what the point is. I *have* a network. In fact, sometimes I think I am overnetworked. I don't know what Orkut adds to the mix. Except flattery. I was flattered by some of the invites I had. But [wo]man cannot live on ego alone!

Friday, January 30, 2004 11:21:59 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Hooo whee did I have fun yesterday and once again learned a lot about something that was low on my list of things to learn! This is about solving the problem of the default IIS6 security account not having access to SQL Server and some lessons in managing that security account.

I have a new Win2003 Server with IIS6 set up. I'm not sure in Windows creates this account or IIS6 does, but IIS6 defaults to using the account “NT Authority/Network Service“ as it's main security account. You can actually change this if you want. In the Application Pool you see in IIS, you have an option to change the identity of the main security account for IIS. There are 3 defaults or you can select your own account.

I have a domain controller. In Win2000 Server, I had to use the IWAM_Server as my main security account. That means I had to give this account NTFS permissions on my web folders and also in SQL Server. I don't know if there was a way to change the account in IIS5, but if there was, it was elusive. In fact, I had to deal with this when I made some changes to my Win2000 Server and suddenly couldn't debug ASP.NET, etc. It's because I now had to give taht IWAM account access to everything. In fact, here is the post where I learned that lesson - the real lesson was thanks to a comment by Mark Pearce.

On to Windows2003 and IIS6. I was able to debug, but my asp.net apps now didn't have access to SQL Server.

Googling, I saw that I could via TSQL, just add the Network Service account to SQL Server. Through Enterprise Manager, that account is not exposed, but you can do it through TSQL (and then see it in Ent. Mgr). But I didn't do it correctly the first time. I added it to a user database (Users), and not to the “master” database, which is the same as adding it to Security/Logins. So thinking that it just hadn't worked, I looked a little harder which is where I got my big lesson. What I did not want to do (even though this is just my development environment and used only by me) was just switch over to mixed authentication. I was bound and determined to use integrated security!

Remember, I am a developer, not a “real“ dba or sysadmin!

What I learned, thanks to some help from a Dave Burke post and also a conversation with Brad Kingsley from Orcsweb on the ASPAdvice security listserv, was how to change the security account in IIS (Application Pool/Identity). Not only can you choose from one of the defaults, but you can also choose any of the server accounts (well, they may be filtered) but my IWAM_server account was what I wanted and knew how to work with so that's what I chose. This cleared up all of my sql access problems, because I had set up that account when I installed SQL Server on that box. But, it was the NETWORK SERVICE account that had been given all of the appropriate permissions on my application folders. I started getting errors left and right when trying to run/debug my asp.net app. Not even on the folders where the application was, but the windows/.net framework/v.../aspnet temp  folder and other folders on my system drive (my app folders are on a separate drive.)

I started hacking - permission here permmission there, but the problem didn't go away AND I did NOT like that I was doing this manually because I might have been creating another bad effect elsewhere. I did think later that maybe some tool like IISReg might have done this for me. I'm not saying this is a bad option. The nice thing here is that if you need to, you can have this type of granular control over IIS. Me - I don't happen to need them, gimme those defaults and thank you for all of the automated setup!!!

But instead, I set everything back to the defaults, including the IIS security account, and went back to SQL Server. This time, in TSQL, I went to the master database and typed

sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE'

Problem solved. Now my asp.net was allowed to talk to SQL Server, then I just had to go into my database and give that account (now available in Ent. Mgr) access to what I wanted it to have access to.

Friday, January 30, 2004 9:07:20 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, January 29, 2004

I had to laugh when I read the first part of Avonelle's post on wanting to learn about Reporting Services:

“On my increasingly long list of things to learn...” she says.

How true! It goes with the increasingly long list of books to read.

 

Thursday, January 29, 2004 6:48:26 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I am working on a form and have to make sure that the columns all are the correct width for the maximum data that can be entered. Some cols may have data like “111” (which will require a wider column for “333”. Some cols may have “9999.9”. So in order to properly set the sizes, I created a handly little function that will not be on in run time, only design time. It just tells me what I have resized the column widths to, so that I can go back and apply the correct widths in my grid formatting code.

Private Sub UltraGrid1_AfterColPosChanged(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.AfterColPosChangedEventArgs) Handles UltraGrid1.AfterColPosChanged

MessageBox.Show("col width=" & e.ColumnHeaders(0).Column.Width)

End Sub

If you have a boolean that indicates you are loading the form, you might want to wrap that around the messagebox function so you don't get a popup for each cell as the form is rendering.

Not earth shattering, but a nice trick instead of guessing!

Thursday, January 29, 2004 11:02:06 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, January 28, 2004

I was just chatting with Peter Rysavy (TabulaPC and SPOTman) who wanted to know why I had an “out to lunch“ hung on my i.m. status (I was bored with “busy“) and then he was trying to convince me that I just had to have a SPOT watch. I think I replied with something like “see spot run, see julie run from spot”. Just in a silly mood, nothing personal Scott! heehee

So then we got to talking about ink logging again and he had me look at Loren Heiny's totally groovy WebCamNotes application - well the output from the app. I had looked before and thought “cool” but that was just a quick look. This time, I did a closer look ala “view source” and damn, he's doing image mapping to make hyperlinks. Totally AWESOME solution. I didn't think of it. It still doesn't bring both things together that I dream of - recognized ink (i.e. legible) combined with inky ink and then links too. So if you did a view source on one of the BLInk! posts you will just see html that is text then a gif then some more text. Boring, but legible. I like the image mapping. Neat neat neat. Good thinking Loren!!!

Also he just posted some thoughts about what we are all trying to solve while working on our various blog in ink projects. It's really quite similar to the thoughts I had while I was trying to think what would make a userful ink blogging tool and then going through the pros and cons of each idea I came up with. But heck, I still never thought of that image mapping!

Wednesday, January 28, 2004 9:59:40 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Here is another item that I am putting in my BCL talk. It's not earth shattering but it's sure to bring a round of applause! :-)

I have a presentation I have done a few times on Streaming in .NET Tips and Tricks. Trying to explain the ins and outs of streamreaders and streamwriters, that they are not containers - just transporters, that you use Read to write and Write to read (think about it...). All VERY confusing to non-plumbers. If you are using streaming to open a file up and see it's contents or create file, you have a lot of concepts to understand and a lot of lines of code. And then don't forget to close the file stream or is it close the file or ...oh god. I better go look at my slides again.

Which is why, even if it is one of the more seemingly pedestrian changes in .NET, File.ReadAll and File.WriteAll are very welcome new methods in the Base Classes.

With this one short line of code:

Dim str as string=File.ReadAll(“c:\mynicefile.txt”)

(and you can do this in C# too and in this.net and that.net cause it's in the BCL...)

I now have a string filled with the contents of my text file. I don't even have to instantiate an object. I don't have to close any resources.

No research, no acrobatics.

One very good point that Kit George makes about this is that it's intuitive. Certainly you have started by typing “File.” and looked up and down the intellisense list for something that would do this. Well, now it's there. Thanks guys and gals!

Wednesday, January 28, 2004 9:16:05 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Ahh, if only it could be forgotten, my favorite Microsoft story ....

from http://www.business2.com/b2/web/dumbest/winners

Wednesday, January 28, 2004 8:26:24 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I'm very unhappy that I have not been able to get back to working on my little pet project lately.  Peter Rysavy was a real pal in going through the program and giving me a hit list of things that can turn it from an experiment into a useful program. And I have a whole class of blogging elementary students and teachers now waiting! I'll get to it, I promise!

Wednesday, January 28, 2004 5:22:18 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

It is amazing the amount of coordination that is going to happen to get the various speakers in 32 different cities all on the same page.

If you are anything like me you get a gazillion emails a day and set some aside to read later. Better not do that with the one you got from the DevDays coordinator. There are some serious action items that need to be attended to pretty quickly. Just thought I'd mention it here in case your email is buried already. It was only yesterday afternoon, but it feels like it was days and days ago already!

 

Wednesday, January 28, 2004 3:43:56 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Update: Even after doing the intelligent updater, my NAV continued to say that I was only running the 1/18 definitions. I finally checked my activity log and saw that indeed, since I ran the Updater, NAV has been catching “W32.Novarg.A@mm“ which is one of the names of this virus.

I could not figure out why my latest virus definitions kept saying 1/18 even after I manually ran live update. Here's why!!

LiveUpdate
LiveUpdate is the easiest way to obtain virus definitions. These virus definitions have undergone full quality assurance testing by Symantec Security Response and are posted to the LiveUpdate servers once each week (usually Wednesdays) unless there is a major virus outbreak. This is the easiest option for most home and small business users, and it provides a very high level of protection along with ease of use.

Intelligent Updater
Intelligent Updater virus definitions have undergone full quality assurance testing by Symantec Security Response. They are posted on U.S. business days (Monday through Friday). They must be downloaded from the Symantec Security Response
download virus definitions page and installed manually.

Wednesday, January 28, 2004 12:35:29 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

This is just too much, but it made me laugh...

Thanks for your registration.

( We say Sorry again, the first mail was delivered to an unknown mail address.

This was a bug in our mailing system! )

The amount of 239.- USD was deducted by your credit card.

Welcome,

you can now visit more than 1200 very very hot web pages!

Your registration, pages and passwords are transferred in the attachment.

Wednesday, January 28, 2004 11:57:18 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, January 27, 2004

This time it's Eli!

per Kent Sharkey:

Eli Robillard has his triumphant return to MSDN (OK, so he's got two headlines right now) on the ASP.NET Developer Center. This is one on creating a custom framework for handling the assorted errors that may happen on your ASP.NET sites.

Tuesday, January 27, 2004 9:15:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

When I got asked to present on ASP.NET security at not one but two DevDays events, I accepted [of course] and then afterwards started wondering where I was going to find the time to create a high quality presentation for such a big event. I have a few others that I am currently working on and it is hard (though rewarding and if you are really lucky, educational) work. Since this was my first time at bat for DevDays, I didn't learn for a few more days what is beautiful about this event. You may know by now of course, from reading Brian Goldfarb's weblog that he and Jeff Prosise have created the content for the web security track. Boy oh boy, this is like having my cake and eating it too. So you may be getting locals (and in some cases even local yokels) doing the presentations, but Brian and Jeff will be in many ways right up there on stage with us, feeding our brains...and yours! Of course a lot of the presenters are more than capable of creating their own session materials for this, but the benefit is that there will be very high-quality consistency for every single date.

Tuesday, January 27, 2004 3:53:38 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Considering that she is a pretty attractive woman, I'd be going after the courtroom artist, if I were her! :-)

Tuesday, January 27, 2004 3:15:55 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  |