Category Archives: Tools

Learn to spell before using the spell checker

Loren Heiny talks about concerns about MathPractice and FractionPractice apps.

I have always been concerned about all of the shortcuts available, such as spell checking, which are valuable tools but should not be the replacement for learning skills.

Just as most of the best improve musicians actually have classical training in their background…

just my quick just-came-in-to-look-up-a-phone-#-and-snuck-in-a-quick-look-at-my-aggregator 2 cents on the topic

Server Day

Today we switched servers at my main client. The old box had win2k, IIS5 and SQL7. The new has win2003, IIS6 and SQL2000. So this meant with many vb6 apps, numerous .NET apps, many web services, a few asp websites and a few .net websites, and mostly win2000 client machines throughout the office, we had a lot of variety to deal with. I spent some time prepping and testing for this but of course, every computer is somehow different. I actually was able to solve some problems with some of the knowledge I gained prepping for the Seucrity Beta test. It was a long day and will be a long night. But it is worth it to have them finally on the newer server software.

I still plan to stay up to hear Kathleen Dollard on DotNetRocks live from 10pm EST – 12am.

oh the pain of changing production servers

About a month ago my client’s ISA server crashed. The I.T. guys discovered 30 GIGs of pictures and movies (mostly in german) on the box. Oops! So they had to rebuild that box and (I can’t even remember why) but also determined that they really needed to rebuild the server that is the webserver and sql server and I think also domain server. That box has all kind high tech RAID stuff on it and they want to continue using it.

Therefore we are temporarily moving over to a new box and I have to get everything set up for the move. But it’s not a copy and paste job. No sirree. The old box has Windows 2000 server and SQL server 7 and IIS5. Of course, we are taking advantage of this opportunity to get the client finally up to Windows 2003 and SQL 2000. Hooray.

Now I did this here in my little home office recently and knew enough to be dangerous, and enough to be afraid. Though I know all about the Network Service account on IIS6 now! 🙂 

But this has not gone easily or well. I have had all kinds of crazy permission problems which are not as easy to debug with things like web services on a production server. Then I got to my old rubber band and duct-tape application role in SQL Server. I have a major VB6 app in place there that uses ADO and a lot of SHAPED recordsets. I talked extensively with a lot of SQL folks before going with an Application Role to secure the database a few years ago (I was not terribly experienced with SQL Server admin). But I managed to get everything working and even worked around the problems with the odbc connection pool that are created with the application role.

However, on the new box, I was having huge headaches with my connections and finally decided it was time to kill the application role and just bite the bullet and create a sql server account that will only be accessed (one hopes) by that application. That turned out to be a really good idea. It took 1 minute to create the new login and 30 secnds to change the connection strings used for the app and then about 15 minutes to click all over the app to see that it worked. And now I don’t have to disable the connection pooling any more.

Here is what I think is the A#1 reason I have been through this hell.

No documentation on the database setup!

I have been creating this monster in bits and pieces over the last three years. Setting up the database stuff was just a way to get my apps working, so I was not as focused with it as I am with my applications. I often knew nothing about what I was doing and had to learn under fire (like most of us do…) A lot of it was experimentation. As I learned more, my solutions improved. However, there is a really nasty mix of the old and the new. Plus a lot of my experiments with permissions, logins, users, etc are still in there.

Attaching the database was not all that was necessary to do the move because of the fact that there are SO many asp.net apps and web services relying on the different databases and many many many stored procedures. And IIS6 has the Network Service account replacing my IWAM_server account. I had to recreate all of those permissions. (There is probably a nice little t-sql way to do that instead of manually). So the lack of documentation (or heck a better naming convention) of what sprocs belonged to what apps (of course there are a lot of shared objects) and which users needed what permissions for which objects..etc etc etc.

I have been taking very good notes through this whole process which I will organize after I get through this. But it has not been a lot of fun. I would MUCH rather be playing with VS2005, my tabletpc, my blogging application, my dog or possibly even doing the programming work that this same client is waiting for me to complete.

Jimmy Nilsson’s Test Driven Development VSLive presentation

Jimmy Nilsson presented on TDD at VSLive recently. He writes in his blog “a couple of guys told me that they love the idea of TDD, but they have a hard time getting started each time they try. One of them said that he had a couple of setters and getters, some add methods, and some calculations, but it’s very hard to know where to add tests.”

