<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-21787259</id><updated>2011-07-07T19:41:09.298-04:00</updated><category term='Handlers'/><category term='flash'/><category term='ClickBot.A'/><category term='research'/><category term='Integrated Authentication'/><category term='hacks'/><category term='Single Sign On'/><category term='Botnets'/><category term='C# VB.NET Conversion'/><category term='C# 2.0'/><category term='Forms Authentication'/><category term='asp.net 2.0'/><category term='SSO'/><category term='IIS'/><category term='.NET'/><category term='SessionState'/><category term='C# 3.0'/><title type='text'>mustcodemore.com</title><subtitle type='html'>&lt;b&gt;by/par:&lt;/b&gt; mcmcom&lt;br&gt;
&lt;b&gt;current disciplines:&lt;/b&gt;  C#, .NET 1.1 / 2.0, T-SQL, Actionscript 2.0 / 3.0, LINQ, PHP, PERL, Javascript,
Interop between .net and anything.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21787259.post-1513860143290641537</id><published>2008-01-28T12:13:00.000-05:00</published><updated>2008-01-28T12:15:54.179-05:00</updated><title type='text'>Yay!</title><content type='html'>Striving to be #2&lt;br /&gt;&lt;a target="_blank" href="http://www.actionscript.org/news/314/winners-of-tutorial-competition-announced/"&gt;http://www.actionscript.org/news/314/winners-of-tutorial-competition-announced/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-1513860143290641537?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.actionscript.org/news/314/winners-of-tutorial-competition-announced/' title='Yay!'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/1513860143290641537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=1513860143290641537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1513860143290641537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1513860143290641537'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2008/01/yay.html' title='Yay!'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-1426221965374671995</id><published>2008-01-10T10:14:00.000-05:00</published><updated>2008-01-10T10:42:19.490-05:00</updated><title type='text'>Prototypes in Javascript</title><content type='html'>Extensibility has always been an important charastic of Object Oriented programming.  In JavaScript this is accomplished by using the prototype property. Using the prototype property one can extend both JavaScript's intrinsic object classes, as well as your own.  Once a class is extended all instances of said class will inherit whatever additional properties (or overridden properties) you create in your prototype.  &lt;br /&gt;&lt;br /&gt;Its a handy feature, especially for tracking activities.  Heres a simple example to extend a click event of an object in the DOM. &lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;SomeObject.prototype.click = function(e) { &lt;br /&gt;  //perform activity tracking here&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Basically your object "SomeObject" now has a modified click event, which (if you put some code in there) would perform your click tracking on a simple DTHML DOM element.  This can include a call to server side scripts to perform a database insert or write to a log file. &lt;br /&gt;&lt;br /&gt;Here is a link to a great multi-part article on prototyping in JavaScript :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.webreference.com/js/column34/index.html" target="_blank"&gt;http://www.webreference.com/js/column34/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-1426221965374671995?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.webreference.com/js/column34/index.html' title='Prototypes in Javascript'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/1426221965374671995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=1426221965374671995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1426221965374671995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1426221965374671995'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2008/01/prototypes-in-javascript.html' title='Prototypes in Javascript'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-3806661303446533306</id><published>2008-01-10T10:07:00.000-05:00</published><updated>2008-01-10T10:09:10.852-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickBot.A'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='Botnets'/><title type='text'>The Anatomy of Clickbot.A</title><content type='html'>Interesting article on both the impact of the ClickBot.A Botnet as well as source code from the botnet admin tool. This is a relatively low noise Botnet however it does have some interesting features that make it a bit more "interesting" than other BN's out there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-3806661303446533306?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.usenix.org/events/hotbots07/tech/full_papers/daswani/daswani.pdf' title='The Anatomy of Clickbot.A'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/3806661303446533306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=3806661303446533306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/3806661303446533306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/3806661303446533306'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2008/01/anatomy-of-clickbota.html' title='The Anatomy of Clickbot.A'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-5673091633494824175</id><published>2007-12-18T10:46:00.000-05:00</published><updated>2007-12-18T10:48:37.186-05:00</updated><title type='text'>IIS 7 + Access Control Error (HRESULT: 0x80070005)</title><content type='html'>IIS 7 was working fine, then it stopped working.  I was unable to debug sites running on IIS 7, furthermore i was not able to change any settings in IIS 7.  For some reason my folders were set back to read only.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.crowe.co.nz/archive/2007/08/24/IIS7-Access-Denied-when-using-the-IIS-7-Manager.aspx"&gt;http://blog.crowe.co.nz/archive/2007/08/24/IIS7-Access-Denied-when-using-the-IIS-7-Manager.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-5673091633494824175?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.crowe.co.nz/archive/2007/08/24/IIS7-Access-Denied-when-using-the-IIS-7-Manager.aspx' title='IIS 7 + Access Control Error (HRESULT: 0x80070005)'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/5673091633494824175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=5673091633494824175' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5673091633494824175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5673091633494824175'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/12/iis-7-access-control-error-hresult.html' title='IIS 7 + Access Control Error (HRESULT: 0x80070005)'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-5992836799943252500</id><published>2007-11-28T10:09:00.000-05:00</published><updated>2007-11-28T10:12:02.581-05:00</updated><title type='text'>Tutorial on Actionscript.org</title><content type='html'>i have just submitted my first tutorial on Actionscript.org.  Its called :&lt;br /&gt;&lt;br /&gt;Basic Activity Tracking with Flash, Actionscript 2.0 and ASP.NET 2.0.&lt;br /&gt;&lt;br /&gt;It shows the user how to interoperate between flash and ASP.NET in order to track activities like button clicks or roll overs in a flash movie.  In this example i store these activities in a SQL Server Database.&lt;br /&gt;&lt;br /&gt;The article touches on basic OOP Principals as well as creating a C# Application to house your flash movies.&lt;br /&gt;&lt;br /&gt;http://www.actionscript.org/resources/articles/703/1/Basic-Activity-Tracking-with-Flash-Actionscript-20-and-ASPNET-20/Page1.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-5992836799943252500?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.actionscript.org/resources/articles/703/1/Basic-Activity-Tracking-with-Flash-Actionscript-20-and-ASPNET-20/Page1.html' title='Tutorial on Actionscript.org'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/5992836799943252500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=5992836799943252500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5992836799943252500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5992836799943252500'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/11/tutorial-on-actionscriptorg.html' title='Tutorial on Actionscript.org'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-7107375680167023933</id><published>2007-11-27T12:12:00.000-05:00</published><updated>2007-11-27T12:14:54.369-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integrated Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='Forms Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Single Sign On'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><title type='text'>Mixing Forms and Windows Authentication in ASP.NET</title><content type='html'>This blog posts shows how a user enabled Single Sign On (SSO) for two web apps that mixed both Forms Authentication and IIS Integrated Security.  Its a pretty good solution for this problem. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pluralsight.com/blogs/craig/archive/2004/07/24/1699.aspx"&gt;http://www.pluralsight.com/blogs/craig/archive/2004/07/24/1699.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-7107375680167023933?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pluralsight.com/blogs/craig/archive/2004/07/24/1699.aspx' title='Mixing Forms and Windows Authentication in ASP.NET'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/7107375680167023933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=7107375680167023933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7107375680167023933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7107375680167023933'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/11/mixing-forms-and-windows-authentication.html' title='Mixing Forms and Windows Authentication in ASP.NET'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-785892869702238327</id><published>2007-10-01T15:02:00.000-04:00</published><updated>2007-10-01T15:09:02.170-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Handlers'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SessionState'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net 2.0'/><title type='text'>Session State in a Handler File</title><content type='html'>For a project we're working on we need to use HttpHandlers to do a lot of the heavy lifting when a user first comes to a site.  The handlers help us determine what "type" of user it is and help us fork off processes and objects to different pages or applications based on a number of inputs (which the handler gets).&lt;br /&gt;&lt;br /&gt;Working with this was going well until i needed to supply a constructor a sessionId.  No problem i gave it a bit of the old : &lt;br /&gt;&lt;br /&gt;context.Session.SessionId; &lt;br /&gt;&lt;br /&gt;To my dismay i realized that the entire sessioin object was null.  Because the handler file intercepts the request before the asp.net frameword processes it there is no session information available (see ISAPI Extensions).  What to do? What to do?!?!&lt;br /&gt;&lt;br /&gt;Of course i sent a post out to a forum and then minutes after posting it figured it out myself.  The key is to make your HttpHandler implement the IRequiresSessionState interface.   This interface allows the Handler to write or read from the Session state.  &lt;br /&gt;&lt;br /&gt;There are two options for this interface (and it needs no construct) &lt;br /&gt;&lt;br /&gt;IRequiresSessionState - Read and Write access to session object &lt;br /&gt;IReadOnlySessionState - Read only access to session object. &lt;br /&gt;&lt;br /&gt;Implementation is quite simple.  Take a simple Handler Code class and add the following using statement: &lt;br /&gt;&lt;br /&gt;using System.Web.SessionState;&lt;br /&gt;&lt;br /&gt;Then inherit the class from the Interface (as well as your handler interface) &lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt; public class BaseHandler : IHttpHandler, IRequiresSessionState  &lt;br /&gt;{&lt;br /&gt;        public virtual void ProcessRequest(HttpContext context)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public bool IsReusable&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                return false;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Pretty easy huh?  And now its session enabled so i can pass my objects to my page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-785892869702238327?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn2.microsoft.com/en-us/library/system.web.sessionstate.irequiressessionstate(vs.80).aspx' title='Session State in a Handler File'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/785892869702238327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=785892869702238327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/785892869702238327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/785892869702238327'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/10/session-state-in-handler-file.html' title='Session State in a Handler File'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-2756690536571752933</id><published>2007-09-26T16:33:00.000-04:00</published><updated>2007-09-26T16:39:49.426-04:00</updated><title type='text'>SQLSafe Method for C#</title><content type='html'>We created this utility method a while back to help us provide another layer of security for SQL Injection attacks.  Basically its a tiny little method that takes up to three parameters. It is used to trim a string to a specified length (generally the length of your database field) and throw an error if you want it too.&lt;br /&gt;&lt;br /&gt;Parm 1.  The string to evaluate and trim if necessary&lt;br /&gt;Parm 2.  The max length of the string&lt;br /&gt;Parm 3.  Thow an exception or not.&lt;br /&gt;&lt;br /&gt;Heres the two methods (one with an override)&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Returns a string with single quotes escaped to protect against SQL injection attacks&lt;br /&gt;        /// &lt;br /&gt;        /// This method will throw an exception if the supplied string's length is greater than maxlen&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;s&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;maxlen&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;        public static string SqlSafe(string s,int maxlen)&lt;br /&gt;        {&lt;br /&gt;            return SqlSafe(s,maxlen,false);&lt;br /&gt;        }&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Returns a string with single quotes escaped to protect against SQL injection attacks&lt;br /&gt;        /// &lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;s&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;maxlen&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;ThrowExceptionOnTruncate&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;        public static string SqlSafe(string s,int maxlen,bool ThrowExceptionOnTruncate)&lt;br /&gt;        {&lt;br /&gt;            if(s==null)&lt;br /&gt;            {&lt;br /&gt;                return &amp;quot;&amp;quot;;&lt;br /&gt;            }&lt;br /&gt;            if(ThrowExceptionOnTruncate &amp;amp;&amp;amp; s.Length&amp;gt;maxlen)&lt;br /&gt;            {&lt;br /&gt;                throw new Exception(&amp;quot;StringTools.SqlSafe string exceeds maximum length&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;            //replace apostrophies AFTER truncation &lt;br /&gt;            //(the doubles don't count for field length)&lt;br /&gt;            return Truncate(s,maxlen).Replace(&amp;quot;'&amp;quot;,&amp;quot;''&amp;quot;);&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So this method is called from anywhere (usually i put it right in a parameter going to a SQL DataSource or some Object Data source right before insert or update). &lt;br /&gt;Just call it like this &lt;br /&gt;&lt;code&gt;&lt;br /&gt;SBX.StringTools.SqlSafe(HttpContext.Current.Request.UserAgent.ToString(), 255);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In this example i have the SqlSafe method in a static class called SBX.StringTools. If you are going to use this put it in whatever framework class libraries you utilize in your web or forms apps.  That way you can re-use it quickly and easily. &lt;br /&gt;&lt;br /&gt;mcm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-2756690536571752933?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/2756690536571752933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=2756690536571752933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2756690536571752933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2756690536571752933'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/sqlsafe-method-for-c.html' title='SQLSafe Method for C#'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-6858952332334236185</id><published>2007-09-26T16:30:00.001-04:00</published><updated>2007-09-26T16:30:37.244-04:00</updated><title type='text'>My Goodness - Blogger Code Formatting!</title><content type='html'>And its IN a Blogger Blog! Doesn't that just blow your mind?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://formatmysourcecode.blogspot.com/"&gt;http://formatmysourcecode.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-6858952332334236185?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://formatmysourcecode.blogspot.com/' title='My Goodness - Blogger Code Formatting!'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/6858952332334236185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=6858952332334236185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/6858952332334236185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/6858952332334236185'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/my-goodness-blogger-code-formatting.html' title='My Goodness - Blogger Code Formatting!'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-5771711863693259942</id><published>2007-09-26T16:12:00.000-04:00</published><updated>2007-09-26T16:29:49.319-04:00</updated><title type='text'>How to tell if a posted file is really an image</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;This is a useful method to determine if a file posted for upload (via HTTP) is actually an image. This was created in .net 1.1 but also works in 2.0 without any modifications.&lt;br /&gt;&lt;br /&gt;Heres a bit of background. Anyone can change the content type of a file before posting it. Its as simple as changing an extension of a file to something your looking for. So if someone wanted to upload a malicious program or file they could simply change the extension to an images extension (in this case) and upload something that .net initially thinks is an image but really is not.&lt;br /&gt;&lt;br /&gt;All this method does is read the first 64 bytes of data from the posted file and compares the data in the header to determine if its an image. It takes a byte array as an input and returns either true or false to the calling method.&lt;br /&gt;&lt;br /&gt;&lt;pre style="BORDER-RIGHT: #999999 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: #999999 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: #999999 1px dashed; WIDTH: 100%; COLOR: #000000; LINE-HEIGHT: 14px; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px dashed; FONT-FAMILY: Andale Mono, Lucida Console, Monaco, fixed, monospace; BACKGROUND-COLOR: #eee"&gt;&lt;code&gt;public bool IsImage(byte[] data)&lt;br /&gt;{&lt;br /&gt;    //read 64 bytes of the stream only to determine the type&lt;br /&gt;        string myStr = System.Text.Encoding.ASCII.GetString(data).Substring(0, 16);&lt;br /&gt;        //check if its definately an image.&lt;br /&gt;        if (myStr.Substring(8, 2).ToString().ToLower() != "if")&lt;br /&gt;        {&lt;br /&gt;         //its not a jpeg&lt;br /&gt;         if (myStr.Substring(0, 3).ToString().ToLower() != "gif")&lt;br /&gt;             {&lt;br /&gt;                //its not a gif&lt;br /&gt;                if (myStr.Substring(0, 2).ToString().ToLower() != "bm")&lt;br /&gt;                {&lt;br /&gt;                   //its not a .bmp&lt;br /&gt;                   if (myStr.Substring(0, 2).ToString().ToLower() != "ii")&lt;br /&gt;                   {&lt;br /&gt;                       myStr = null;&lt;br /&gt;                       return false;&lt;br /&gt;                   }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        myStr = null;&lt;br /&gt;        return true;&lt;br /&gt; }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thats really all there is to it. Once this is in place you can actually add more if statements to look for more image types (like .tiff, etc). The reason we dont use a switch statement for this is because for different image formats the "identifying byte(s)" are located in different index positions. So to add more images you will have to dig around the net a bit finding out about what header bytes identify different images.&lt;br /&gt;&lt;br /&gt;hope this helps someone out,&lt;br /&gt;mcm.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-5771711863693259942?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/5771711863693259942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=5771711863693259942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5771711863693259942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5771711863693259942'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/how-to-tell-if-posted-file-is-really.html' title='How to tell if a posted file is really an image'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-5418125596365580119</id><published>2007-09-26T15:05:00.000-04:00</published><updated>2007-09-26T15:10:40.723-04:00</updated><title type='text'>ASP.NET 2.0 Roles and Memberships</title><content type='html'>ASP.NET's Role management and membership providers are really, really easy to use and configure (once you figure out how to set up the database) &lt;br /&gt;&lt;br /&gt;This article from 4Guys really helped me set it up properly and now that its up its quite easy to port and use for other applications.  The design of it actually lets you use one Database to manage security and roles for several applications. &lt;br /&gt;&lt;br /&gt;The only unfortunate part about these Roles and membership things is that the default web controls (specifically LoginView) are not really scalable.  If you plan on having an ever growing list of roles and users you may not want to use these types of controls and instead programmaticlly control access to pages and page elements (see gridviews / formviews).  This can be done pretty easily with the use of a secured page base class that you can inherit from. &lt;br /&gt;&lt;br /&gt;Anyways, check the article &lt;a href="http://aspnet.4guysfromrolla.com/articles/120705-1.aspx"&gt;http://aspnet.4guysfromrolla.com/articles/120705-1.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;mcm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-5418125596365580119?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://aspnet.4guysfromrolla.com/articles/120705-1.aspx' title='ASP.NET 2.0 Roles and Memberships'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/5418125596365580119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=5418125596365580119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5418125596365580119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/5418125596365580119'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/aspnet-20-roles-and-memberships.html' title='ASP.NET 2.0 Roles and Memberships'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-9146543799857803083</id><published>2007-09-26T15:02:00.000-04:00</published><updated>2007-09-26T15:04:26.099-04:00</updated><title type='text'>Image Uploading to a UNC Share w/ Impersonation</title><content type='html'>This topic has helped me countless times.  Think about full separation of an admin area from a front-end site.  If you have to upload images this is a good way to go about it.  It's really either this way or some sort of service that copies uploaded images to the other app directory.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://aspalliance.com/336"&gt;http://aspalliance.com/336&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-9146543799857803083?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://aspalliance.com/336' title='Image Uploading to a UNC Share w/ Impersonation'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/9146543799857803083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=9146543799857803083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/9146543799857803083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/9146543799857803083'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/image-uploading-to-unc-share-w.html' title='Image Uploading to a UNC Share w/ Impersonation'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-94307630117362631</id><published>2007-09-26T10:45:00.000-04:00</published><updated>2007-09-26T10:46:43.923-04:00</updated><title type='text'>GROUP BY in a DataTable</title><content type='html'>this one helped me out a while back&lt;br /&gt;&lt;a href="http://weblogs.sqlteam.com/davidm/archive/2004/05/20/1351.aspx"&gt;http://weblogs.sqlteam.com/davidm/archive/2004/05/20/1351.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Expressions that can be formulated for a calculated column in a DataTable are a very handy thing. The problem is the aggregation operators only work for a parent-child relationship.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-94307630117362631?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.sqlteam.com/davidm/archive/2004/05/20/1351.aspx' title='GROUP BY in a DataTable'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/94307630117362631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=94307630117362631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/94307630117362631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/94307630117362631'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/group-by-in-datatable.html' title='GROUP BY in a DataTable'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-2422244877516552663</id><published>2007-09-26T10:44:00.000-04:00</published><updated>2007-09-26T10:45:04.608-04:00</updated><title type='text'>Optimizing ASP.NET 2.0 Web Project Build Performance (VS 2005)</title><content type='html'>This posts covers how to best optimize the build performance with Visual Studio 2005 when using web projects.  If you are experiencing slow builds or want to learn how to speed them up please read on.&lt;br /&gt;&lt;br /&gt;http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-2422244877516552663?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx' title='Optimizing ASP.NET 2.0 Web Project Build Performance (VS 2005)'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/2422244877516552663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=2422244877516552663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2422244877516552663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2422244877516552663'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/09/optimizing-aspnet-20-web-project-build.html' title='Optimizing ASP.NET 2.0 Web Project Build Performance (VS 2005)'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-1987920702425307711</id><published>2007-06-20T14:20:00.001-04:00</published><updated>2007-06-20T14:20:55.779-04:00</updated><title type='text'>AJAX search page</title><content type='html'>This is just a test page im working on using the Google AJAX Search API. &lt;br /&gt;&lt;br /&gt;http://search.mustcodemore.com. &lt;br /&gt;&lt;br /&gt;No Enter Key.  I love it!&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-1987920702425307711?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://search.mustcodemore.com' title='AJAX search page'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/1987920702425307711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=1987920702425307711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1987920702425307711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1987920702425307711'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/06/ajax-search-page.html' title='AJAX search page'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-7778999770403631851</id><published>2007-06-20T14:19:00.000-04:00</published><updated>2007-06-20T14:20:05.830-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# VB.NET Conversion'/><title type='text'>Convert VB to C# and vice versa</title><content type='html'>Pretty Neat Conversion util. &lt;br /&gt;&lt;br /&gt;http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-7778999770403631851?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx' title='Convert VB to C# and vice versa'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/7778999770403631851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=7778999770403631851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7778999770403631851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7778999770403631851'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/06/convert-vb-to-c-and-vice-versa.html' title='Convert VB to C# and vice versa'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-4394075869426510810</id><published>2007-06-12T16:10:00.000-04:00</published><updated>2007-06-12T16:12:35.376-04:00</updated><title type='text'>PerfMonG - Minimalistic performance monitoring tool which sits on your desktop.</title><content type='html'>I contributed to this.  Helped add some features.  It's pretty sweet now! Give it a try!&lt;br /&gt;&lt;br /&gt;http://code.google.com/p/perfmong/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-4394075869426510810?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.google.com/p/perfmong/' title='PerfMonG - Minimalistic performance monitoring tool which sits on your desktop.'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/4394075869426510810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=4394075869426510810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/4394075869426510810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/4394075869426510810'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/06/perfmong-minimalistic-performance.html' title='PerfMonG - Minimalistic performance monitoring tool which sits on your desktop.'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-6392391008190129000</id><published>2007-06-08T13:13:00.000-04:00</published><updated>2007-06-08T13:14:32.395-04:00</updated><title type='text'>Sliced The Movie</title><content type='html'>Check out this trailer.  Wicked!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-6392391008190129000?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.slicedthemovie.com' title='Sliced The Movie'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/6392391008190129000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=6392391008190129000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/6392391008190129000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/6392391008190129000'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/06/sliced-movie.html' title='Sliced The Movie'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-3882388994384194628</id><published>2007-04-13T16:47:00.000-04:00</published><updated>2007-04-13T16:48:44.071-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><title type='text'>Lambda Expressions and Examples</title><content type='html'>Anonymous Methods to Lambda Expressions&lt;br /&gt;Pretty neat stuff, C# 3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-3882388994384194628?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/csharp/lambdaexpressions.asp' title='Lambda Expressions and Examples'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/3882388994384194628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=3882388994384194628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/3882388994384194628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/3882388994384194628'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/04/lambda-expressions-and-examples.html' title='Lambda Expressions and Examples'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-7941909861302761701</id><published>2007-04-13T14:44:00.000-04:00</published><updated>2007-04-13T14:50:46.403-04:00</updated><title type='text'>Removing the Flash Player Plug-in on a Macintosh</title><content type='html'>Recently i had to test some javascript flash detection scripts we are using to swap out flash content if a user does not have flash. &lt;br /&gt;&lt;br /&gt;I downloaded the Macormedia Flash Detection Kit and incorpoated the scripts into a utils.js file i had for my application.&lt;br /&gt;It all seemed to work fine, rendering the flash content across all browsers on both PC's and MAC's. &lt;br /&gt;&lt;br /&gt;I removed the Flash Player from my PC easily enough, using another MM official un-installer and re-tested.  Voila my JS rendered a nice img tag in place of the flash movie.  Sweet.&lt;br /&gt;&lt;br /&gt;So i moved over to our beast G5 and removed flash using the MAC version of the MM official un-installer. I then went to our staging site and was greeted with the Safari error message "This webpage attempted to load the Shockwave Flash Player plug-in but failed" (or something like that).  &lt;br /&gt;&lt;br /&gt;After a couple hours of spinning my wheels i threw some alerts into the MM javascripts.  What did i find but the scripts were still detecting the flash plugin as being there.   So the MM un-installer did not completely remove the plug-in. &lt;br /&gt;&lt;br /&gt;I located the plug-in at : LIBRARY &gt; INTERNET PLUG-INS &lt;br /&gt;and manually removed the file : Flash Player.Enabler.plugin which the MM unistaller does not remove. &lt;br /&gt;&lt;br /&gt;Thats that now the MAC displays the gif backup images in place of the Flash file, and it wasn't my code after all! (for once!)&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-7941909861302761701?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/7941909861302761701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=7941909861302761701' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7941909861302761701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/7941909861302761701'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/04/removing-flash-player-plug-in-on.html' title='Removing the Flash Player Plug-in on a Macintosh'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-2032121027983855134</id><published>2007-04-02T15:46:00.001-04:00</published><updated>2007-04-02T15:46:49.104-04:00</updated><title type='text'>Deep linking to flash from HTML</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;Someone needed this today:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://probertson.com/articles/2006/12/14/deep-linking-flash-application-states/"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://probertson.com/articles/2006/12/14/deep-linking-flash-application-states/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-2032121027983855134?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://probertson.com/articles/2006/12/14/deep-linking-flash-application-states/' title='Deep linking to flash from HTML'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/2032121027983855134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=2032121027983855134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2032121027983855134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/2032121027983855134'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/04/deep-linking-to-flash-from-html.html' title='Deep linking to flash from HTML'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-8166592767073854557</id><published>2007-04-02T11:30:00.000-04:00</published><updated>2007-04-02T11:31:49.015-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Flash Hacks from O'Rielly</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;Found this interesting article off actionscript.org.  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;thought it's worth posting although its O'rielly sample chapters the tips and tricks can help any Flasher out. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.actionscript.org/resources/articles/579/1/Flash-Hacks/Page1.html"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.actionscript.org/resources/articles/579/1/Flash-Hacks/Page1.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;mcm&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-8166592767073854557?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.actionscript.org/resources/articles/579/1/Flash-Hacks/Page1.html' title='Flash Hacks from O&apos;Rielly'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/8166592767073854557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=8166592767073854557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/8166592767073854557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/8166592767073854557'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/04/flash-hacks-from-orielly.html' title='Flash Hacks from O&apos;Rielly'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-8859811996528385341</id><published>2007-04-02T11:21:00.000-04:00</published><updated>2007-04-02T11:22:55.267-04:00</updated><title type='text'>New Site Launch</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;Redux Media&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.reduxmedia.com"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.reduxmedia.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Html, Css, Splash of Flash, Touch of PHP.&lt;/em&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;designed by the Brazilian and produced by MCM-COM&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-8859811996528385341?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.reduxmedia.com' title='New Site Launch'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/8859811996528385341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=8859811996528385341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/8859811996528385341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/8859811996528385341'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/04/new-site-launch.html' title='New Site Launch'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-1904243135437266047</id><published>2007-02-02T14:38:00.000-05:00</published><updated>2007-02-02T14:39:23.548-05:00</updated><title type='text'>Wii-mote Wrapper and Demo</title><content type='html'>this is just great! &lt;br /&gt;hooking the WiiMote into a wrapper class and using it for flash polling. &lt;br /&gt;&lt;br /&gt;Endless flash wii-mote gaming possibilities.&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-1904243135437266047?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.je2050.de/?p=102' title='Wii-mote Wrapper and Demo'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/1904243135437266047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=1904243135437266047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1904243135437266047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/1904243135437266047'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/02/wii-mote-wrapper-and-demo.html' title='Wii-mote Wrapper and Demo'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-117017426866026964</id><published>2007-01-30T11:24:00.001-05:00</published><updated>2007-01-30T11:24:28.670-05:00</updated><title type='text'>Unicode and Character Sets</title><content type='html'>Great article on Unicode albiet it was written 4 years ago.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-117017426866026964?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.joelonsoftware.com/articles/Unicode.html' title='Unicode and Character Sets'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/117017426866026964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=117017426866026964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/117017426866026964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/117017426866026964'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2007/01/unicode-and-character-sets.html' title='Unicode and Character Sets'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-116423637674455051</id><published>2006-11-22T17:56:00.000-05:00</published><updated>2006-11-22T17:59:36.763-05:00</updated><title type='text'>Adobe Certified Flash 8 Developer</title><content type='html'>Yesterday i took and passed the Adobe certification exam for Macromedia Flash 8. &lt;br /&gt;Overall the exam went pretty well and i got a good mark.  So i am now an Adobe ACE (i think) for MM Flash 8.  One thing to note for anyone going to take the exam is this Flash 8 exam is a combination of both design and development disciplines.  Unlike the Flash MX 2004 Exams or previous flash exams, there is no "Designer" or "Developer" route to go down, both are in one exam.  So make sure to brush up on your development and coding if you are a designer or brush up on your design if you are a developer. &lt;br /&gt;&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-116423637674455051?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/116423637674455051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=116423637674455051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116423637674455051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116423637674455051'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/11/adobe-certified-flash-8-developer.html' title='Adobe Certified Flash 8 Developer'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-116412503256069136</id><published>2006-11-21T11:03:00.000-05:00</published><updated>2006-11-21T11:16:05.383-05:00</updated><title type='text'>Free Web Services</title><content type='html'>this forum post from actionscript.org has many, many free web services available that you can use from flash. &lt;br /&gt;&lt;br /&gt;AS.Org link: &lt;a href="http://www.actionscript.org/forums/showthread.php3?t=70742"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;more web services &lt;a href="http://www.bindingpoint.com/"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and &lt;a href="http://www.xmethods.net/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;mcm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-116412503256069136?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.actionscript.org/forums/showthread.php3?t=70742' title='Free Web Services'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/116412503256069136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=116412503256069136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116412503256069136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116412503256069136'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/11/free-web-services.html' title='Free Web Services'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-116250442130012713</id><published>2006-11-02T16:52:00.000-05:00</published><updated>2006-11-02T16:53:41.310-05:00</updated><title type='text'>Protecting .swf files</title><content type='html'>This link has an interesting article about protecting your .swf files.  We all know that you cant really completely protect your .swf files, and i have never met a .swf i can't crack.  But there are a few good points about how you can make it more secure, and what NOT to put inside it. &lt;br /&gt;&lt;br /&gt;http://www.gotoandplay.it/_articles/2004/04/swfProtection.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-116250442130012713?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gotoandplay.it/_articles/2004/04/swfProtection.php' title='Protecting .swf files'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/116250442130012713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=116250442130012713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116250442130012713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/116250442130012713'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/11/protecting-swf-files.html' title='Protecting .swf files'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-115636060404961817</id><published>2006-08-23T15:16:00.000-04:00</published><updated>2006-08-23T15:16:44.063-04:00</updated><title type='text'>A little COM can really mess up a XCOPY day</title><content type='html'>.net article.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-115636060404961817?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ddj.com/blog/windowsblog/archives/2006/08/a_little_com_ca.html' title='A little COM can really mess up a XCOPY day'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/115636060404961817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=115636060404961817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/115636060404961817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/115636060404961817'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/08/little-com-can-really-mess-up-xcopy.html' title='A little COM can really mess up a XCOPY day'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-115107219218497132</id><published>2006-06-23T10:15:00.000-04:00</published><updated>2006-06-23T10:16:32.196-04:00</updated><title type='text'>blinq</title><content type='html'>&lt;span style="font-family:arial;"&gt;asp.net released a new tool recently called blinq.  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;heres an excerpt:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema. Just point Blinq at a SQL database and it will create a website with pages that display sorted and paged data, allow you to update or delete records, create new records, and follow relationships between tables in your database. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show. Blinq uses the May LINQ Community Tech Preview to access data. The code Blinq creates is simple and easy to customize to fit your needs. Everything in the website Blinq creates is meant as a starting point for a website that meets your needs perfectly, so have fun customizing the pages, experimenting with the code, and making it yours!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.asp.net/sandbox/app_blinq.aspx?tabid=62"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;http://www.asp.net/sandbox/app_blinq.aspx?tabid=62&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-115107219218497132?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.asp.net/sandbox/app_blinq.aspx?tabid=62' title='blinq'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/115107219218497132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=115107219218497132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/115107219218497132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/115107219218497132'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/06/blinq.html' title='blinq'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-114305135181103591</id><published>2006-03-22T13:13:00.000-05:00</published><updated>2006-03-22T13:17:56.826-05:00</updated><title type='text'>RFID Security Report</title><content type='html'>&lt;p&gt;&lt;a href="http://reviews.cnet.com/4520-3513_7-6466679-1.html"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://reviews.cnet.com/4520-3513_7-6466679-1.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Its on CNet, it's about RFID, and it regards Security.  You should read it.&lt;br /&gt;Just remember, good programming means taking care of things like this.  But, i predict&lt;br /&gt;within one year, RFID support hardware makers will include software to check for injection attacks, etc in the conduit firmware.  &lt;em&gt;They should, anyways.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-114305135181103591?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://reviews.cnet.com/4520-3513_7-6466679-1.html' title='RFID Security Report'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/114305135181103591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=114305135181103591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114305135181103591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114305135181103591'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/03/rfid-security-report.html' title='RFID Security Report'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-114253147566645521</id><published>2006-03-16T12:49:00.000-05:00</published><updated>2006-03-16T12:51:15.680-05:00</updated><title type='text'>Targets and Paths with Actionscript</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;Probably the most common question asked to me by someone learning Actionscript goes like this:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;em&gt;"My movie clip moved across the screen fine yesterday, but now that i've loaded it into another movie, it doesn't work! What did i do wrong? Nothing's changed!"  &lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Well, almost nothing.  Something changed, the addressing of your clips.  Lets learn why: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.learnthat.com/computers/learn.asp?id=2064&amp;index=11"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.learnthat.com/computers/learn.asp?id=2064&amp;amp;index=11&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-114253147566645521?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.learnthat.com/computers/learn.asp?id=2064&amp;index=11' title='Targets and Paths with Actionscript'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/114253147566645521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=114253147566645521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114253147566645521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114253147566645521'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/03/targets-and-paths-with-actionscript.html' title='Targets and Paths with Actionscript'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-114230701130655751</id><published>2006-03-13T22:09:00.000-05:00</published><updated>2006-04-01T21:39:17.983-05:00</updated><title type='text'>AS 2.0 example of a unique id builder</title><content type='html'>&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#333399;"&gt;//06.13.06&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#333399;"&gt;function&lt;/span&gt; GenerateString(strLng:&lt;span style="color:#333399;"&gt;Number&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:#333399;"&gt;var&lt;/span&gt; resultString = ""; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#33cc00;"&gt;//cheated a bit with the array, could do something more elegant to deal with case sensitivity&lt;/span&gt;&lt;br /&gt;var alphabet:&lt;span style="color:#333399;"&gt;Array&lt;/span&gt; = &lt;span style="color:#333399;"&gt;new&lt;/span&gt; &lt;span style="color:#333399;"&gt;Array&lt;/span&gt;&lt;span style="font-size:78%;"&gt;("a", "b", "c", "d", "e", "f", "g", "h", "i", "j","k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" , "A" , "B", "C", "D", "E", "F", "G", "H","I", "J", "K", "L", "M", "N", "O", "P", "Q", "R" , "S", "T", "U", "V", "W", "X", "Y", "Z"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;br /&gt;for (&lt;span style="color:#333399;"&gt;var&lt;/span&gt; i = 0; i &lt; color="#333399"&gt;length&lt;/span&gt;; ++i){ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#33cc00;"&gt;//first decide to make a # or a Letter&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#330099;"&gt;var&lt;/span&gt; tmp = &lt;span style="color:#333399;"&gt;Math.round&lt;/span&gt;(&lt;span style="color:#333399;"&gt;Math.ceil&lt;/span&gt;(&lt;span style="color:#333399;"&gt;Math.random&lt;/span&gt;()*2));&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//1 = letter - pick uCase or lCase&lt;/span&gt;&lt;br /&gt;if (tmp == 1) {&lt;br /&gt;&lt;span style="color:#333399;"&gt;var&lt;/span&gt; j = &lt;span style="color:#333399;"&gt;Math.round&lt;/span&gt;(&lt;span style="color:#333399;"&gt;Math.ceil&lt;/span&gt;(&lt;span style="color:#333399;"&gt;Math.random&lt;/span&gt;()*alphabet.&lt;span style="color:#330099;"&gt;length&lt;/span&gt; - 1));&lt;br /&gt;resultString += alphabet[j];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#33cc00;"&gt;//2 = a number&lt;/span&gt;&lt;br /&gt;if (tmp == 2) {&lt;br /&gt;&lt;span style="color:#333399;"&gt;var&lt;/span&gt; k = &lt;span style="color:#333399;"&gt;Math.round(Math.ceil&lt;/span&gt;(&lt;span style="color:#333399;"&gt;Math.random&lt;/span&gt;()*9));&lt;br /&gt;resultString += k;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//you could just return this to the calling method instead...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#333399;"&gt;return&lt;/span&gt; resultString;&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-114230701130655751?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/114230701130655751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=114230701130655751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114230701130655751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114230701130655751'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/03/as-20-example-of-unique-id-builder.html' title='AS 2.0 example of a unique id builder'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-114195693219627757</id><published>2006-03-09T21:14:00.000-05:00</published><updated>2006-03-09T21:16:10.903-05:00</updated><title type='text'>Three Ways to Inject Your Code into Another Process</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;How to inject code into another processes address space, and then execute it in the context of this process.&lt;br /&gt;from codeproject.com&lt;br /&gt;&lt;br /&gt;good read.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-114195693219627757?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/threads/winspy.asp' title='Three Ways to Inject Your Code into Another Process'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/114195693219627757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=114195693219627757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114195693219627757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114195693219627757'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/03/three-ways-to-inject-your-code-into.html' title='Three Ways to Inject Your Code into Another Process'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-114184045604306969</id><published>2006-03-08T12:53:00.000-05:00</published><updated>2006-03-08T12:54:16.063-05:00</updated><title type='text'>Using XML Comments in your C# Code</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-114184045604306969?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/msdnmag/issues/02/06/XMLC/' title='Using XML Comments in your C# Code'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/114184045604306969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=114184045604306969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114184045604306969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/114184045604306969'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/03/using-xml-comments-in-your-c-code.html' title='Using XML Comments in your C# Code'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113951335396559568</id><published>2006-02-09T14:28:00.000-05:00</published><updated>2006-02-09T14:29:13.976-05:00</updated><title type='text'>What is RFID?</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;RFID (Radio Frequency Identification) is quickly becoming a popular choice among manufactureres.  Find out all about it here: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.rfidjournal.com/article/articleview/1339/1/129/"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.rfidjournal.com/article/articleview/1339/1/129/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113951335396559568?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.rfidjournal.com/article/articleview/1339/1/129/' title='What is RFID?'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/113951335396559568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=113951335396559568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113951335396559568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113951335396559568'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/02/what-is-rfid.html' title='What is RFID?'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113932819066356824</id><published>2006-02-07T11:01:00.000-05:00</published><updated>2006-02-07T11:03:10.673-05:00</updated><title type='text'>Securing an ASP.NET Application with integrated IIS Security</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;ASP.NET can be used together with Microsoft Internet Information Services (IIS) to authenticate Web users based on their Microsoft Windows 2000 or Windows Server 2003 user account credentials. The ASP.NET execution engine can also be configured to impersonate Web users, or to use its own Windows identity when it accesses resources such as databases or files.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dnzone.com/ShowDetail.asp?NewsId=504"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.dnzone.com/ShowDetail.asp?NewsId=504&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.dnzone.com/ShowDetail.asp?NewsId=504"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113932819066356824?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dnzone.com/ShowDetail.asp?NewsId=504' title='Securing an ASP.NET Application with integrated IIS Security'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/113932819066356824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=113932819066356824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113932819066356824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113932819066356824'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/02/securing-aspnet-application-with.html' title='Securing an ASP.NET Application with integrated IIS Security'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113890704290187303</id><published>2006-02-02T14:01:00.000-05:00</published><updated>2006-03-09T21:21:07.276-05:00</updated><title type='text'>SQL Find Duplicates Query</title><content type='html'>&lt;span style="font-family:arial;"&gt;Needed this today. Finds all occurences of a specified field that occurs more than once (or whatever number you want to replace)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt; &lt;div style="BACKGROUND-COLOR: #cccccc"&gt; &lt;span style="color:#330099;"&gt;SELECT&lt;/span&gt; email,&lt;br /&gt;&lt;span style="color:#330099;"&gt;COUNT&lt;/span&gt;(email) AS NumOccurrences&lt;br /&gt;&lt;span style="color:#330099;"&gt;FROM&lt;/span&gt; users&lt;br /&gt;&lt;span style="color:#330099;"&gt;GROUP BY&lt;/span&gt; email&lt;br /&gt;&lt;span style="color:#330099;"&gt;HAVING&lt;/span&gt; ( &lt;span style="color:#330099;"&gt;COUNT&lt;/span&gt;(email) &gt; 1 )&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;also this finds only lines that have a single record&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt; &lt;br /&gt;&lt;div style="BACKGROUND-COLOR: #cccccc"&gt;&lt;span style="color:#330099;"&gt;SELECT&lt;/span&gt; email&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#330099;"&gt;FROM&lt;/span&gt; users&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#330099;"&gt;GROUP BY&lt;/span&gt; email&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#330099;"&gt;HAVING&lt;/span&gt; ( &lt;span style="color:#330099;"&gt;COUNT&lt;/span&gt;(email) = 1 )&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113890704290187303?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://warrenzhai.blogspot.com/2004/09/sql-query-to-identify-list-of.html' title='SQL Find Duplicates Query'/><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/113890704290187303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=113890704290187303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113890704290187303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113890704290187303'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/02/sql-find-duplicates-query.html' title='SQL Find Duplicates Query'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113881212861971260</id><published>2006-02-01T11:33:00.000-05:00</published><updated>2006-02-01T11:48:27.980-05:00</updated><title type='text'>Wake On Lan Packet (C#)</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following code will send out a WOL packet to a server specified by the MAC Address. Please note this only works for boards that have a WOL option in the CMOS.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;using System;&lt;br /&gt;using System.Globalization;&lt;br /&gt;using System.Net.Sockets;&lt;br /&gt;using System.Net;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//we derive our class from a standard one&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class WOLClass:UdpClient&lt;br /&gt;{&lt;br /&gt;public WOLClass():base()&lt;br /&gt;{ }&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//this is needed to send broadcast packet&lt;br /&gt;&lt;/span&gt;public void SetClientToBrodcastMode()&lt;br /&gt;{&lt;br /&gt;if(this.Active)&lt;br /&gt;this.Client.SetSocketOption(SocketOptionLevel.Socket,&lt;br /&gt;SocketOptionName.Broadcast,0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void Main()&lt;br /&gt;{&lt;br /&gt;WakeFunction("00018054D467");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void WakeFunction(string MAC_ADDRESS)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//now use this class&lt;br /&gt;//MAC_ADDRESS should look like '013FA049'&lt;/span&gt;&lt;br /&gt;WOLClass client=new WOLClass();&lt;br /&gt;&lt;br /&gt;client.Connect(new&lt;br /&gt;IPAddress(0xffffffff), &lt;span style="color:#33cc00;"&gt;//255.255.255.255 i.e broadcast&lt;/span&gt;&lt;br /&gt;0x2fff); &lt;span style="color:#33cc00;"&gt;// port=12287 let's use this one&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;client.SetClientToBrodcastMode();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//set sending bytes&lt;/span&gt;&lt;br /&gt;int counter=0;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//buffer to be send&lt;/span&gt;&lt;br /&gt;byte[] bytes=new byte[1024];&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//first 6 bytes should be 0xFF&lt;/span&gt;&lt;br /&gt;for(int y=0;y&lt;6;y++)  style="color:#33cc00;"&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//now repeate MAC 16 times&lt;/span&gt;&lt;br /&gt;for(int y=0;y&lt;16;y++) i="0;" z="0;z&lt;6;z++)"  style="color:#33cc00;"&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//now send wake up packet&lt;br /&gt;&lt;/span&gt;int reterned_value=client.Send(bytes,1024);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113881212861971260?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/113881212861971260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=113881212861971260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113881212861971260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113881212861971260'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/02/wake-on-lan-packet-c.html' title='Wake On Lan Packet (C#)'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113876887840397533</id><published>2006-01-31T23:39:00.001-05:00</published><updated>2006-01-31T23:49:31.606-05:00</updated><title type='text'>people who we meet</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;mcmcom has interacted with many generious and kind companies in fields relating to advertising and technical production.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;some of them are: &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Toyota Canada&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Lexus Canada&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Hewlet Packard Canada&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Saffron Designs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Saatchi &amp; Saatchi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;and we think they're great...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113876887840397533?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113876887840397533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113876887840397533'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/01/people-who-we-meet.html' title='people who we meet'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-21787259.post-113876875076405221</id><published>2006-01-31T23:36:00.000-05:00</published><updated>2006-01-31T23:45:18.823-05:00</updated><title type='text'>Hi There!</title><content type='html'>Here you will find technical work and selected project samples created by mcmcom.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21787259-113876875076405221?l=mustcodemore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustcodemore.blogspot.com/feeds/113876875076405221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21787259&amp;postID=113876875076405221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113876875076405221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21787259/posts/default/113876875076405221'/><link rel='alternate' type='text/html' href='http://mustcodemore.blogspot.com/2006/01/hi-there.html' title='Hi There!'/><author><name>mcm-com</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
