Development blog discussing configuring, building, and managing software. Including coverage of Debian Linux, .NET development projects, Perl and development tools
Wednesday, February 28, 2007
ASP.Net 2.0 Complex User Controls and External JavaScript
For example, you might need to have a large piece of JavaScript included as an external resource, not emitted into the .aspx page. This page has a detailed step-by-step guide on how to embedded URL accessible resources into a control.
Or perhaps, also like me, you are making use of the System.Web.UI.Masterpage namespace and are wondering about passing objects between content and master pages. Well, this page has a detailed step-by-step guide on how to pass information between Content and Master pages in ASP.Net 2.0.
Tuesday, January 23, 2007
XSD and MSXML 4.0 SP2
Check this page about conformance to XSD specifications within the Microsoft XML Parser 4.0 software.
For example,
'all' is not the only particle in a group, or is being used as an extension
Thursday, January 11, 2007
Secure ASPSESSIONID Cookies in IIS 4, 5 and 6.0
A problem can occur if developers decide to store confidential or sensitive information in the session. For example, if a developer writes a piece of ASP code that requests a user's credit card number, the developer can store this information in a session variable (session variables are linked to the session cookie) on the server. The user can then browse to a page that lists the information they entered (for example, an authorization page or an order confirmation page). The credit card (when the list is generated) may be pulled from a session variable. If so, this information may be at risk.
The Help and Support page linked to above covers IIS 4.0 and 5.0, however, the command that it lists at the end:
cscript adsutil.vbs set w3svc/1/AspKeepSessionIDSecure 1
Is correct for all versions of IIS. For version 6.0 of IIS simply run that command and the ASPSESSIONID cookie will be set to secure.
Wednesday, January 10, 2007
Tuesday, January 09, 2007
IEs4Linux, Support for IE7
IE on Linux. Never would have guessed that one back in 1999, would ya? =)
Sunday, January 07, 2007
Quick and Dirty Regular Expressions Visual Basic
Saturday, January 06, 2007
10 Best Extensions for Everyone's Favorite Browse
Thursday, December 28, 2006
C# Class Picturebox Improved for Aspect Ratio & Photograph Display in .Net
Tuesday, December 26, 2006
SSL and TSL Essentials
Users must trust the authenticity of the Web site; users must trust that their sensitive information remains confidential as it traverses the Internet and users must trust that no malicious hacker has modified their requests.
Security technology provides that trust. And on the Web, the Secure Sockets Layer (SSL) protocol is THE security technology.
Read the rest here at www.NetworkSystemDesignLine.comThanks for reading,
Cory Trese
cory.trese@gmail.com
http://www.corytrese.com/
Thursday, December 21, 2006
Interview with Joyce Park
Wednesday, December 20, 2006
Google Kills SOAP?
This worries me. What is Google doing? Trying to kill off developer mind share?
Tuesday, December 19, 2006
ASP.Net 1.1 Does Not Stop XSS or Cross-Site Scripting
The "ValidateInput()" method does not work. It ignores null characters and so does IE. So, all your 'ValidatePageInput="true"' does nothing. You are not safe.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/scriptingprotection.asp
Write your own HTTPModule or buy mine.
Wednesday, October 25, 2006
Testing Web Applications Under Linux!
Want to run IE in Linux? That's how!
Tuesday, October 10, 2006
Google Winner Developer Mindshare
Of course, this makes so much sense. Take all the open source code and make it so you can search it by content, comment, technique and language (and of course, license.)
So clearly a good idea.
http://www.google.com/codesearch
Great .Net Blog I Read
Google "Bigdaddy" Updates Impact on Search Ranking, SEO and your web site
Some sites like WedPlan.net have benefitted from the "Bigdaddy" update, Google's continuing effort to provide users with the best possible results to their search queries. Some sites have been penalized by the update. And some sites have been outright "banned" -- dropped from Google's index altogether.
So why do you care about how Google views other sites, you may ask? Because links from banned sites to your site or from your site to a banned site can negatively impact how Google chooses to interpret, index, and judge your site.
Google engineer Matt Cutts has discussed the increased importance that the "Bigdaddy" update places on inbound and outbound link quality. Cutts warns that "linking to spammy neighborhoods on the web" may result in a site being banned. If a banned site is linking to you, you presumably become an unwitting new resident in the banned site's "spammy neighborhood".
The bottom line? Affiliation with sites that have been banned by Google could be a risky proposition and may adversely affect your site's (and company's) own credibility.
#2. How Do I Tell If a Site Has Been Banned? Use Google's "info:" Feature.
Google has some cool search features you may not be aware of. One secret weapon you can use to find out what Google thinks about a particular site is to use its built-in "info:" search. To use this helpful tool, just do a Google search for "info:domain.com" (without quotes) where "domain.com" is the full domain name of the site you want to find out about.
If the site is not banned, you will see information about the site. If, however, Google returns: "Sorry, no information is available for the URL", there is a good possibility that the site has been banned by Google. Even if the site has not been banned, a response like this indicates that Google places little or no "trust" in the site and is unwilling to provide its users with any information about or from the site. Do this search for all the domains you currently advertise with. If any of them have been banned by Google, it may be time to end your affiliation with them.
#3. Advertiser Beware: Do Your Homework.
If a site is in good standing with Google, the search engine should provide you with a wealth of information about it. Again, do a Google "info:" search for the full domain name you are researching. If the site is not banned, you should be presented with 5 links. Perhaps the most informative of those links is the "from the site" link. Clicking that link should reveal how many pages from the given site have been indexed by Google and are currently presentable as search results in Google's index. Generally speaking, the more pages from a site that Google is displaying in its index, the more confidence Google has that the site will contain relevant information for its users. Perform these kinds of searches when deciding where you think you might want to allocate your advertising dollars. Doing a little homework ahead of time can pay dividends later.
#4. Take Action.
In researching Google's "Bigdaddy" update and the logic behind it, it becomes clear how important it is for a business owner to keep up with changes on the web. It took months for Google's "Bigdaddy" infrastructure to be built and for the new search results to go live at all of its data centers. But Google's changes have some immediate consequences for you and your business. You need to be proactive to end your affiliation with banned sites or those that Google engineer Matt Cutts describes as "spammy neighborhoods on the web". Google has done a good thing by rewarding quality, ethically-run sites and also by penalizing those sites it has determined to fall short of the mark. What's more, the Google update also may mean that association with such sites can negatively impact your own reputation. Take action now by ending your relationship with sites that Google has chosen to penalize or, worse yet, to ban completely.
Original Credit Unknown, Reposted Here for Reference.
Saturday, October 07, 2006
Error 8013141C in Visual Studio or sn.exe
The problem is that you cannot delete a key and you cannot add the key. This is because you do not have access to the key to delete it and the .NET framework cannot add it because of constraints on the StrongName data store.
The solution is to give yourself access to C:\Documents and Settings\AllUsers\ApplicationData\Microsoft\Crypto\RSA\MachineKeys\. This allows proper functioning when you run "sn.exe -d" allow it to remove the StrongName.
- On Windows 7 32 bit, it is located here: C:\Windows\System32\Microsoft\Crypto\RSA
- On Windows 7 64bit, it is located here: C:\Windows\SysWOW64\Microsoft\Crypto\RSA
Here is an example sequence of commands:
C:\>sn -d someKey
Microsoft (R) .NET Framework Strong Name Utility Version 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Failed to delete container 'someKey' -- Unable to format error message
8013141C
The key container must still exist because I cannot create a new key
container, the error message is as follows:
C:\Projects\dload\Assembly>sn -i "C:\Keys.snk" someKey
Microsoft (R) .NET Framework Strong Name Utility Version 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Failed to install key pair -- Object already exists.
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 ("Replicate permission...")
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.)