I understand this fully! It is something you need to cut out a large chunk of time to get started up in and I have never gotten very far. I do unit testing in .NET the hard way, still. Write a little code, compile and run the whole damned application. In VB6, you could run chunks of code from anywhere from the immediate window. But the way the CLR works, you can’t do that in .NET.

Jimmy postulates that the problem is very much like error handling. If you have already got a ton of your code written, it’s a real pain to plug in the TDD code after the fact. His advice is here. (same link as above)

Also, he talks about the presentaiton and posted the his transcript from his talk here.

 

Remote Desktop – My new best friend

I love remote desktop. I have been using it for about 6 months. I have wireless at home, so I actually use remote desktop from my tablet and my laptop while sitting in different areas of the house to work on my main machine which is in the downstairs office.

When I travel, I use remote desktop to connect to that same box through a bunch of firewalls, of course. I do all of my emailing that way rather than having to transfer outlook data back and forth to my portable boxes or set up exchange on my domain server.

I use remote desktop to work on my clients machines also, through VPN. That is really sweeter than sweet.

With a full screen setting, it is completely transparent. And with a good internet connection, there is just no difference from being on that other box.

There are a few things that are wierd. For example, if I try to use FrontPage remotely, there is a message that my computer configuration has changed significantly and I need to reactivate the product.

There are still situations where I need to use PCAnywhere. Such as when I am working with a client on their machine and we both need to see what is going on and both need access to working on the desktop.

But I just love Remote Desktop. It has a huge impact on my productivity especially with all of the travel I have been doing lately. I definitely don’t take it for granted.

(man, that sounded like a testimonial, didn’t it? – wasn’t my intention)

Mike G’s new book made me break my golden rule

What’s my golden rule? No computer books in my bedroom. THat sounds a little wierd out of context. I read novels at night to clear my head so I can sleep. I will NOT read ANY technical anything. They are not allowed in my bedroom even – no magazines, no books. I got a copy of Mike Gunderloy’s book , Coder to Developer, yesterday and started looking at it and then started reading it and then continued reading it in bed before I went to sleep. I have been programming for 20 years, but it is still interesting for me to be reading this book because it refreshes ideas about certain things, gives me new ideas (I have heard of MindJet but had no idea what it was or about mind mapping – and I sure as hell bet that will be an awesome app to use with ink). ALso, it is great to see how other programmers (who have been at it for a long time and who I have a lot of respect for) go about their development process.

The book is geared at taking people who know a lot about coding, but do not really know about the scope of developing a project. These are skills that it takes years to evolve through experience and it’s a perfect book for someone like Mike to write.

I will surely be sharing more of my thoughts on this book.

This is a silly side comment, but I really like the cover, too.

Earthlink’s attempt to fight “phishing” email scams

A few months ago, I received a very cleverly disguised email “from Citibank” with a link to update my records. The link url looked very “safe” https:, even. And I have a Citibank account, but of course I know better. I looked at the source of the html to see what url is truly there and of course it was something totally different. It was the same day that CNN had an article on “phishing” scams, which this was. I sent the email (with the url etc) stripped out to family and friends along with the url of the CNN article warning them that this stuff looks SO valid, but not to be fooled. I also told them that a good practice was to copy and paste the urls’ into their browser rather than clicking on the links.

Now Earthlink is attempting (this has the same photo as the previous article and looks like you haven’t gotten a new page, but you have…) to help their customers by building a list of fraudulent websites. When the earthlink customer clicks on the link, if it is on “the list” – they will be redirected. I can’t see how this is working – maybe through Earthlink’s web based email or through their own email client application. Earthlink was getting 40,000 calls and emails a month about these emails. It will be interesting to see what they come up with and if it is successful.

Post XML Night in Vermont

XML night was fun at VTdotNET last night. We had 30 people attending our meeting. This is about our mean – vs. average. We have actually had 50 at a few meetings and sometimes we have closer to 20, but it is more likely to have 30 than anything.

