Thursday, November 30, 2006

FlexWiki 2.0 Alpha 1 Released

I just posted FlexWiki 2.0 alpha 1 on the SourceForge website. Frankly, I'm rather excited. Although it's only at alpha stage, I've been working on this project for well over a year. After extensive rearchitecture, I'm finally at the point where I can start working on the thing that sent me down this path in the first place: a reasonable security model for FlexWiki.

If you have a chance to try out the new bits, please do so. Keep in mind that they are alpha: things generally work, but you're bound to run into issues now and then. Things that specifically don't work right now are caching (although you could argue it never worked that great in the first place) and SQL Server support. Those will get implemented in the coming months.


FlexWiki Released

First, apologies for the god-awful formatting of my posts just now. I just reinstalled, and I haven't got anything decent to post with - the .Text web page that I'm using right now sucks. Anyway.

I just posted FlexWiki to the SourceForge website ( This is primarily a bugfix release. Given that our last official release was in late 2005, there are a fair number of bugs that have been fixed, too. There are also some minor feature enhancements - you can check out the change list on the project website.

There are three reasons that it's been so long since the last official release: 1) We've been focused on FlexWiki 2.0. More about that soon. 2) We do continuous integration at, so anyone that wanted updated bits could have gotten then from there any time. 3) We haven't had a release manager, so posting bits on SourceForge has been low priority. Hopefully #3 will change soon - we're working on it.

As always, the best place to get support with FlexWiki remains the flexwiki-users mailing list. You can subscribe via the FlexWiki project website.

Missing IIS Administration Tools in Vista

I've just recently installed Vista for the first time - I never even looked at any of the Betas, CTPs, or RCs. I guess I'm getting old (turned 35 yesterday, in fact), since I no longer leap on beta technology like a pack of starving hyenas on a wounded wildebeest.

So far it's going pretty well. I'm not sure I much like the new UI features - I find Glass to be a bit too, well, glassy. If I want glare I'll point my binoculars at the sun (good gods I *am* a cranky old man) . But I'm going to leave it on and see if I can get used to it.

One hitch I hit was stupid, but I'm guessing that I won't be the only one to hit it. I installed IIS7, and then spent the next half hour trying to find the management application. I located the (awful) command-line tool, but couldn't find the inetmgr.exe GUI. Then I went back into the Windows components installer and realized my mistake...there's a separate checkbox for the management tools that I hadn't checked. Oops.

Anyway, you've been forewarned. Unless the reason you wound up here was you had the same problem and are searching the Internet for the solution. :)

Wednesday, November 22, 2006

Baby Sign Language

I'm a big fan of Scott Hanselman. Aside from his many useful technical posts, I enjoy reading his posts about his son, Zenzo. That's due at least in part to the fact that Zenzo is right around a year younger than my daughter Ellen, so hearing about Zenzo learning to crawl, walk, or whatever brings me back to when Ellen was passing the same milestones.


It was with particular interest, however, that I read Scott's latest Zenzo post, entitled "Baby Sign Language". I was going to leave a comment on his blog, but frankly I just don't like comments. It's a subject for another post, but essentially I find that I just never go back to the site after I leave a comment - I've tried stuff like CoComment, but nothing has really been natural and easy. So I figured I'd just post here instead - the trackback is generated automatically, which is better than nothing.


But to the subject at hand: Baby Sign Language. We did this with Ellen. I'm a HUGE fan of it. But I knew I would be - I have a brother who is thirteen years younger than me, so I can clearly remember him as a baby. He has Down Syndrome, so he was unable to speak at all until he was nearly three. It was just too difficult a skill. My parents got the brilliant idea of teaching him ASL, and we were all signing simple signs with him for probably a year before he could communicate verbally. It was great - really helped him express himself.


