Shawn Wildermuth


My Rants and Raves about technology, programming, everything else...

Digging into ADAM...

I was a big Active Directory fan a ways back. Not for the usual reasons, but for application specific data. After dealing with the fiasco that was the LDAP store in Site Server, it was nice to see a large-scale robust LDAP store. The problem was that the data store was tied to the domain model too tightly.

With that in mind, I was very happy to see that Microsoft noticed and has released Active Directory Application Mode (ADAM). I really like where it is going. While the tools for managing the ADAM stores are pretty deplorable, the data store is pretty solid.

App.config and C# Projects (Updated)

Everytime I add a app.config file to a new C# App, it never does what I want. I want the app.config file to be deployed to the build directory so I can make changes to the app.config file and have it propogated. With the release of VS.NET 2003, us C# developers now have pre and post build steps. So I now have to remember to add the following to the post-build event:


xcopy /s $(ProjectDir)app.config $(TargetPath).config

I know I could write an "Add New Item" to make it happen, but I just haven't had the time. I just wish MS had done it for me.

I Couldn't believe this...

Url: http://www.priorityclubpromotion.com/hi/towels/

When I was growing up we always had a couple of Holiday Inn towels hanging about. I never felt guilty until now. Follow the link...trust me!

Practical Experience

I have been spending a lot of time writing about technology lately. After a phone conversation with Tim Ewald, it got me thinking. During the first half of writing the book, I was working full-time writing ATL/C++ apps mostly and trying to get up to speed with ADO.NET at night. While my girlfriend minds, I don't really.

While in this phase of the project, I learned a lot about the technology and the class signatures, but it was very hard to grasp the big picture of the real problems that people will/are facing.

Things About Typed DataSet Generation I Never Noticed...

I have been thinking a lot about how Typed DataSets are generated and was spelunking through the code again when it got me thinking. The Typed DataSet generator doesn't really generate the code based on the .xsd, but on the DataSet. It simply loads the .xsd into a DataSet then interrogates the DataSet directly for everything (tables, columns, relationships, constraints). So if the Typed DataSet Designer cannot handle something (like relationships *without* constraints, see below), but the DataSet schema allows it...simply create the DataSet and save the .xsd file to see what it produces! This gets around some fundamental problems with the designer. It does require you start looking and understanding .xsd, but it is a useful skill to have anyway...right?

So my first relevation was how to add unconstrained relationships (no foreign key constraint, simply a way to navigate the data). Since the designer does not allow this, I looked at the .xsd and found that the DataSet handles this with a schema annotation:

Three Tier ASP.NET Apps

I hear from a lot of readers that they are creating 3-tier ASP.NET apps and I always wonder if they know where the middle tier is.

In my opinion, the web server is the middle tier and client tier is the browser. Creating another set of machines to host the data layer isn't really necessary and, in fact, hosting the data layer on the web server is easier to scale. We know how to scale out web servers. Inventing a new set of machines forces you to figure out how to scale them out and it does not increase your scalability by scaling out both the web server and a fourth tier.

How could I have missed it?

I hope I am not the only one who missed the magic of CTRL-SHIFT-V. I have bungled about with copy-paste in the editor so many times...I accidently hit CTRL-C instead of CTRL-V and copy an empty line instead of pasting my code...Arg! Now I know to just hit CTRL-SHIFT-V and pick my lost copy from the clipboard ring.

Now its got me wondering what else I have missed. If you have a favorite hidden treasure, could you e-mail at shawn@wildermuth.com and I will post them in an upcoming rant.

VSIP Anyone? Free VSIP Anyone?

Url: http://msdn.microsoft.com/vstudio/partners/

After complaining to MS guys for over a year, it seems that they've finally opened up their Visual Studio Integration Program (VSIP). For those of use that have wanted to dig in deeper into VS.NET and fix some of the annoyances, this is great news.

Ink Blots as Passwords?

Url: http://research.microsoft.com/displayArticle.as...

I ran into this article about using Ink Blots to make passwords on Microsoft Research's site and it got me thinking about security and privacy. I think the only bastion of true privacy these days is in the mind. Social Security #'s, mothers maiden names, pet names...its all just demographic data that is in the wide open. So for the common user, trying to remember a strong password (numbers, letters and punctuation) is just too hard.

Quake 2 in Managed Code?

Url: http://www.codeproject.com/managedcpp/Quake2.asp

When I saw the recently announcement on MSDN about Quake II in Managed C++ I got very excited. A port to Managed DirectX? Nope...

Shawn
Shawn Wildermuth
Author, Teacher, and Coach




My Courses

Wilder Minds Training
Vue.js by Example (Now Available)
Bootstrap 4 by Example
Intro to Font Awesome 5 (Free Course)
Pluralsight
Less: Getting Started (Coupon Available)
Building a Web App with ASP.NET Core, MVC6, EF Core, Bootstrap and Angular (updated for 2.1)
Using Visual Studio Code for ASP.NET Core Projects
Implementing ASP.NET Web API
Web API Design

My Appearances


Application Name WilderBlog Environment Name Production
Application Ver v4.0.30319 Runtime Framework x86
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.26919.02
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86