Awesome: Indiana man gets 27 months in prison for counterfeiting software.
(Reminds me of that episode of the Simpsons where there was a counterfeit jeans operation going on in Homer's 'Car Hole'. (Yeah.. guess that means that I've got issues...))
« February 2007 | Main | April 2007 »
Awesome: Indiana man gets 27 months in prison for counterfeiting software.
(Reminds me of that episode of the Simpsons where there was a counterfeit jeans operation going on in Homer's 'Car Hole'. (Yeah.. guess that means that I've got issues...))
Posted on March 29, 2007 | Permalink | Comments (0) | TrackBack (0)
Fellow ASPInsider Steve Schofield (who will also be presenting the IIS Track in some cities with the Longhorn Server Roadshow), has assembled a killer list of things to check when it comes to Localhost connection issues.
Bookmark it - you know you'll need it.
Posted on March 23, 2007 | Permalink | Comments (0) | TrackBack (0)
Over the past few months I've had the chance of creating two full-blown presentations for Microsoft Technet/MSDN dealing with AJAX. (Each 'presentation' was a for an hour long presentation with accompanying demos - I'll post links to them if I ever see them become available on the MS site.) The first presentation dealt with Ajax Security Best Practices in general (i.e. not just focused on Microsoft's AJAX offerings, but AJAX in general). The second presentation was a round-up of ASP.NET AJAX Best Practices.
In the process of creating those sessions, I ended up doing tons of online research, which resulted in hundreds of links. What follows is a filtered/aggregated list of some of the resources that I used - though this list is by no means exhaustive (and many of the links in the Intro section are pretty obvious - but the other links are all excellent).
AJAX Defined
http://www.adaptivepath.com/publications/essays/archives/000385.php
The Benefits of AJAX
http://www.developer.com/java/other/article.php/3554271
http://dotnet.org.za/adam/archive/2005/04/12/17006.aspx
AJAX has been around for a while
http://www.axentric.com/posts/default/8
AJAX Architecture
http://www.adaptivepath.com/publications/essays/archives/000385.php
http://en.wikipedia.org/wiki/XMLHttpRequest
AJAX Still suffers from the same problems as other application development
http://dotnetslackers.com/Ajax/re-42465_Why_some_of_.....
JavaScript best practices
http://www.bobbyvandersluis.com/articles/goodpractices.php
Unobtrusive Coding
http://ajaxpatterns.org/Why_Ajax_Patterns
http://softwareas.com/ajax-patterns
http://www.w3schools.com/tags/tag_font.asp
http://snook.ca/archives/javascript/clear_links_to_1/
http://www.asp.net/CSSAdapters/Default.aspx
ASP.NET AJAX Behaviors and Extenders
http://ajax.asp.net/docs/tutorials/ExtenderControlTutorial1.aspx
http://ajax.asp.net/docs/tutorials/IScriptControlTutorial1.aspx
Benefits of Unobtrusive Coding
http://en.wikipedia.org/wiki/Unobtrusive_JavaScript
http://digital-web.com/articles/separating_behavior_and_structure_2/
http://www.bobbyvandersluis.com/articles/goodpractices.php
http://snook.ca/archives/javascript/clear_links_to_1/
W3C Accessibility Guidelines
http://www.w3.org/TR/WAI-WEBCONTENT/
Accessibility in General
http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2006/.....
http://www.thinkvitamin.com/features/design/whats-next-for-web-accessibility
http://developer.yahoo.com/yui/articles/gbs/gbs.html
http://blindconfidential.blogspot.com/2006/05/quagmire-of-web-accessibility.html
Accessibility and AJAX Applications
http://www.dashes.com/anil/2005/09/06/web_development
http://www.washington.edu/computing/accessible/accessibleweb/ajax_accessible.html
http://www.maxkiesler.com/index.php/weblog/comments
/how_to_make_your_ajax_applications_accessible/
Progressive Enhancement / HIJAX
http://en.wikipedia.org/wiki/Hijax
AJAX and Scalability
http://west-wind.com/weblog/posts/2725.aspx
http://www.relevancellc.com/2006/4/21/ajax-and-server-scalability-theory-and-practice
UpdatePanels and Web Services
http://west-wind.com/weblog/posts/2725.aspx
http://blogs.msdn.com/mikeormond/archive/2007/01/31/the-asp-...
http://blogs.msdn.com/mikeormond/archive/2007/02/01/on-updatepanel-...
http://www.dotnetjunkies.com/Article/46630AE2-1C79-4D5F-827E-6C2857FF1D23.dcik
http://blogs.msdn.com/tess/archive/2006/02/23/537681.aspx
Micro Caching
http://msdn2.microsoft.com/en-us/library/system.web.caching.aspx
General AJAX Security
http://www.securityfocus.com/infocus/1868
http://www.it-observer.com/articles/1062/ajax_security/
http://www.net-security.org/article.php?id=949&p=1
Security Best Practices
http://webdesign.about.com/gi/dynamic/offsite.htm?site=http://www.tec...
http://blogs.ittoolbox.com/security/dmorrill/archives/ajax-and-information-security-10026
http://msdn2.microsoft.com/en-us/library/aa302417.aspx
Validation Problems
http://www.net-security.org/article.php?id=949&p=4
ASP.NET and Web Attacks
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/....
Cross Site Scripting
http://en.wikipedia.org/wiki/XSS
http://www.cgisecurity.com/articles/xss-faq.shtml
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/PAGHT000004.asp
http://getahead.ltd.uk/dwr/ajax/cross-domain-xhr
XSS and CSRF
http://sla.ckers.org/forum/read.php?3,3843,3871#msg-3871
http://en.wikipedia.org/wiki/CSRF
http://sla.ckers.org/forum/list.php?4
Anti XSS Library from Microsoft
http://www.microsoft.com/downloads/details.aspx?FamilyID=...
Anti CSRF Measures – ViewStateUserKey
www.blackhat.com/presentations/bh-usa-06/BH-US-06-Gallagher.pdf
http://msdn2.microsoft.com/en-US/library/system.web.ui.page.viewstateuserkey.aspx
Defense in Depth and ASP.NET Authentication/Authorization
http://cyberforge.com/weblog/aniltj/archive/2004/10/09/685.aspx
JS and CSS ‘history sniffing’
http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html
XMLHttpRequest Best Practices
http://www.devx.com/webdev/Article/28861
http://jeremiahgrossman.blogspot.com/2006/07/my-black-hat-usa-2006-presentation.html
http://www.darknet.org.uk/2006/04/ajax-is-your-application-secure-enough/
http://getahead.ltd.uk/dwr/ajax/cross-domain-xhr
Xml Poisoning
http://msdn2.microsoft.com/en-gb/library/system.xml.xmlreader.
canresolveentity(VS.80).aspx
http://msdn2.microsoft.com/en-gb/library/system.xml.xmlresolver(VS.80).aspx
http://msdn2.microsoft.com/en-gb/library/system.xml.xmlsecureresolver(VS.80).aspx
http://forumsystems.com/papers/Anatomy_of_Attack_wp.pdf
Microsoft Patterns and Practices: Improving Web Application Security – Threats and Countermeasures
http://msdn2.microsoft.com/en-us/library/ms994921.aspx
http://www.microsoft.com/downloads/details.aspx?FamilyId=....
Additional AJAX Attack Vectors
Posted on March 16, 2007 | Permalink | Comments (0) | TrackBack (0)
Here's your sweet science link of the quarter:
[Mars] has enough water ice at its south pole to blanket the entire planet in more than 30 feet of water if everything thawed out.
Go read the whole thing.
Posted on March 16, 2007 | Permalink | Comments (0) | TrackBack (0)
Well, I'm ashamed that it took so long, but it's finally here. (Feature creep, testing complexity, and just a serious lack of time (and *cough* lack of interest) have taken their toll, but I finally decided to dedicate some time and get this thing out the door.)
The Big Change
For most users, there's really one change that they'll want/love: When RDOS detects that the user making a request (POST, GET, etc.) is Authenticated, then there's no need to bother scrubbing input for possible spam.
Like the other changes/improvements in 3.1, this change is transparent - just drop the new 3.1 .dll into your site and you're done. (The downloads page provides binaries and source downloads - each of those downloads provides support for 1.1 sites and 2.0 sites.)
Other Changes
The other changes I've added are as follows:
Future
RDOS is dead.
Yup. It's true.
While RDOS has been a killer solution for my personal needs (it has saved me from countless hours of deleting referrer spam and comment spam), I'm done with it. Oh sure, it's still near and dear to my heart as a totally fun solution that has been fun to code (back when I had time), but given how long it took me to plunk out this latest version, I can't in any seriousness pretend that I'm going to do anything more with it.
If anyone wants to pick up the ball and run with RDOS, just let me know - I'm happy to codeplex it or what not. Otherwise, RDOS is still a killer solution for blocking referrer spam and other nuisances, but I really see Invisible CAPTCHAs being THE best solution for comment spam (at least until spammers figure out how to mimic the DOM).
Posted on March 14, 2007 | Permalink | Comments (1) | TrackBack (0)
If you haven't taken time to play with the new Expression line of tools provided by Microsoft, you should give them a try. I've been a pretty big fan of Macromedia's Dreamweaver for a few years - even though it has increasingly become more and more of a resource hog. But Microsoft's Expression Web is actually a full-on, viable, contender - which is HUGE, considering that it's a 1.0 release. Sure, it's got a couple of warts (all V1 software does), but I hands-down prefer it over Dreamweaver. Better yet, if you're an ASP.NET wonk, grab a trial of Expression Web today - as it will be the designer for Visual Studio Orcas. (Well, it would probably be more accurate to say that "Orcas" and Expression Web will be sharing a designer based on the same underlying core - I'm sure "Orcas" will heap on the additions/improvements.)
At any rate, Expression Web provides some really killer CSS functionality, and gives you a boat-load of options for managing styles, formatting, and so on. It REALLY does make the notion of using a designer/tool completely feasible when it comes to WYSWYG CSS - which is a major feat. They've also added some cool innovations in terms of dragging/resizing padding and margins, and so on.
How do I know all this? Well, I spent about a month actively working with the tool to create a Starter Kit for Expression Web. You can check it out on the Expression site at Microsoft.com - it's the Partner Portal Starter Kit. The idea for this starter kit was to take a 'CSS Zen Garden' approach to styling one ASP.NET page in a variety of different ways - using ONLY CSS.
NOTE: If you want to download the starter kit, make sure that you grab the password for the zip files on the download page.
Posted on March 14, 2007 | Permalink | Comments (2) | TrackBack (0)
If you are involved in .NET development and aren't subscribed to Scott Guthrie's blog, then make sure you zip over to his blog and read two of his latests posts on upcomming changes for C# (and VB.NET) in the "Orcas" timeframe:
Automatic Properties, Object Initializers, and Collection Initializers
Extension Methods
I got a sweet preview of these goodies at the ASPInsiders summit in December, but Scott does a great job of walking you through these new additions in a way that makes their strengths, motivations, and impact very easy to grok. The Extension Methods post, for example, will probably give you more of an overview of what LINQ is if you just follow-through it than any other resource out there - as it shows you exactly what LINQ 'comes from'. (That, and as you read about extension methods you'll see that it represents a killer new paradigm: All the benefits of 'rapid development' associated with dynamic languages/duck-typing (ala Ruby), but with strong-typing under the covers to ensure that your code is still very robust, and remains fast/scalable.)
Posted on March 13, 2007 | Permalink | Comments (0) | TrackBack (0)
Some might accuse me of Schadenfreude, but that's just not it. That said, I'm still giddy about the recent news that Viacom has decided to sue Google for $1 Billion.
I posted about this a bit before, but I feel really strongly about it: Google's revenue model with YouTube was based solely on theft. It was immoral, arrogant, and completely wrong, and I'm glad Viacom decided to call their bluff:
"YouTube's strategy has been to avoid taking proactive steps to curtail the infringement on its site," Viacom said in a statement. "Their business model, which is based on building traffic and selling advertising off of unlicensed content, is clearly illegal and is in obvious conflict with copyright laws." [link]
Amen.
Don't get me wrong - I think things like YouTube, etc could end up working. Google just went about it in a completely idiotic way: By parking their multi-billion $ company behind a start-up with a flawed business model. That business model: make $$ off of stolen works, and then try to 'entice' the owners of those works into some sort of negotiations for a 'cut' of the proceeds. That's like a guy breaking in to your house and stealing your TV, selling it on the market, and then offering to share profits (even DECENT ones) with you in order to be able to keep stealing your stuff.
Ideally something could probably have been worked out for a revenue sharing model that would benefit both parties - but Google/YouTube went about it in completely the wrong way, and violated copyright. I for one am just glad to see this greedy spirit of theft/stealing put in its place with a colossal lawsuit.
Posted on March 13, 2007 | Permalink | Comments (0) | TrackBack (0)
So, at the end of January, I posted about a clean/easy fix to getting ASP.NET AJAX and Url Rewriting working in tandem.
The approach was pretty simple: just create a new class that inherits from an ASP.NET Form control, and override its RenderAttributes method to 'inject' the location of the rewritten page. It only took a few lines of code, and (if using Master Pages) was pretty painless.
But Scott Guthrie came up with a better solution - using a Control Adapter. The benefits? Simple: you don't need to override any controls. Instead you just drop in a .browser file telling ASP.NET that you'd like to modify your output on the server for ASP.NET Form Controls on the way out, and you're basically done. That makes for a much cleaner option - and you don't need to worry about any problems in the designer that might arise from overridden controls.
Go check out his solution. He provides an excellent overview of how everything works, and even provides the sample code. He asked me to help him test it out to make sure it would meet my needs, and it literally took only 3 minutes to implement - so if you're doing any type of AJAX with ASP.NET 2.0 and need to implement url rewriting with ASP.NET or even with an ISAPI filter, this is the route to go.
Posted on March 12, 2007 | Permalink | Comments (1) | TrackBack (0)
connect
contact
syndication
archives
index
January 2012
September 2011
May 2010
September 2009
July 2009
June 2009
May 2009
April 2009
March 2009
January 2009
December 2008
November 2008
October 2008
September 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
November 2006
October 2006
September 2006
categories
.NET
AngryPets Tools
Annoyances
Development
I've got issues
Link Love
Misc.
MS Office Sux
News / Politics
Rants
Raves
Servers
SQL Server
Stupidities
Testing
That Internet Thing
Tutorials / Info
Virtualization
blogroll
Better Lemonade Mousetraps
Blue Phoenix
Eric.Weblog()
Frog Blog!
RepeatableRead
Robert Hensing's - Security
Seth's Blog
Slow and Tired
Structure Too Big
Technology Evangelism
recent comments
ben
eric
proviron
Oyunlar
Kendra Little
Dio
Ryan
Mark Boughter
Mike
Andrew
Anne
James
Michael K. Campbell
James
HH
SQL Server Hosting
Artur Emil
Michael R Roberts
eve isk
Md. Golam Rabbani