Given my experience, I was pretty determined to teach Ellen sign language as well. Alice (my wife) was totally open to the idea (indeed, she probably would have done it regardless of whether I'd be interested) so we started with Ellen when she was something like six months old. For us, the primary sign was for "milk", which we'd show her every time she got fed.


Just like Scott, it was initially like signing to a wall. She didn't seem to care, and she certainly didn't sign back. But I knew from my brother that it was just a matter of time, and sure enough, at about eight months, Ellen was able to mime the sign back to us. It's pretty amazing to get any communication whatsoever (other than smiling and crying) from an eight-month-old.


Of course, she stopped signing shortly thereafter for a good six weeks, but once she started again, there was no stopping her. She probably knew about ten signs ("milk", "eat", "more", etc.) before she could speak her first word ("ball"), and she probably knew over two dozen when her verbal vocabulary passed her signing one. It was our primary way of communicating with her for months and months, and was a great help to both her and to us in knowing what she wanted.


Right around the time Ellen was really catching on to the signs, we had a friend staying with us for an extended time. He'd been hit by a car, so he had a lot of time to sit around and watch Ellen learn. His comment? "I'm totally doing this with my kids when I have them." Which was my exact sentiment from watching my brother.


It's funny for me to hear resistance to the idea. The one that really puzzles me is the "it'll slow down their speech" one. Not only is this contrary to clinical evidence (IIRC - we did the research but I no longer have the citation), but my personal experience has been the opposite. Ellen, like Zenzo, is bilingual in verbal languages (Chinese and English), and despite that seems to have verbal capabilities comparable to her contemporaries. Bilingual children generally take a bit longer to reach the same level of speech in a single language than children only learning one language (again, I don't have a citation any more).


But setting that aside, I always point out to people that all children use sign language. Every kid reaches their hands up when they want to be picked up, and every kid waves to indicate "goodbye". There are probably other examples - gestures are so baked into communication that it's hard to even think of them. Teaching ASL is just an extension of this.


I can't recommend teaching ASL to your baby strongly enough. It's totally worth it. And don't worry if you don't know ASL - just make up some sign and use it consistently. We used to do that all the time for new stuff we didn't know the sign for. Of course, it's not hard to find signs on the Internet, but when you're in the heat of the moment, anything will do as long as you pick something, tell your spouse, and stick with it.


I'll close here by answering one more of the questions Scott posed: Does Ellen still sign? Yes she does, but not to communicate. She communicates exclusively (and nearly endlessly :) ) verbally, but there are about five signs she still makes even when speaking. For example, she still signs "sorry" even as she says it - in English or in Chinese.

Wednesday, November 15, 2006

Slides and Code for CapArea .NET UG Talk

I spoke last night at the Capital Area .NET User Group, and while I'm probably not the most objective evaluator, I thought it went pretty well. Which is cool, since I was presenting one of the modules from my upcoming Pluralsight course.


I've uploaded the slides and demos here. Any questions, you know how to reach me.

Monday, November 13, 2006

Speaking at CapArea .NET UG

Tomorrow night (Tuesday, November 14th) I'm speaking at the Capital Area .NET Users' Group meeting. My subject will be "Effective URL Design Using ASP.NET". You can read the summary on the website (

I'm particularly looking forward to giving this presentation, because the material is part of my upcoming Applied .NET Architecture and Design course (, which I'm in the final stages of writing. Yes, I've been working on it for a long time, but it really is nearly done.

Anyway, hope you'll come on down to the event - there's usually pizza. Say hi if you do.

Tuesday, November 7, 2006

Using a .NET 1.x Control from a MC++ 2.0 Windows Forms Application

OK, this one took me forever to find, even though the solution was simple, so I'm blogging it.

Apparently, there's still at least one person out there using RichTextBox2/RichTextEditor. And he wanted to use it from managed C++, of all places. And it wasn't working, of course. So he emailed me, and I was happy to help. Of course, it took some research, since VC++ isn't exactly my first choice for writing Windows Forms applications. (Like, I didn't even know VC++ has a forms designer now!)

The problem occurs any time you try to add a control to a form when the control was compiled against .NET 1.x. When you do that, you'll see errors like this:

Error C3699: '^' : cannot use this indirection on type 'System::Windows::Forms::Cursor'
warning C4945: 'DescriptionAttribute' : cannot import symbol from 
as 'System::ComponentModel::DescriptionAttribute' has already been imported
from another assembly 'System'

This is due to the fact that when you add the control to the form, VC++ helpfully adds references for the control's dependent assemblies to the form. Unfortunately, those dependencies include things like the 1.x version of System.dll, and you've already got references in your project to the 2.0 version of System.dll. Hence the conflict.

The solution is to go into Project->Properties->Common Properties->References, where you must remove references to the duplicate 1.x libraries. Easy. And hopefully easier to find now.