Tag Archives: MSDN

Disable Windows Antivirus When Installing aspell English Dictionary

A lesson I learned the hard way today, while installing aspell support for Notepad++:

If you’re installing Kevin Atkison’s English dictionary for aspell, you need to disable your antivirus program (at least, if you’re using Avast, as I am).

If you don’t, the dictionary installer can’t write its unpacked files to disk and will fail silently. As in, it just plain closes, and Notepad++ will report something along the lines of “Aspell and/or dictionaries are missing.”


Also, if you haven’t heard of Notepad++, you should check it out. It’s an open-source, GPL-licensed Win32 text editor. (It runs perfectly fine in Win64).

Highly extensible via plugins, translated to all kinds of languages, exceptionally powerful, with support for syntax highlighting in just about every programming language under the Sun and syntax checking for a fair number of them, too.

It’s pretty much the only tool I use any more for Web coding, even when writing ASP.NET Web Forms. (I still use Visual Studio for some Windows coding. But Notepad++ has completely replaced Dreamweaver.)

All links in this post on delicious: http://delicious.com/dougvdotcom/disable-windows-antivirus-when-installing-aspell-english-dictionary

Parent-Child DropDownList Controls In ASP.NET Web Forms (VB.NET)

Some time ago I promised a formspring anon I would do a tutorial on parent / child DropDownList controls in ASP.NET Web Forms. At long last, I’m delivering. (From here on out, I will use “DropDownList” and “select list” interchangeably.)

Parent-child DropDownList controls means you have a parent, or main / master select list. Based on whatever selection is made in that first DropDownList, a second, “child” or “detail” select list is populated with relevant results.For example, if we had a database of cars, we might have a parent (master) DropDownList of manufacturers — Ford, Chevy, Toyota, etc. — and populate the child DropDownList with models from the selected manufacturer. So, if someone chose Ford in the parent select list, the child select list would automatically populate with choices such as Fusion, Mustang, Explorer, F-150, etc.

I’ll be demonstrating two different ways to accomplish this task, as well as a few variations on the first: First, binding with only SqlDataSource controls, which is by far the easiest way to proceed and will suffice for about 90 percent of applications; second, using code behind and CompareValidator controls, to cover all possible roadblocks.

Some notes before we proceed:

  • I’ll use the ZIP Code database I’ve been using for a while as the back-end data. I also have a separate table of USPS state codes I’m using as the parent data, to help illustrate that you can use several tables / data sources to fuel this solution, provided the keys that relate the data make sense to each data store. In other words, you can use a lot of different sources for your data, so long as the data is relational.
  • I’m going to use SQL Server, stored procedures and a connection string stored in my web.config file to access my data. I recognize that some people prefer to use SQL statements / LINQ and the like, or can only use Access / MySQL or other data stores. I really urge you to always use stored procedures, as they are way safer than inline SQL statements. As far as alternative data stores go, that should be a easy a fix as switching your code to use to the relevant ADO.NET ODBC classes, rather than the SQL Client classes.
  • This solution should work for ASP.NET versions 2.0 forward.

Continue reading

New England GiveCamp 2011: What A Weekend!

Last weekend was New England GiveCamp 2011, in which 100+ developers, designers and other volunteers gathered to donate time and skills to some 30 charities who needed IT help.

This year, I was project lead for Alex’s Team Foundation, based in Andover, Mass. Our team was Saurabh Moondhra and William Wade, both experienced ASP.NET developers.

Alex’s Team Foundation, named after 16-year-old Alex Miliotis, who passed away from leukemia in 2002, raises money to support nurses and other oncology professionals, and supports youth sports. The foundation is largely the labors of Patti Rae Miliotis, Alex’s mother, and a handful of reliable volunteers. Like every small nonprofit, Alex’s Team doesn’t have a lot of money.

Like every other leader of a small nonprofit, Patti is pulled in a lot of different directions and has all she can do to keep track of the people with whom she comes in contact, nonetheless all the donations she gets. Patti also hosts a few events every year. She basically needs a way to keep track of who attends those events or otherwise supports her organization, and to mail merge thank-you notes.

So that was the project I led this weekend: Converting a bunch of data stored in (of course!) Excel spreadsheets into a more relational database, with the ability to export that data in order to mail merge thank-you and fundraising letters.

Continue reading

De-Spamming My Twitter Followers

I’ve recently despammed my Twitter follower list. If you were following me, and now find yourself blocked, you have my apologies. Please send me an e-mail and I’ll unblock you.

This provides me with a great opportunity to discuss my attitude about Twitter followers and following.

Generally speaking, if someone starts following me, I follow them. If I follow someone, I usually expect to be followed back, and likely will stop following, after a week or so, someone who isn’t following me.

Exceptions to this rule are announcement accounts (e.g, @MSDN, @GoogleCode, @APStylebook) and major celebrities (guideline: someone whose identity has been verified by Twitter, e.g. @SethMacFarlane).

I may decide not to follow someone, but that doesn’t mean I mind them following me. I prefer a two-way street, but that’s not to say that people who only want to listen aren’t welcome to follow me.

I do mind being followed by Twitter accounts that are:

  • Obviously meant only to spam. If all a follower does on Twitter is solicit business, please keep me out of it.
  • Astroturfing. This one is sometimes a judgment call, but if a follower’s tweets are about things other than the kinds of things I am talking about (or the follower hasn’t  tweeted at all), and that tweeter is following a lot of other people with whom he is not communicating / has no common interests, I’ll probably toss him into this category and block him.
  • Patently offensive. Profanity, sexually suggestive comments, edgy humor; these are all fine. Trolling and hating are not.
  • Malicious bots. I am followed by a handful of IT bots; so long as they’re reposting / harvesting relevant info, I’m OK with that. All other bots can GTFO.