Joe Stagner, our MS Community Champion (though I think those titles are changing YET again) was one of the speakers. The DCC (hmm – so that d stands for something, maybe Developer Community Champion) are just about the only people in the entire corporation that do not have to account for sales, so Joe is in a nice position. These are the people responsible for the MSDN Events. Unfortunately, because of low attendance, Burlington is off the list for MSDN events. We all talked about this last night. It seems a combination of content and timing has been a problem. The first series was VSTO and Smart Clients  – the VSTO turned off a lot of people – sorry Paul – as not critical enough to leave the office for a 1/2 day. The second, on March 2nd (I was at DevDays Hartford) was both “Town Meeting Day” in Vermont and also the middle of a school break so a double whammy for a lot of people. THe end result is what I gather must become a high cost per person for putting the events together. However, since I have access to numerous free facilities, and Joe loves Burlington, we are going to try to work something out that will be very low budget, content that is driven by our user group and a win-win for everyone (including Joe).

Joe also came with  a box of many MSDN t-shirts, which disappeared so quickly that I had to ask for one (from someone who had taken two :-)) and some other goodies.

With the great focus on security lately, Joe talked about security in XML, and Dave Burke has already pointed out what was also to me a new and interesting fact – that you can encrypt xml data at the node level. Cool.

The other presentation was a tour around XML Spy and some of Altova’s other flagship products. XML Spy of course is VERY cool, but I was really blown away by Authentic (which is free) and even more so by StyleVision (which is currently separate, but will be bundled into the next version of XML Spy). I almost cried when I saw StyleVision, thinking about the PAIN and AGONY I went through learning XSLT about 3 years ago when I was creating some very complex reports on the web. This is also a great way to learn XPath, while StyleVision helps you out.

Trace Galloway (who gave a damned good technical presentation considering he’s a marketing guy!) also brought a box filled with beautiful bright red XMLSpy t-shirts and raffled off the Pro version of XML Spy. I owe an apology for my protective reaction when the winner was a bright database programmer who works for Bloomberg in NYC who was visiting his pal Ali (a VTdotNet member) and tagged along to the meeting. My gut instinct was “geeze, someone from the group should get it” – but everyone looked at me like I was being a Nazi (though I was really just being a protective momma bird). But Mike was SO excited to win the product that I know it is in VERY good hands and that he will benefit greatly from the products. Hopefully he will also be talking about how great it is to go visit the Vermont.NET user group for at least a few weeks!!

Trace was really impressed with the turnout at our meeting. He says he has been to user group meetings in the Boston area with comparable attendance. He actually suggested that I try to get Don Box to come to the group, but I think he understood when I laughed that idea off. I’m sure there would be a few people in Vermont who would probably pee in their pants if I told them Don Box was coming to speak. (oops sorry Leon, there I go again…)

So we do have an outstanding line up coming up in Vermont. Over the next few months we have our year’s INETA Speakers: Tim Huckaby, Michele Leroux Bustamante and Rocky Lhotka in October. And also Don Kiely, who is coming from Alaska on his frequent flyer miles in July. Not too shabby, eh?

can’t hide that javascript

About 1 1/2 years ago, I wrote an ASP.NET Timesheet application for a client of mine. One of the things that I had a murderous time doing was making  start and end time text boxes that validated against each (on the client side) other checking for all kinds of things and including even a checkbox to indicate “overnight”. This was my first time doing any serious javascript so you can imagine how much effort it took. I encapsulated the code into a .js file and call it from three separate pages. Knowing that nobody can ever hide .js, I  added this comment at the top of the file this evening (just for fun):

//EndTimeValidator
//written by Julia Lerman www.thedatafarm.com
//this was my first time doing javascript, not bad, eh?
//if you are, ahem, “borrowing” this code, you might be better off
//spending $50 and buying a MUCH better solution by www.peterblum.com which
//I wish I had known about before I killed myself writing this

Of course that $50 is for this and many many other wonderful asp.net controls. I don’t always “roll my own”, but I was determined and also I learned a TON.

Database Maintenance Plans for the developer

The latest issue of SQL Server Magazine has an article by Vermont.NET member Roman Rehak (and PASS Track Chair & Speaker and DevTeach Track Chair & Speaker and and and…). The article is called  Inside Database Maintenance Plans. According to Roman’s weblog, “the main target audience is beginner-level DBAs, but it should also be useful to developers that are responsible for setting up maintenance plans on customer sites since many of them sort of fall into that category, although not always by choice. The article also discusses modifying runtime behavior of maintenance plans programmatically and a few workarounds around the existing bugs in DB Maintenance Plans. You have to be a SQL Magazine subscriber to be able to read the article [online].