Development blog discussing configuring, building, and managing software. Including coverage of Debian Linux, .NET development projects, Perl and development tools
Saturday, September 30, 2006
Virtual People & lonelygirl15
Pretty interesting concepts behind this. The creation of "virtual celebrities" that actually represent (much like "real" celebrities) the work of hundreds or possibly thousands of content creators and marketeers.
I must admit I am most intrigued by this concept. Where will this go in the future I wonder?
Tuesday, September 26, 2006
Fuzzy Logic and Other Math Help
The actual software is call the Fuzzy Logic Toolbox and is a collection of useful functions for MATLAB, however the general information like overview and foundations provide terrific introduction material for anyone interested in Fuzzy Logic.
Monday, September 18, 2006
Guidance Automation Extensions(GAX), NDepend, CLR Analytics, Oh My!!!
Saturday, September 16, 2006
COM+ Object .Net Cleanup / Dispose
Friday, September 08, 2006
What is P3P, W3C Privacy Policy Summary
What is P3P?
- Participating Web sites answer a set of multiple-choice questions creating a summary of the site's privacy practices, which can then be interpreted and displayed by P3P-enabled browsers.
- When you use a P3P-enabled browser to visit a site participating in P3P, the browser automatically reads the site's P3P summary comparing the site's privacy practices to the privacy preferences you've set. The browser might display an alert or block transmission of certain data, such as cookies, if a Web site's practices differ from your preferences.
Here is the deployment guide for P3P from W3C. This covers the development of the technical P3P, the human readable P3P and some technical details about how the code-level implementation of P3P is executed.
Here is the "how-to establish P3P at your site" document from the W3C. This covers writing ( or generating) the policy, tools to assist with the generation and some details about what types of information must be defined by the "business" before they can be placed into a formalized privacy policy.
Monday, September 04, 2006
Perl Design Patterns, Examples & Explainations
CLR Runtime Assembly Loading in .Net
The Assembly Resolver resolves for assemblies from different sources in the following order:
1. The GAC, for a native image of the assembly
2. The GAC, for a non-native image of the assembly
3. CodeBase location, if one was defined
4. AppBase directory, otherwise known as the private bin directory
5. Any sub directories as specified in the probing paths, if defined in the application config file
As you can see, the application's private bin directory is #4 , not #1 location. Assemblies in the GAC are system-wide assemblies and therefore take precedence over everything else (assuming versions and other criteria match.)
Sunday, September 03, 2006
Command Completion For Windows 2003 Server
Thursday, August 24, 2006
svnmerge - Subversion merge tracking tool
Tuesday, August 22, 2006
Windows Logon Types, Event Logs & an Explaination
Monday, March 27, 2006
Make Any HTML Form Print Friendly With JavaScript
var reDigit = /^\s*\d*\s*$/;
for (var i=0; i < this.document.forms[0].elements.length; i++) {
if( document.forms[0].elements[i].type == "text" ) {
var text = this.document.forms[0].elements[i].value;
if( text == "" ) {
var newP = document.createElement("p");
newP.style.fontFamily = "Arial, Verdana, Helvetica, sans-serif";
newP.style.fontSize = ".90em";
var txtNode = document.createTextNode("--");
newP.appendChild(txtNode);
document.getElementById(document.forms [0].elements[i].id).parentElement.appendChild(newP);
document.getElementById(document.forms[0].elements[i].id).style.display='none';
} else {
var newP = document.createElement ("div");
newP.style.fontFamily = "Arial, Verdana, Helvetica, sans-serif";
newP.style.fontSize = ".90em";
if( this.document.forms[0].elements[i].value.search(reDigit) == -1 ) {
newP.style.border = "solid black 1px";
newP.style.width = "179px";
newP.style.padding = "2px";
}
var txtNode = document.createTextNode(text);
newP.appendChild(txtNode);
document.getElementById(document.forms[0].elements[i].id).parentElement.appendChild(newP);
document.getElementById (document.forms[0].elements[i].id).style.display='none';
}
}
Saturday, March 04, 2006
The Good, the Bad and the Ugly
- .Net lets you catch a lot of errors at compile time
- The FCL is an amazing collection of utilities. Spend a lot less time considering alternatives and researching available software modules (CPAN.)
- The .Net debugging tools and package analysis tools are great when you're in "debugging" mode
- The Visual Studio IDE has a vast number of extremely useful third-party plug-ins that can really speed up development
- Generic .Net features such as "region" and XML Comments greatly increase organization and documentation efficiency within large implementations
- .Net makes you wait for a compile before you can test most changes. This results in much slower development vs. dynamic languages, especially if the required compile gets Ugly (see below) and you have to reboot.
- .Net, under Windows, is tightly coupled with the OS. This results in a lot of confusion and non-.Net (OS specific) knowledge is required for many complex implementations
- The tools development companies that partner with Microsoft to produce VS.Net plug-ins ignore a lot of open-source/industry-standard solutions, opting instead to support Microsoft-centric technologies and approaches (SCM integration, for example)
- The ASP.Net web development environment contains many foriegn (to the classic web developer) concepts. This is the result of .Net's attempt to unify the programming model for Win32 and Web application development. While this decreases the learning curve for developers already familiar with one, it increases and complicates the learning curve for non-.Net developers. This because a problem when people unfamiliar with ASP.Net perform page and widget design (Human Factors Engineering team) from the perspective of form-post based applications without considering the various complexities of translating concepts to ASP.Net pages and user controls.
- Visual Studio tries to be all things for all people. It includes a database designer, an image editor, an XML editor, a CSS editor, a WYSIWYG XHTML editor and countless other edit modes and supported file formats. While this is useful, the overall quality of each mode suffers. For example, the XML editor does not provide a "pretty print" feature for XML files that are not human readable (indented) and the CSS editor has limited support for anything but CSS 1.1
- .Net on Windows involves a lot of file lock related reboots, DLL versioning nightmares and Visual Studio Crashes
- I am considerable more skilled with XHTML than the Visual Studio designer in 2003. VS.Net messes up my HTML constantly and I spend an inordinate amount of time fixing it. I have found ways to introduce "errors" into my XHTML so that the Visual Studio designer won't load them, but that results in further slow-downs because without the designer no auto-vivification of server-side controls occurs.
- My "development environment", Visual Studio 2003, SQL Server, IE and Visual Studio 6.0sp6 consumes about 1G of RAM while under heavy (debugging) use. This is an excessive amount of system resources!
Thursday, March 02, 2006
Formatting Date Output in C# with System.DateTime
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp
The quick and dirty is, pass the following strings to DateTime.ToString( ); to get these outputs
d 1/3/2002
M/d/yyyy (ShortDatePattern)
D Thursday, January 03, 2002
dddd, MMMM dd, yyyy (LongDatePattern)
f Thursday, January 03, 2002 12:00 AM
F Thursday, January 03, 2002 12:00:00 AM
dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)
g 1/3/2002 12:00 AM
G 1/3/2002 12:00:00 AM
m January 03
MMMM dd (MonthDayPattern)
M January 03
MMMM dd (MonthDayPattern)
r Thu, 03 Jan 2002 00:00:00 GMT
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)
R Thu, 03 Jan 2002 00:00:00 GMT
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)
s 2002-01-03T00:00:00
yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)
t 12:00 AM
h:mm tt (ShortTimePattern)
T 12:00:00 AM
h:mm:ss tt (LongTimePattern)
u 2002-01-03 00:00:00Z
yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)
U Thursday, January 03, 2002 8:00:00 AM
y January, 2002
MMMM, yyyy (YearMonthPattern)
Y January, 2002
MMMM, yyyy (YearMonthPattern)
Tuesday, February 21, 2006
.Net 1.1 and System.Math.Round -- Banker's Round and .5
Saturday, February 18, 2006
How to Pretty-Print an XML Document with C#
Thought I'd post a link. I'ts about formatting, indenting XML output in C# or VB.Net.
Check it out!
Tuesday, February 14, 2006
Tuesday, January 24, 2006
Another Web Project Annoyance
- Visual Studio 2003
- IIS 6
When I have a solution in debug mode attached to aspnet_wp.exe and try to open another solution that uses a web project, the second instance of Visual Studio just freezes ... no warning, no error, nothing.
Really annoying! I was just trying to open the other solution so I could check something in a non-web project for reference and got sucked into trying to figure out why it wouldn't load. Took me a few minutes to figure it out but I've been coding for many hours now and my problem solving skills are starting to suffer I think.
Monday, January 23, 2006
PInvoke How-Tos!
From the Site:
It's time to stop writing PInvoke signatures from scratch! Instead, copy and paste your way to productivity!
And this site has more than just signatures & type definitions. For example:
- Folks like you are sharing gotchas, tips, and samples specific to managed code. For example, check out why you shouldn't call CoInitializeSecurity from managed code.
- Alternative managed APIs are suggested as a replacement for using PInvoke in the first place.
- This site contains miscellaneous community resources that are helpful for being successful at unmanaged code interoperability. Feel free to add to these pages, too!
Wednesday, January 18, 2006
ASP.Net - Parser Error Message: Access is denied
Read this knowledge base:
http://support.microsoft.com/default.aspx?scid=kb;en-us;329065
Friday, January 13, 2006
This was on Slashdot
http://www.grc.com/x/news.exe?cmd=article&group=grc.news.feedback&item=60006
Monday, January 09, 2006
Web Form Design
How do we design good web forms?
Well, here is some help, finally!
- Cory
Tuesday, December 27, 2005
SwitchTower Development Tool
Friday, December 09, 2005
Uninstalling Existing StrongName Keys with sn.exe Created By Other Users
The hack to fix this is:
- Browse to %SystemDrive%\Documents and Settings\AllUsers\ApplicationData\Microsoft\Crypto\RSA\MachineKeys
- Grant rights to Adminstrators, or whatever group you belong to
- Take Ownership of this folder (click Advanced under Security, and then click the Ownership tab at the top)
- Apply the changes to the children ("Replate permission...")
Subversion and ASP.Net
See:
Subversion 1.3 Release Notes
and
ASP.Net Hack Notes
You can, in the mean-time, download a modified 1.2.x EXE from Jonathan Malek's blog or a modified 1.1.3 or 1.1.4 modified EXE from another entry.
I am currently using the 1.2.0 binary with the TortoiseSVN ASP.Net hack until SVN 1.3 is released.