<?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-6545197</id><updated>2011-11-27T18:14:05.540-05:00</updated><title type='text'>Richard Todosichuk's Blog</title><subtitle type='html'>I think therefore I blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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>88</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6545197.post-6648105690051806960</id><published>2009-12-20T19:56:00.002-05:00</published><updated>2009-12-20T19:59:31.346-05:00</updated><title type='text'>Digital Magazines</title><content type='html'>Could this be the future of &lt;a href="http://www.bonnier.com/en/content/digital-magazines-bonnier-mag-prototype"&gt;magazines&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8217311&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8217311&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/8217311"&gt;Mag+&lt;/a&gt; from &lt;a href="http://vimeo.com/bonnier"&gt;Bonnier&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-6648105690051806960?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/6648105690051806960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=6648105690051806960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6648105690051806960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6648105690051806960'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/12/digital-magazines.html' title='Digital Magazines'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-6592246157333051</id><published>2009-10-22T06:17:00.001-04:00</published><updated>2009-10-22T06:22:42.251-04:00</updated><title type='text'>The Future of Technology</title><content type='html'>My thoughts on where technology is heading:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;More real-time information: I believe one interesting aspect of Twitter is that it has a real-time flow of information. We are a society filled with people that don’t trust the media and are discovering that we ourselves are the media. I think most people have a desire to share their brilliance and their thoughts with others. We all want a voice in an increasingly noisy world. The voices of all these people combine with professional sources are generating a large amount of data. This information is then subscribed to and viewed by people in real-time. We are coming to expect that the information that we care about flow to us in real-time.  Magazines, newspapers, and even TV aren’t real-time enough. Nobody wants to wait for next month’s publication, when they can just Google for it. People don’t even want to wait for the “6 o’clock news”. There are currently efforts underway to aggregate and analyze the flow of information not just from the end user but also from the source. One day we may be able to predict or contain outbreaks of diseases and respond to disasters by simply analyzing the flow of information. Decisions may be based on what a population is doing at a given moment in time. Information is much faster and in such greater quantity that the questions we must ask ourselves are: “How will we use this real-time information?”, “How will we control this real-time information?” and “How will we analyze and make sense of it all?” &lt;br /&gt;&lt;li&gt;More consolidation: Over the years it seems that we are moving toward a more consolidated technology world. I don’t think people want to experiment with different technologies like they did in the past. Apple’s popularity can be attributed to their professional and polish look along with the idea of getting people hooked on their suite of technologies. Of course I am speaking about people that are busy professionals that are more concerned with getting things done as opposed to spending time and money to find the best way to get things done. Ultimately the best way is always changing. Furthermore, the gap isn’t very big between the best way and the good enough way. I think the abandonment of email systems in favor of sites like Facebook is about going into one site to manage a large portion of your life. More features and open platforms that allow users to have a single consistent experience is going to be key for many companies.&lt;br /&gt;&lt;li&gt;More accessibility: We are getting more and more connected devices. We have our cell phones, our TV, our computers, and even our cars. With all of these devices we want ways to access and manage our data. We should be able to view our calendars from home, from work, or from the road. With 3G, 4G, Edge and city wide WIFI we have created the 24 x 7 connected world. With this new world we want to access our data at any time and by any device. We want to view our calendars (and tasks) before we get into the office. All of this is going to require better ways to synchronize and/or access our information at all times and from all places. &lt;br /&gt;&lt;li&gt;Platform: To large degree when you ask the older generation what they think about when they hear “platform”, you will hear things like Windows, Apple, Linux, etc. However, when you ask the younger generation what they think about when they hear “platform” they may say things like Firefox, Google Chrome and Apple (Safari). The younger generation is so connected that they view the browser as the OS. I believe that this is something that will impact our world in ways that we have yet to conceive. We will use the cloud as our storage and our browsers as our client. Google is planning on the web as being the back end and the browser as being the client. I believe that they are going to take this to new heights with the Google OS, but this is only speculation because Google hasn’t released much information on what exactly is the Google OS. However, perhaps the future may prove to swing things in the opposite direction. There are attempts to get out of the browser. With technologies like Silverlight and Adobe Flex perhaps the browser will change to something else. There have also been advancements in Virtual Machines and Virtual Environments. I could see OS’s as just hosting Virtual Sandboxes that can run a wide variety of applications that we access from the web. At this point it is unclear what the future platform will be, but it is clear that it is changing to accommodate web applications. &lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-6592246157333051?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/6592246157333051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=6592246157333051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6592246157333051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6592246157333051'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/10/future-of-technology.html' title='The Future of Technology'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-4319601485510476704</id><published>2009-08-15T19:52:00.005-04:00</published><updated>2009-08-15T20:07:02.316-04:00</updated><title type='text'>Willard Wigan's Microscopic Masterpieces</title><content type='html'>Willard Wigan's amazing creations. Click &lt;a href="http://www.ted.com/talks/lang/eng/willard_wigan_hold_your_breath_for_micro_sculpture.html"&gt;here&lt;/a&gt; to hear his story.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_CdGJeRl2kSI/SodMkiARmLI/AAAAAAAAAD4/4w4FQH1QJTs/s1600-h/WillardWigan2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://1.bp.blogspot.com/_CdGJeRl2kSI/SodMkiARmLI/AAAAAAAAAD4/4w4FQH1QJTs/s320/WillardWigan2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5370345271149566130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_CdGJeRl2kSI/SodK2fO-vJI/AAAAAAAAADw/PiBHZ-wIMDM/s1600-h/WillardWigan.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 208px;" src="http://1.bp.blogspot.com/_CdGJeRl2kSI/SodK2fO-vJI/AAAAAAAAADw/PiBHZ-wIMDM/s320/WillardWigan.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5370343380620328082" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-4319601485510476704?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/4319601485510476704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=4319601485510476704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/4319601485510476704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/4319601485510476704'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/08/willard-wigans-microscopic-masterpieces.html' title='Willard Wigan&apos;s Microscopic Masterpieces'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CdGJeRl2kSI/SodMkiARmLI/AAAAAAAAAD4/4w4FQH1QJTs/s72-c/WillardWigan2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-7994226023733679545</id><published>2009-06-18T21:59:00.002-04:00</published><updated>2009-06-18T22:08:40.007-04:00</updated><title type='text'>Learning Assembly</title><content type='html'>A colleague of mine demonstrated a vulnerability in Adobe Acrobat Reader that exploits the way images are loaded. It is possible to send someone a PDF that once opened could download a file and run it. The details of the vulnerability aren’t important, but the process of understand how a hacker might discover such a vulnerability is quite interesting.  One would have to have a good understanding of how computers work as well as how to disassemble and understand an EXE. Being a software developer I wanted to brush up on assembly. My colleague emailed me the following set of videos:&lt;br /&gt;&lt;br /&gt;Assembly Primer for Hackers&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-1)-System-Organization-video.aspx"&gt;Part 1 - System Organization&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-2)-Virtual-Memory-Organization-video.aspx"&gt;Part 2 - Virtual Memory Organization&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-3)-GDB-Usage-Primer-video.aspx"&gt;Part 3 - GDB Usage Primer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-4)-Hello-World-video.aspx"&gt;Part 4 - Hello World&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-5)-Data-Types-video.aspx"&gt;Part 5 - Data Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-%28Part-6%29-Moving-Data-video.aspx"&gt;Part 6 - Moving Data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-7)-Working-with-Strings-video.aspx"&gt;Part 7 - Working with Strings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-8)-Unconditional-Branching-video.aspx"&gt;Part 8 - Unconditional Branching&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-9)-Conditional-Branching-video.aspx"&gt;Part 9 - Conditional Branching&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-10)-Functions-video.aspx"&gt;Part 10 - Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://securitytube.net/Assembly-Primer-for-Hackers-(Part-11)-Functions-Stack-video.aspx"&gt;Part 11 - Functions Stack&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7994226023733679545?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7994226023733679545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7994226023733679545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7994226023733679545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7994226023733679545'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/06/learning-assembly.html' title='Learning Assembly'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-7505428129128259926</id><published>2009-03-02T21:50:00.004-05:00</published><updated>2009-03-02T22:09:00.190-05:00</updated><title type='text'>The Apple "i"</title><content type='html'>Very funny!&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1811646&amp;fullscreen=1" width="320" height="180" &gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;param name="wmode" value="transparent"/&gt;&lt;param name="AllowScriptAccess" value="true"/&gt;&lt;param name="movie" quality="best" value="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1811646&amp;fullscreen=1"/&gt;&lt;embed src="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1811646&amp;fullscreen=1" type="application/x-shockwave-flash" wmode="transparent"  width="320" height="180"  allowScriptAccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0; text-align:center; width:320px;"&gt;See more &lt;a href="http://www.collegehumor.com/videos"&gt;funny videos&lt;/a&gt; and &lt;a href="http://www.collegehumor.com/pictures"&gt;funny pictures&lt;/a&gt; at &lt;a href="http://www.collegehumor.com/"&gt;CollegeHumor&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7505428129128259926?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7505428129128259926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7505428129128259926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7505428129128259926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7505428129128259926'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/03/apple-i.html' title='The Apple &quot;i&quot;'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-2291479625100144390</id><published>2009-02-09T20:11:00.001-05:00</published><updated>2009-02-09T20:11:40.522-05:00</updated><title type='text'>.Net Enum.Parse()</title><content type='html'>&lt;p&gt;Let’s say you have the following enumerated type:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;enum Rainbow      &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Red,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Orange,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Yellow,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; YELLOW,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Green,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Blue,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Indigo = 8,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Violet = 8       &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You can then use&lt;font face="Courier New"&gt; &lt;strong&gt;Enum.Parse()&lt;/strong&gt;&lt;/font&gt; method to convert a string to the enumerated value. This is demonstrated by doing the following:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Rainbow rainbowValue = (Rainbow)Enum.Parse(typeof(Rainbow), myString, true);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Where &lt;font face="Courier New"&gt;&lt;strong&gt;myString&lt;/strong&gt;&lt;/font&gt; is a string variable that holds the string you want to convert.&lt;/p&gt;  &lt;p&gt;When you perform &lt;font face="Courier New"&gt;&lt;strong&gt;Enum.Parse()&lt;/strong&gt;&lt;/font&gt; you should be aware of a few things that may not be obvious. &lt;/p&gt;  &lt;p&gt;1) String numbers can be used. For example “1” will convert to &lt;font face="Courier New"&gt;&lt;strong&gt;Rainbow.Orange&lt;/strong&gt;&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;2) A string number that is out of range doesn’t throw an exception. You must use &lt;font face="Courier New"&gt;&lt;strong&gt;Enum.IsDefined()&lt;/strong&gt;&lt;/font&gt; to make sure that the number is in range. For example if you assign “100” to &lt;strong&gt;&lt;font face="Courier New"&gt;mystring&lt;/font&gt;&lt;/strong&gt; you won’t see an exception thrown.&lt;/p&gt;  &lt;p&gt;3) The last argument of the &lt;strong&gt;&lt;font face="Courier New"&gt;Enum.Parse()&lt;/font&gt;&lt;/strong&gt; method allows you to ignore the case. If you do ignore the case the first value found in the enum will be used. If you plan on ignoring case then you should make sure that the values of the enum are unique ignoring case. The compiler will fail if you have&lt;font face="Courier New"&gt;&lt;strong&gt; enum Rainbow { Red, Red}&lt;/strong&gt;&lt;/font&gt;, but will not fail if you have &lt;strong&gt;&lt;font face="Courier New"&gt;enum Rainbow { Red, RED}&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;4) You can assign the same number to two different enum values. Surprisingly this doesn’t throw a compiler warning or error. Equally surprisingly the last number is chosen. For example if you assign “8” or “Indigo” to &lt;strong&gt;&lt;font face="Courier New"&gt;mystring&lt;/font&gt;&lt;/strong&gt;, the enum variable will be set to &lt;strong&gt;&lt;font face="Courier New"&gt;Rainbow.Violet&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;5) A comma separated string can work, but it is probably not what you want unless you are using the &lt;strong&gt;&lt;font face="Courier New"&gt;FlagsAttribute&lt;/font&gt;&lt;/strong&gt; with the enum type and assigning number values in a way that can be masked. For example if you assign “Orange, Green” to &lt;strong&gt;&lt;font face="Courier New"&gt;mystring&lt;/font&gt;&lt;/strong&gt;, the enum variable will be set to &lt;strong&gt;&lt;font face="Courier New"&gt;Rainbow.Blue&lt;/font&gt;&lt;/strong&gt;. This is because you are actually doing &lt;strong&gt;&lt;font face="Courier New"&gt;Rainbow.Orange&lt;/font&gt;&lt;/strong&gt; | &lt;font face="Courier New"&gt;&lt;strong&gt;Rainbow.Green&lt;/strong&gt;&lt;/font&gt; which is actual (1 | 4) and in binary (0x0001 | 0x0100) with is 5 (0x0101). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you are using &lt;strong&gt;&lt;font face="Courier New"&gt;Enum.Parse()&lt;/font&gt;&lt;/strong&gt; to convert strings to enum variables you should keep these things in mind. Dispending on what you are doing these issues may not be a problem, or they may be hidden gotchas with unintended results. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2291479625100144390?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2291479625100144390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2291479625100144390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2291479625100144390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2291479625100144390'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/02/net-enumparse.html' title='.Net Enum.Parse()'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-6303800369968811099</id><published>2009-01-18T22:59:00.002-05:00</published><updated>2009-01-18T23:10:43.402-05:00</updated><title type='text'>MacBook Wheel</title><content type='html'>Very funny. &lt;br /&gt;&lt;br /&gt;&lt;embed src="http://www.theonion.com/content/themes/common/assets/videoplayer/flvplayer.swf" allowScriptAccess="always" type="application/x-shockwave-flash" wmode="transparent" flashvars="file=http://www.theonion.com/content/xml/92328/video&amp;amp;debugging=true&amp;amp;autostart=false&amp;amp;image=http://www.theonion.com/content/files/images/NO_KEYBOARD_article.jpg&amp;amp;bufferlength=3&amp;amp;embedded=true&amp;amp;title=Apple%20Introduces%20Revolutionary%20New%20Laptop%20With%20No%20Keyboard" height="355" width="400" &gt;&lt;/embed&gt;&lt;br/&gt;&lt;a href="http://www.theonion.com/content/node/92328?utm_source=embedded_video"&gt;Apple Introduces Revolutionary New Laptop With No Keyboard&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-6303800369968811099?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/6303800369968811099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=6303800369968811099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6303800369968811099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6303800369968811099'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2009/01/macbook-wheel.html' title='MacBook Wheel'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-5924773104741015549</id><published>2008-10-20T22:15:00.001-04:00</published><updated>2008-10-20T22:15:48.712-04:00</updated><title type='text'>Standard System Fonts</title><content type='html'>&lt;p&gt;I have been looking into system fonts and &amp;quot;Windows Form Applications&amp;quot; in Visual Studio. You can change your OS system fonts on XP via the &amp;#8220;Display&amp;#8221; property dialog. In the Display&amp;#8221; property dialog, under the &amp;#8220;Appearance&amp;#8221; tab, there is an &amp;#8220;Advanced&amp;#8221; button that will allow you to configure the system font. Furthermore, .Net has the &lt;i&gt;System.Drawing.SystemFonts&lt;/i&gt; object that can be used to access system fonts.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/richard.todosichuk/SP07TRXFSbI/AAAAAAAAADI/lz_YG7bBR1A/s1600-h/clip_image002%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="clip_image002" src="http://lh6.ggpht.com/richard.todosichuk/SP07Uq8CNoI/AAAAAAAAADM/xW8hk7VnRg0/clip_image002_thumb.jpg?imgmax=800" width="224" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The following table maps the fonts that can be configured via the &amp;#8220;Advanced Appearance&amp;#8221; dialog to the fonts that are available from &lt;i&gt;System.Drawing.SystemFonts&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;b&gt;Advanced Appearance Dialog&lt;/b&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;b&gt;System.Drawing.SystemFonts&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;n/a&lt;/td&gt;        &lt;td valign="top" width="200"&gt;System.Drawing.SystemFonts.DefaultFont&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;n/a&lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;System.Drawing.SystemFonts.DialogFont&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Active Title Bar&lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;System.Drawing.SystemFonts.CaptionFont&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;Icon&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;System.Drawing.SystemFonts.IconTitleFont &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;Inactive Title Bar &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;System.Drawing.SystemFonts.CaptionFont&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;Menu &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;System.Drawing.SystemFonts.MenuFont &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;Message Box &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;System.Drawing.SystemFonts.MessageBoxFont &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;Palette Title &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;System.Drawing.SystemFonts.SmallCaptionFont &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;Selected Items &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;System.Drawing.SystemFonts.MenuFont &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;ToolTip&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;System.Drawing.SystemFonts.StatusFont&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;Important fonts in &lt;i&gt;System.Drawing.SystemFonts&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;i&gt;System.Drawing.SystemFonts.DefaultFont &lt;/i&gt;is the default font of the operating system and it is defined in the registry at &amp;#8220;&lt;i&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes\MS Shell Dlg&amp;#8221;&lt;/i&gt;. It is defaulted to &amp;#8220;Microsoft Sans Serif&amp;#8221; and is the font that Visual Studio seems to use for Windows Form applications. &lt;/li&gt;    &lt;li&gt;System.Drawing.SystemFonts.DialogFont is defined by .Net and, as far as I can tell, it is hard coded to &amp;#8220;Tahoma 8 pt&amp;#8221; font for Windows 2000 and higher, otherwise the &lt;i&gt;System.Drawing.SystemFonts.DefaultFont &lt;/i&gt;is used.&lt;/li&gt;    &lt;li&gt;&lt;i&gt;System.Drawing.SystemFonts.MessageBoxFont&lt;/i&gt; is the default for message boxes and is also the default font for WPF Applications in Visual Studio. &lt;i&gt;System.Drawing.SystemFonts.MessageBoxFont&lt;/i&gt; defaults to &amp;#8220;Tahoma&amp;#8221; on Windows XP and &amp;#8220;Segoe UI&amp;#8221; on Vista.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The default font provided is not good enough for today's professional looking applications. &lt;i&gt;System.Drawing.SystemFonts.DialogFont&lt;/i&gt; seems to be a good choice, but doesn&amp;#8217;t change on Vista. I believe &lt;i&gt;System.Drawing.SystemFonts.MessageBoxFont&lt;/i&gt; should be the primary font used in Windows Form Application development.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-5924773104741015549?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/5924773104741015549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=5924773104741015549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/5924773104741015549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/5924773104741015549'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2008/10/standard-system-fonts.html' title='Standard System Fonts'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/richard.todosichuk/SP07Uq8CNoI/AAAAAAAAADM/xW8hk7VnRg0/s72-c/clip_image002_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-2718930599355299475</id><published>2008-09-01T15:49:00.006-04:00</published><updated>2008-09-01T16:02:15.953-04:00</updated><title type='text'>Microsoft Certified Technology Specialist</title><content type='html'>I passed a second Microsoft certification exam. Now I'm a Microsoft Certified Technology Specialist.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_CdGJeRl2kSI/SLxIM4srRGI/AAAAAAAAADA/L3sizBFMaac/s1600-h/MCTS(rgb)_512.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_CdGJeRl2kSI/SLxIM4srRGI/AAAAAAAAADA/L3sizBFMaac/s320/MCTS(rgb)_512.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5241143452567815266" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2718930599355299475?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2718930599355299475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2718930599355299475' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2718930599355299475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2718930599355299475'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2008/09/microsoft-certified-technology.html' title='Microsoft Certified Technology Specialist'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CdGJeRl2kSI/SLxIM4srRGI/AAAAAAAAADA/L3sizBFMaac/s72-c/MCTS(rgb)_512.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-5672580985205200112</id><published>2008-08-08T20:09:00.001-04:00</published><updated>2008-08-08T20:09:39.628-04:00</updated><title type='text'>Office 2007 and Fitts' Law</title><content type='html'>&lt;p&gt;Whether you think Office 2007 is brilliant or if you're wondering what was Microsoft thinking, &lt;a href="http://blogs.msdn.com/jensenh/archive/2006/08/22/711808.aspx"&gt;Jensen Harris&amp;#8217; blog&lt;/a&gt; has some fascinating insight into UI design. He explains Fitts&amp;#8217; law and how it was used in the creation of Office 2007. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Think about Word 1.0, which was designed for a common maximum 640x480 screen resolution. Toolbar buttons in Word 1.0 were 20x20 buttons with 16x16 icons in them. &lt;/p&gt;    &lt;p&gt;Word 2003, on the other hand, is commonly run at resolutions as high as 1600x1200 and beyond--yet the toolbar buttons remain the same 20x20 size they were in Word 1.0. But because the screen is so much larger, most of the time your mouse cursor will be much farther away than it could have been on a 640x480 screen. Greater mouse distances mean an increased &lt;em&gt;&lt;b&gt;MT&lt;/b&gt;&lt;/em&gt; target acquisition time. &lt;/p&gt;    &lt;p&gt;In other words, the same button takes much longer to click than it did fifteen years ago. &lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-5672580985205200112?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/5672580985205200112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=5672580985205200112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/5672580985205200112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/5672580985205200112'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2008/08/office-2007-and-fitts-law.html' title='Office 2007 and Fitts&amp;#39; Law'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-6990779558488320299</id><published>2008-08-05T22:12:00.002-04:00</published><updated>2008-08-05T22:17:05.841-04:00</updated><title type='text'>Win32 vs. WPF Performance</title><content type='html'>&lt;p&gt;I created two similar applications in Visual Studio 2008, one as a &lt;i&gt;Windows Forms Application&lt;/i&gt; and the other as a &lt;i&gt;WPF Application&lt;/i&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/richard.todosichuk/SJkIX7s4M4I/AAAAAAAAACY/yvufizym7bQ/s1600-h/image001%5B3%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="238" alt="Windows Forms Application (Win32)" src="http://lh6.ggpht.com/richard.todosichuk/SJkIYu0GZcI/AAAAAAAAACc/soe1gTdpm0o/image001_thumb%5B1%5D.png?imgmax=800" width="223" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/richard.todosichuk/SJkIZONo1yI/AAAAAAAAACg/8dVpkwQZ9Oo/s1600-h/image003%5B9%5D.png"&gt;&lt;img height="244" alt="WPF Application" src="http://lh4.ggpht.com/richard.todosichuk/SJkIaH5KrgI/AAAAAAAAACk/gB9gV55he18/image003_thumb%5B7%5D.png?imgmax=800" width="231" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I then preformed the following tests (ran tests three times and recorded the average) as listed below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Time it takes to open one window. &lt;/li&gt;    &lt;li&gt;Time it takes to open 100 windows. &lt;/li&gt;    &lt;li&gt;Time it takes to open a window with many controls. &lt;/li&gt;    &lt;li&gt;Amount of memory consumed after opening the application. &lt;/li&gt;    &lt;li&gt;Amount of memory consumed after launching one window. &lt;/li&gt;    &lt;li&gt;Amount of memory consumed after launching 100 windows. &lt;/li&gt;    &lt;li&gt;Amount of memory consumed after launching a window with many controls. &lt;/li&gt;    &lt;li&gt;Amount of memory consumed after launching a Win32 open dialog (only in WPF). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;i&gt;Note: I only tested this on a single Windows XP machine and a single Vista machine. And I am ignoring hardware configurations.     &lt;br /&gt;Note: Memory was recorded from the task manager.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Windows XP &amp;#8211; Time in seconds&lt;/b&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="160"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p align="right"&gt;&lt;em&gt;Win32&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;&lt;em&gt;WPF&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="160"&gt;&lt;em&gt;Launch Single Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p align="right"&gt;0.0233669&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="118"&gt;         &lt;p align="right"&gt;0.2370075&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="160"&gt;&lt;em&gt;Launch 100 Windows&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p align="right"&gt;1.0548501&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p align="right"&gt;21.5009168&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="160"&gt;&lt;em&gt;Controls Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p align="right"&gt;0.3838853&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="120"&gt;         &lt;p align="right"&gt;0.4473099&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;Windows XP &amp;#8211; Memory&lt;/b&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;&lt;em&gt;Win32&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;&lt;em&gt;WPF&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Just Application&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;13,345K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;19,340K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Launch Single Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;13,885K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;20,867K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Launch 100 Windows&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;15,089K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;55,685K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Controls Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;16,333K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;24,859K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Launch Win32 Dialog&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="right"&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="118"&gt;         &lt;p align="right"&gt;23,440K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;Vista &amp;#8211; Time in seconds&lt;/b&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p align="right"&gt;&lt;em&gt;Win32&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="115"&gt;         &lt;p align="right"&gt;&lt;em&gt;WPF&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="157"&gt;&lt;em&gt;Launch Single Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p align="right"&gt;0.0170000&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="115"&gt;         &lt;p align="right"&gt;0.913333&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="156"&gt;&lt;em&gt;Launch 100 Windows&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p align="right"&gt;1.1940000&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="115"&gt;         &lt;p align="right"&gt;12.43466667&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="156"&gt;&lt;em&gt;Controls Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p align="right"&gt;0.2886667&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="115"&gt;         &lt;p align="right"&gt;0.4900000&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;Vista - Memory&lt;/b&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;&lt;em&gt;Win32&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;&lt;em&gt;WPF&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&lt;em&gt;Just Application&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;3,623K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;11,995K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&lt;em&gt;Launch Single Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;3,715K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;12,595K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&lt;em&gt;Launch 100 Windows&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;4,377K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;15,715K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&lt;em&gt;Controls Window&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;6,132K&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;16,241K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;&lt;em&gt;Launch Win32 Dialog&lt;/em&gt;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="right"&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="117"&gt;         &lt;p align="right"&gt;14,132K&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Windows XP&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Unless you have a lot of controls on a window, Win32 is faster. In my test of the control window Win32 was faster, however WPF was not far behind. &lt;/li&gt;    &lt;li&gt;WPF can manage a lot of controls on a form better then Win32. It is hard to show in a benchmark, but by running the applications you will notice that sizing the controls window in WFP is more responsive then Win32. &lt;/li&gt;    &lt;li&gt;Launch many WPF windows is slow and consumes a lot of memory. &lt;/li&gt;    &lt;li&gt;When you launch a Win32 dialog from WPF there is overhead. &lt;/li&gt;    &lt;li&gt;In general WPF comes at a cost in memory and performance. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Vista&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;For the most part the story is the same. WPF comes at a cost in memory and performance. &lt;/li&gt;    &lt;li&gt;It seems that WPF doesn&amp;#8217;t consume as much memory in the 100 windows test (at least on Vista machine that I tested). &lt;/li&gt;    &lt;li&gt;On my Vista machine there was a noticeable difference in appearance between WPF windows and Win32 windows. The Win32 windows looked blurry and not as clean and crisp as the WPF windows. This alone may make WPF worth it. Sure it is slower and takes up more memory but it does look nicer. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Vista Images&lt;/h5&gt;  &lt;p&gt;Click the images to see them at full size.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/richard.todosichuk/SJkIbmBkuVI/AAAAAAAAACw/1AmQnYIlBoQ/s1600-h/Win32ControlDlg%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="Win32ControlDlg" src="http://lh3.ggpht.com/richard.todosichuk/SJkIcrg3UtI/AAAAAAAAAC0/dyVPDZ8iLoI/Win32ControlDlg_thumb.jpg?imgmax=800" width="204" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/richard.todosichuk/SJkIeHDAreI/AAAAAAAAAC4/SIAqYCCAl1Y/s1600-h/WPFControlsDlg%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="WPFControlsDlg" src="http://lh3.ggpht.com/richard.todosichuk/SJkIfOl9LqI/AAAAAAAAAC8/2VAT2Kk6tyE/WPFControlsDlg_thumb.jpg?imgmax=800" width="207" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-6990779558488320299?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/6990779558488320299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=6990779558488320299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6990779558488320299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6990779558488320299'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2008/08/win32-vs-wpf-performance.html' title='Win32 vs. WPF Performance'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/richard.todosichuk/SJkIYu0GZcI/AAAAAAAAACc/soe1gTdpm0o/s72-c/image001_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-886534469889249433</id><published>2008-04-06T20:28:00.002-04:00</published><updated>2008-04-06T20:41:38.309-04:00</updated><title type='text'>How To Make A Wi-Fi Extender</title><content type='html'>This reminds me that there are still simple solutions to high tech problems.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sUTT8wdN_VA&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/sUTT8wdN_VA&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=sUTT8wdN_VA"&gt;youTube Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-886534469889249433?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/886534469889249433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=886534469889249433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/886534469889249433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/886534469889249433'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2008/04/how-to-make-wi-fi-extender.html' title='How To Make A Wi-Fi Extender'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-7130135433748390663</id><published>2007-12-09T09:50:00.000-05:00</published><updated>2007-12-09T09:59:12.946-05:00</updated><title type='text'>House of Cards</title><content type='html'>Building software can be like managing a house of cards. &lt;br /&gt;&lt;br /&gt;Maybe we should hire this guy. &lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YvLkjuYunRw&amp;rel=1&amp;border=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/YvLkjuYunRw&amp;rel=1&amp;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7130135433748390663?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7130135433748390663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7130135433748390663' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7130135433748390663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7130135433748390663'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/12/house-of-cards.html' title='House of Cards'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-613958439937686887</id><published>2007-11-03T21:39:00.000-04:00</published><updated>2008-12-09T19:01:34.918-05:00</updated><title type='text'>Geek-O-Lanterns</title><content type='html'>I found a &lt;a href="http://wired.reddit.com/geekolanterns/"&gt;link&lt;/a&gt; to some pumpkin carvers geeking out.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_CdGJeRl2kSI/Ry0l1UelysI/AAAAAAAAABM/a9EhpImF-E0/s1600-h/R2D2JackOLantern.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_CdGJeRl2kSI/Ry0l1UelysI/AAAAAAAAABM/a9EhpImF-E0/s320/R2D2JackOLantern.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5128797148605172418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-613958439937686887?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/613958439937686887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=613958439937686887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/613958439937686887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/613958439937686887'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/11/geek-o-lanterns.html' title='Geek-O-Lanterns'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CdGJeRl2kSI/Ry0l1UelysI/AAAAAAAAABM/a9EhpImF-E0/s72-c/R2D2JackOLantern.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-6835600209887771339</id><published>2007-10-03T22:02:00.000-04:00</published><updated>2008-12-09T19:01:35.113-05:00</updated><title type='text'>Windows XP + Office 2007 = 13.5 GB</title><content type='html'>I reinstall Windows XP on my Tablet PC. I noticed that it is taking up a whopping 13.5 GB. This is after installing Windows XP (Tablet Edition), Office 2007, and all of the Microsoft updates (SP2 and about 120 updates). I should also mention that I did install a few extra options for both Windows XP and Office 2007. Sure you could remove a lot of things you may not use, but I would rather not for two reasons. First, it is time consuming to have to figure out what you don’t need. And second, I like having more features at my figure tips, not less.  I really done like hunting for the install disk when I discover I need some feature that wasn’t installed. However, I am a fan of compression and I did compress my drive.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_CdGJeRl2kSI/RwRKPlGjAnI/AAAAAAAAABE/0Gpu6sLeC5A/s1600-h/XP_Office2007.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_CdGJeRl2kSI/RwRKPlGjAnI/AAAAAAAAABE/0Gpu6sLeC5A/s320/XP_Office2007.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5117296708117791346" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-6835600209887771339?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/6835600209887771339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=6835600209887771339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6835600209887771339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/6835600209887771339'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/10/windows-xp-office-2007-135-gb.html' title='Windows XP + Office 2007 = 13.5 GB'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_CdGJeRl2kSI/RwRKPlGjAnI/AAAAAAAAABE/0Gpu6sLeC5A/s72-c/XP_Office2007.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-2695483035033681365</id><published>2007-09-19T13:33:00.000-04:00</published><updated>2007-09-19T13:36:07.534-04:00</updated><title type='text'>Inside of Hard Drive</title><content type='html'>This is a interesting video on how hard drives work.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9eMWG3fwiEU"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9eMWG3fwiEU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2695483035033681365?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2695483035033681365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2695483035033681365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2695483035033681365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2695483035033681365'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/09/inside-of-hard-drive.html' title='Inside of Hard Drive'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-2566044437724746744</id><published>2007-08-26T21:39:00.001-04:00</published><updated>2008-12-09T19:01:35.589-05:00</updated><title type='text'>Microsoft Certified</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;I passed a MCTS exam. I guess that makes me a Microsoft Certified Technology Specialist.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_CdGJeRl2kSI/RtIry48eDQI/AAAAAAAAAA0/7MSt0ol17-k/s1600-h/MCP(rgb).gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_CdGJeRl2kSI/RtIry48eDQI/AAAAAAAAAA0/7MSt0ol17-k/s320/MCP(rgb).gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5103189481043660034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Times New Roman; font-size:12pt'&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style='font-family:Verdana; font-size:10pt'&gt;&lt;strong&gt;Microsoft Certification Exams Completed Successfully&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:Times New Roman; font-size:12pt'&gt;&lt;br /&gt;     &lt;table border='0' style='border-collapse:collapse'&gt;&lt;colgroup&gt;&lt;col style='width:25px'/&gt;&lt;col style='width:100px'/&gt;&lt;col style='width:349px'/&gt;&lt;col style='width:12px'/&gt;&lt;col style='width:137px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td vAlign='middle'&gt; &lt;/td&gt;&lt;td vAlign='middle'&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt; text-decoration:underline'&gt;&lt;strong&gt;Exam ID&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td vAlign='middle'&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt; text-decoration:underline'&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td vAlign='middle'&gt; &lt;/td&gt;&lt;td vAlign='middle'&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt; text-decoration:underline'&gt;&lt;strong&gt;Date Completed&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td vAlign='middle'&gt; &lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt'&gt;536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt'&gt;TS: Microsoft® .NET Framework 2.0 - Application Development Foundation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td vAlign='middle'&gt; &lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;span style='font-family:Verdana; font-size:10pt'&gt;Jul 18, 2007&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2566044437724746744?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2566044437724746744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2566044437724746744' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2566044437724746744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2566044437724746744'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/08/microsoft-certified.html' title='Microsoft Certified'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CdGJeRl2kSI/RtIry48eDQI/AAAAAAAAAA0/7MSt0ol17-k/s72-c/MCP(rgb).gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-2379366638340546423</id><published>2007-07-28T20:59:00.000-04:00</published><updated>2008-12-09T19:01:35.766-05:00</updated><title type='text'>My Twin</title><content type='html'>I made the mistake of telling Brett that I had a twin brother.  He repeatedly asked me for a picture and when I constantly refusing to give him one. He then took matters into his own hands. &lt;br /&gt;&lt;br /&gt;(My face on Arnold and DeVito)&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_CdGJeRl2kSI/Rqvn0gEoJgI/AAAAAAAAAAs/gL8anoCqHAc/s1600-h/Twins.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_CdGJeRl2kSI/Rqvn0gEoJgI/AAAAAAAAAAs/gL8anoCqHAc/s320/Twins.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5092418692821034498" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2379366638340546423?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2379366638340546423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2379366638340546423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2379366638340546423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2379366638340546423'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/07/my-twin.html' title='My Twin'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_CdGJeRl2kSI/Rqvn0gEoJgI/AAAAAAAAAAs/gL8anoCqHAc/s72-c/Twins.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-7369807545001915620</id><published>2007-07-24T22:26:00.000-04:00</published><updated>2007-07-24T22:37:59.771-04:00</updated><title type='text'>My Screencast on Lifehacker</title><content type='html'>I created a screencast about my &lt;a href="http://rtodosic.blogspot.com/2007/05/windows-key-r.html"&gt;Windows Key + R&lt;/a&gt; post and submitted it to &lt;a href="http://lifehacker.com/software/shortcut-screencast-contest/navigate-to-any-folder-with-windows-run-dialog-281173.php"&gt;Lifehackers&lt;/a&gt;.  Seeing something that I have done on &lt;a href="http://lifehacker.com"&gt;Lifehackers &lt;/a&gt;is very cool. I can’t wait to read my very own copy of the &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0470050659/ref=nosim/gizmodo-20"&gt;Lifehacker book&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/BRalkwbFRPI"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/BRalkwbFRPI" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7369807545001915620?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7369807545001915620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7369807545001915620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7369807545001915620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7369807545001915620'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/07/my-screencast-on-lifehacker.html' title='My Screencast on Lifehacker'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-7385561764894173640</id><published>2007-07-22T20:00:00.000-04:00</published><updated>2007-07-22T20:27:24.919-04:00</updated><title type='text'>Medieval Tech Support</title><content type='html'>I had a good laugh when I saw this. Although I tend to give users a little more credit.&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;br /&gt;  &lt;param name="movie" value="http://www.youtube.com/v/pQHX-SjgQvQ&amp;rel=0"&gt;&lt;br /&gt;  &lt;/param&gt;&lt;br /&gt;  &lt;param name="wmode" value="transparent"&gt;&lt;br /&gt;  &lt;/param&gt;&lt;br /&gt;  &lt;embed src="http://www.youtube.com/v/pQHX-SjgQvQ&amp;rel=0" type="application/x-shockwave-flash" wmode="transparent" width="400" height="300"&gt;&lt;br /&gt;  &lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7385561764894173640?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7385561764894173640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7385561764894173640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7385561764894173640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7385561764894173640'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/07/medieval-tech-support.html' title='Medieval Tech Support'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-878195671493681520</id><published>2007-07-04T14:31:00.000-04:00</published><updated>2008-12-09T19:01:36.021-05:00</updated><title type='text'>Microsoft Surface?</title><content type='html'>A spoof on Microsoft Surface.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flixxy.com/microsoft-surface-computing-spoof.htm"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_CdGJeRl2kSI/Rovo40949JI/AAAAAAAAAAk/HLpMGUIuyWQ/s320/MicrosoftSurface.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5083412667406283922" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-878195671493681520?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/878195671493681520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=878195671493681520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/878195671493681520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/878195671493681520'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/07/microsoft-surface.html' title='Microsoft Surface?'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CdGJeRl2kSI/Rovo40949JI/AAAAAAAAAAk/HLpMGUIuyWQ/s72-c/MicrosoftSurface.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-7838276205307914166</id><published>2007-06-22T22:14:00.000-04:00</published><updated>2007-06-22T22:20:21.840-04:00</updated><title type='text'>Programmers Prayer</title><content type='html'>From &lt;a href="http://www.ftponline.com/channels/net/reports/vsliveor/2007/bhollis/"&gt;Billy Hollis&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Help me learn the things I have to know,&lt;br /&gt;Help me to except the things I don't have to know,&lt;br /&gt;And give me some way to tell the difference.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7838276205307914166?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7838276205307914166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7838276205307914166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7838276205307914166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7838276205307914166'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/06/programmers-prayer.html' title='Programmers Prayer'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-7153425078693866936</id><published>2007-05-08T13:05:00.000-04:00</published><updated>2008-12-09T19:01:36.373-05:00</updated><title type='text'>Windows Key + R</title><content type='html'>From the run dialog in Windows XP you can open folders by using the following shortcuts.&lt;br/&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_CdGJeRl2kSI/RkCx6EA0O-I/AAAAAAAAAAc/dCCYjg18ZWo/s1600-h/RunDialog.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5062241592232131554" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_CdGJeRl2kSI/RkCx6EA0O-I/AAAAAAAAAAc/dCCYjg18ZWo/s320/RunDialog.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;.&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\&amp;lt;username&amp;gt;\&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;..&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\&lt;/td&gt;&lt;td&gt;C:\&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Assembly&lt;/td&gt;&lt;td&gt;C:\WINDOWS\assembly&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cache&lt;/td&gt;&lt;td&gt;C:\WINDOWS\system32\Cache&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Desktop&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\&amp;lt;username&amp;gt;\Desktop&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Favorites&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\Me\Favorites&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fonts&lt;/td&gt;&lt;td&gt;C:\WINDOWS\Fonts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;My Documents&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\Me\My Documents&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SendTo&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\&amp;lt;username&amp;gt;\SendTo&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Start Menu&lt;/td&gt;&lt;td&gt;C:\Documents and Settings\&amp;lt;username&amp;gt;\Start Menu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tasks&lt;/td&gt;&lt;td&gt;C:\WINDOWS\Tasks&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;*The folders may vary depending on your windows configuration.&lt;br /&gt;&lt;br /&gt;As far as I can tell, you can open directories that exist in the following directories by just typing in the directory names (without the full paths):&lt;br /&gt;· C:\WINDOWS\&lt;br /&gt;· C:\WINDOWS\system32&lt;br /&gt;· C:\Documents and Settings\&amp;lt;username&amp;gt;\&lt;br /&gt;&lt;br /&gt;This got me to thinking. If you are like me and would like to quickly go to different directories, you can creat shortcuts to those different directories in your “C:\Documents and Settings\&amp;lt;username&amp;gt;\” directory. Give this a try. Hit &lt;b&gt;Windows Key + R&lt;/b&gt; to bring up the run dialog and type “.” to go to the “C:\Documents and Settings\&amp;lt;username&amp;gt;\” directory. Right click in the directory and select “New\Shortcut” and create a shortcut to another directory. Now hit &lt;b&gt;Windows Key + R&lt;/b&gt; to bring up the run dialog again and type in the name of the shortcut that you just created. You should be taken to that directory.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-7153425078693866936?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/7153425078693866936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=7153425078693866936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7153425078693866936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/7153425078693866936'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/05/windows-key-r.html' title='Windows Key + R'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_CdGJeRl2kSI/RkCx6EA0O-I/AAAAAAAAAAc/dCCYjg18ZWo/s72-c/RunDialog.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-2382026916666486102</id><published>2007-02-21T06:05:00.000-05:00</published><updated>2008-12-09T19:01:36.706-05:00</updated><title type='text'>ASCII Art</title><content type='html'>&lt;div&gt;I was searching for some ASCII art and I found some cool sites.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://c2.com/cgi/wiki?AsciiArt"&gt;http://c2.com/cgi/wiki?AsciiArt&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chris.com/ASCII/"&gt;http://www.chris.com/ASCII/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.won.nl/dsp/usr/mvketel/Internet/Asciiart/linemain.html"&gt;http://www.won.nl/dsp/usr/mvketel/Internet/Asciiart/linemain.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.messhits.com/ascii-text-art.html"&gt;http://www.messhits.com/ascii-text-art.html&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_CdGJeRl2kSI/RdwpgXnCl7I/AAAAAAAAAAM/ne0B-IAbCsE/s1600-h/TazmanianDevil.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5033944119563687858" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_CdGJeRl2kSI/RdwpgXnCl7I/AAAAAAAAAAM/ne0B-IAbCsE/s320/TazmanianDevil.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-2382026916666486102?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/2382026916666486102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=2382026916666486102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2382026916666486102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/2382026916666486102'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/02/ascii-art.html' title='ASCII Art'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CdGJeRl2kSI/RdwpgXnCl7I/AAAAAAAAAAM/ne0B-IAbCsE/s72-c/TazmanianDevil.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-116829480520886741</id><published>2007-01-08T17:08:00.000-05:00</published><updated>2007-01-08T17:20:05.226-05:00</updated><title type='text'>Google Calculator</title><content type='html'>&lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt; has become more then just a search engine. It is a &lt;a href="http://www.google.com/search?hl=en&amp;q=john+smith+boston+ma"&gt;phone book&lt;/a&gt;, it looks up &lt;a href="http://www.google.com/movies?q=movie%3A90210&amp;amp;hl=en"&gt;local movies&lt;/a&gt;, it looks up &lt;a href="http://www.google.com/search?q=stock%20ge&amp;hl=en&amp;amp;sa=N&amp;tab=zw"&gt;stock quotes&lt;/a&gt;, it can tell you the &lt;a href="http://www.google.com/search?hl=en&amp;amp;lr=&amp;q=weather%3A+boston"&gt;weather&lt;/a&gt;, and &lt;a href="http://www.google.com/intl/en/help/features.html"&gt;more&lt;/a&gt;.  One thing that I thought was interesting was that it can be used as a calculator and can perform conversions between different units.&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;            - &lt;a href="http://www.google.com/search?q=1%20%2B%201%20in%20hex&amp;hl=en&amp;amp;near=boston&amp;sa=N&amp;amp;tab=zw"&gt;1 + 1 in hex&lt;br /&gt;&lt;/a&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=10+%2B+10+in+roman+numerals"&gt;10 + 10 in roman numerals&lt;/a&gt;&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=1+metric+ton+in+ton"&gt;1 metric ton in ton&lt;/a&gt;&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=5+cubits+in+feet"&gt;5 cubits in feet&lt;br /&gt;&lt;/a&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=20+degrees+Celsius+in+Fahrenheit"&gt;20 degrees Celsius in Fahrenheit&lt;/a&gt;&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=30+degrees+C+in+F"&gt;30 degrees C in F&lt;/a&gt;&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=6+fortnights"&gt;6 fortnights&lt;br /&gt;&lt;/a&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=6+fortnights+in+weeks"&gt;6 fortnights in weeks&lt;br /&gt;&lt;/a&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=pi+%2B+10+%2F+2"&gt;pi + 10 / 2&lt;/a&gt;&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=100+miles+in+kilometers"&gt;100 miles in kilometers&lt;br /&gt;&lt;/a&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=0b1100101*0b1001"&gt;0b1100101*0b1001&lt;/a&gt; (Binary math)&lt;br /&gt;            - &lt;a href="http://www.google.com/search?hl=en&amp;lr=&amp;amp;q=0x7f+%2B+0x7f"&gt;0x7f + 0x7f&lt;/a&gt; (Hexadecimal math)&lt;br /&gt;&lt;br /&gt;I can't seem to find a full list of valid units, but it does seem to support quite a lot.&lt;br /&gt;&lt;br /&gt;Also, google has &lt;a href="http://www.google.com/patents"&gt;patent searches&lt;/a&gt; (&lt;a href="http://www.google.com/patents"&gt;http://www.google.com/patents&lt;/a&gt;), &lt;a href="http://www.google.com/codesearch"&gt;source code searches&lt;/a&gt; (&lt;a href="http://www.google.com/codesearch"&gt;http://www.google.com/codesearch&lt;/a&gt;), and &lt;a href="http://blogsearch.google.com/"&gt;blog searches&lt;/a&gt; (&lt;a href="http://blogsearch.google.com/"&gt;http://blogsearch.google.com/&lt;/a&gt;).&lt;br /&gt;&lt;a href="http://blogsearch.google.com/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-116829480520886741?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/116829480520886741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=116829480520886741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116829480520886741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116829480520886741'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2007/01/google-calculator.html' title='Google Calculator'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-116536272254867309</id><published>2006-12-05T18:48:00.000-05:00</published><updated>2006-12-11T17:31:02.740-05:00</updated><title type='text'>Stereograms</title><content type='html'>My last name in Stereogram.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.todocom.net/images/Stereograms/Stereograms.JPG"&gt;(Click the image to see at full size.)&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.todocom.net/images/Stereograms/Stereograms.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand" alt="" src="http://www.todocom.net/images/Stereograms/Stereograms.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.todocom.net/images/Stereograms/Stereograms_view.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand" alt="" src="http://www.todocom.net/images/Stereograms/Stereograms_view.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/x/blogger/2374/358/1600/147927/Stereograms.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create your own at &lt;a href="http://www.eyetricks.com/stereograms/onlinetools/stereocreator.htm"&gt;http://www.eyetricks.com/stereograms/onlinetools/stereocreator.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/x/blogger/2374/358/1600/280317/Stereograms.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-116536272254867309?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/116536272254867309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=116536272254867309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116536272254867309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116536272254867309'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/12/stereograms.html' title='Stereograms'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-116370341137609965</id><published>2006-11-16T13:36:00.000-05:00</published><updated>2006-11-16T13:56:51.476-05:00</updated><title type='text'>Zune XP Theme</title><content type='html'>Yes, a free XP theme from Microsoft (and it’s not blue).&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/ZuneXPTheme.1.jpg" border="0" /&gt;&lt;br /&gt;You can download it from &lt;a href="http://go.microsoft.com/fwlink/?LinkID=75078"&gt;here&lt;/a&gt;. Or, you can download it from the &lt;a href="http://www.zune.net/en-us/meetzune/software.htm"&gt;Zune website&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-116370341137609965?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/116370341137609965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=116370341137609965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116370341137609965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/116370341137609965'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/11/zune-xp-theme.html' title='Zune XP Theme'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-115764897108408237</id><published>2006-09-07T12:51:00.000-04:00</published><updated>2006-09-14T09:54:44.363-04:00</updated><title type='text'>Happy Birthday Google</title><content type='html'>Google turns 8 (not seven as previously posted) today. Google's official birthday is September 7, 1998. Unfortunately, the folks at Google did not make their usual birthday doodle this year, so we had to take matters into our own hands...&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/8th_birthday-brush.0.gif" border="0" /&gt; You can read about Google's history &lt;a href="http://www.google.com/corporate/history.html"&gt;here&lt;/a&gt;. And, if you are looking for the September 7 date, you will just have to google for it. &lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-115764897108408237?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/115764897108408237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=115764897108408237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115764897108408237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115764897108408237'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/09/happy-birthday-google.html' title='Happy Birthday Google'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-115500536481182199</id><published>2006-08-07T22:40:00.000-04:00</published><updated>2006-08-08T06:15:49.786-04:00</updated><title type='text'>Maintainable Software</title><content type='html'>&lt;p&gt;In looking at some code today, I was reminded of Billy Hollis’s 2005 Grok Talk. If you haven’t seen it (or want to see it again) it can be found on Google Videos &lt;a href="http://video.google.com/videoplay?docid=-317659265568822821&amp;q=Billy+Hollis"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/BillyHollis.jpg" border="0" /&gt; &lt;p&gt;I think the real point is that building maintainable systems is more important then just cranking out reams of code. Software spends most of its life in the maintenance phase and not in the creation phase. This is a very important lesson for developers to learn. Although it is not easy to do, there must be a conscious effort to build maintainable software.&lt;br /&gt;&lt;br /&gt;Some things that I have found:&lt;br /&gt;- Inheritance can be very useful when you are trying to create things quickly, however inheritance can be very difficult to maintain. Form inheritance is one of those things that can make development very fast, however will ultimately make it very difficult for someone else to maintain. I am talking about the case where you have a base form that tries to do some logic and then you inherit off of it and try to extend it in a way to add or change the logic.&lt;br /&gt;- Another thing to think about is how many classes you have to touch in order to add a new field. You should try to keep the number of classes as low as possible. Try to separate your objects so that they don’t rely heavily on each other. Adding a new field is one of the most common ways software is grown.&lt;br /&gt;- Something else that should be obvious is that less code is better and the more straight-forward your code is, the easier it will be to maintain. Of course that is easier said then done. But none the less, it is something to strive for.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-115500536481182199?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/115500536481182199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=115500536481182199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115500536481182199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115500536481182199'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/08/maintainable-software.html' title='Maintainable Software'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-115314093300468945</id><published>2006-07-17T08:51:00.000-04:00</published><updated>2006-07-17T08:55:33.016-04:00</updated><title type='text'>Windows PowerShell</title><content type='html'>I &lt;a href="http://www.microsoft.com/powershell"&gt;downloaded the (CRT) version of Windows PowerShell (formerly known as Monad). &lt;/a&gt;I wanted to see how easy it would be to create a command off of an assembly. The idea of writing a library that can be used in a WinForm application, web page (on the server side), and now from the command-line is very exciting. I find batch files and script files very useful. There are times you need to perform a simple task and it is just easier to write a simple script file and run it from the command-line. It would be nice if you could develop applications and expose the same functionality in your application via command-line commands. Although PowerShell does have the ability to “&lt;em&gt;new&lt;/em&gt;” any .Net object and perform operations on it just as easily as you would a COM object in VBScript, it also has the ability to load custom Cmdlets. A Cmdlet is a command-line command that for the most part is very similar to an old DOS command. Microsoft has added this concept of verb dash noun (example &lt;em&gt;get-command&lt;/em&gt; or &lt;em&gt;get-process&lt;/em&gt;) as a naming convention, but other then that it still accepts arguments in pretty much the same way as a regular DOS command (example "&lt;em&gt;get-command *PSSnapin*"&lt;/em&gt; or "&lt;em&gt;get-command –verb “get”&lt;/em&gt;"). A Cmdlet lives as a first class citizen in the PowerShell world and Microsoft has made it fairly easy to create new ones. When you install Windows PowerShell you will get the &lt;em&gt;System.Management.Automation.dll&lt;/em&gt; that will hold the classes that you will need to inherit from when you create your own Cmdlet. It should be noted that your Cmdlet lives in an object called a PSSnapin that descends from Installer. The Installer is used by &lt;em&gt;InstallUtil.EXE&lt;/em&gt; to install your assembly and PSSnapin into Windows PowerShell. However, even though it is installed you must call &lt;em&gt;Add-PSSnapin&lt;/em&gt; followed by the name of your PSSnapin (the name that is defined in the Name property not the name of the DLL) before you will be able to use your new Cmdlets in Windows PowerShell. One thing to remember when you are creating a core DLL, a command-line object is a little different then objects that you would use in a WinForm application. The command-line is a different environment. It is transaction based while WinForm applications are primarily event driven. You should expect that if you want to have a DLL that will be used by both a WinForm application and a Windows PowerShell Cmdlet that you will have to design it in a way that would make it useful for the two environments. There is a pretty good article on &lt;a href="http://www.codeproject.com/useritems/getfromcopernic.asp"&gt;creating Cmdlets on CodeProject&lt;/a&gt;. This is a good place to start if you want to write your own Cmdlet. I do like the way that command-line flags and parameters are easily defined by just adding attributes to properties. This really simplifies development (no more reading the &lt;em&gt;args&lt;/em&gt; parameter in the traditional static main method). Microsoft has done a really good job of handling this. After working with this for awhile you will wonder how we ever programmed command-line applications before Windows PowerShell. I also like the way that Cmdlets are executed. You override the &lt;em&gt;BeginProcessing, ProcessRecord, EndProcessing&lt;/em&gt; and then you can use the &lt;em&gt;WriteObject, WriteError, WriteWarning, WriteVerbose&lt;/em&gt; and &lt;em&gt;WriteDebug&lt;/em&gt; to send different levels of information to the console that is controlled by standard flags that all Cmdlet have. It is exciting to see a more powerful command-line shell and I look forward to the official release.&lt;br /&gt;&lt;br /&gt;By the way, if you want to create and launch a WinForm from Windows PowerShell, enter the following at the command-line:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;[reflection.assembly]::LoadWithPartialName("System.Windows.Forms")&lt;br /&gt;$form = new-object system.windows.forms.form&lt;br /&gt;$form.text="HELLO WORLD"&lt;br /&gt;$form.showDialog();&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-115314093300468945?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/115314093300468945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=115314093300468945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115314093300468945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115314093300468945'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/07/windows-powershell.html' title='Windows PowerShell'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-115204090137627864</id><published>2006-07-04T15:06:00.000-04:00</published><updated>2006-07-04T15:21:41.386-04:00</updated><title type='text'>New Microsoft Keyboard</title><content type='html'>Yes, a Microsoft green button and and a Microsoft blue logo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/hardware/ultimatekeyboard/default.mspx"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/VistaKeyboard.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-115204090137627864?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/115204090137627864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=115204090137627864' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115204090137627864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115204090137627864'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/07/new-microsoft-keyboard.html' title='New Microsoft Keyboard'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-115028001604417899</id><published>2006-06-14T06:07:00.000-04:00</published><updated>2006-06-14T06:14:25.620-04:00</updated><title type='text'>Windows Colors</title><content type='html'>As &lt;a href="http://pluralsight.com/blogs/dbox/archive/2006/06/10/27231.aspx"&gt;Don Box points out&lt;/a&gt;, the four colors in the Windows logo (red, blue, yellow, and green) are the same colors that appear in the Google logo. Are these the magic colors? Did Google consciously or unconsciously copy Microsoft? Or are there just not that many primary colors to choose from?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/2374/358/1600/Windows95Logo.png"&gt;&lt;/a&gt;&lt;a href="http://photos1.blogger.com/blogger/2374/358/1600/Windows95Logo.0.png"&gt;&lt;img style="WIDTH: 64px; CURSOR: hand; HEIGHT: 44px" height="53" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/Windows95Logo.0.png" width="69" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/2374/358/1600/GoogleLogoSmall.gif"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/GoogleLogoSmall.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Or maybe, both Microsoft and Google are using the Olympic colors.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/2374/358/1600/OlympicsLogo.jpg"&gt;&lt;img style="WIDTH: 64px; CURSOR: hand; HEIGHT: 62px" height="33" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/OlympicsLogo.jpg" width="76" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-115028001604417899?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/115028001604417899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=115028001604417899' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115028001604417899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/115028001604417899'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/06/windows-colors.html' title='Windows Colors'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-114617828796738596</id><published>2006-04-27T18:35:00.000-04:00</published><updated>2006-04-27T18:53:34.116-04:00</updated><title type='text'>Steganography</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Steganography"&gt;Steganography&lt;/a&gt; is the science of hiding messages. Steganography is from the Greek for “covered writing”. The idea is that you can hide a file (or message) in an image. Images such as bitmaps and gif store the values for each pixel in a series of 3 bytes (where the first byte is for red, the second byte is for green, and the third byte is for blue). If you use the lower bit of the 3 bytes to store the bits of your hidden file, the image will still appear to be the same as the original image. An example of this can be found at &lt;a href="http://www.cs.vu.nl/~ast/books/mos2/zebras.html"&gt;http://www.cs.vu.nl/~ast/books/mos2/zebras.html&lt;/a&gt; (the web site for the book “&lt;a href="http://authors.phptr.com/tanenbaumcn4/"&gt;Computer Networks&lt;/a&gt;” by Andrew S. Tanenbaum). In the Tanenbaum example he has a 1024X768 pixel bitmap that contains a compressed file of five complete works of William Shakespeare. (BTW “&lt;a href="http://authors.phptr.com/tanenbaumcn4/"&gt;Computer Networks&lt;/a&gt;” is an excellent book and is the primary book that is used in the &lt;a href="http://my.harvard.edu/icb/icb.do?course=fas-ext21387"&gt;CSCIE-131b course&lt;/a&gt; that I am taking.)&lt;br /&gt;&lt;br /&gt;This technique can also be used to &lt;a href="http://en.wikipedia.org/wiki/Digital_watermark"&gt;watermark&lt;/a&gt; images and can also be used on music and video files (just imagine what you could store in a 1GB video file).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.vu.nl/~ast/books/mos2/zebras.html"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/zebras.2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.cs.vu.nl/~ast/books/mos2/zebras.html"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:85%;"&gt;(There is no hidden file in this image)&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/6545197-114617828796738596?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/114617828796738596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=114617828796738596' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114617828796738596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114617828796738596'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/04/steganography.html' title='Steganography'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-114523952022351279</id><published>2006-04-16T21:58:00.000-04:00</published><updated>2006-04-16T22:05:47.826-04:00</updated><title type='text'>Bill Gates and Napoleon Dynamite</title><content type='html'>If you haven’t seen &lt;a href="http://www.youtube.com/watch?v=YktZkyx4wtM"&gt;this &lt;/a&gt;yet, you should check it out.&lt;br /&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;a href="http://www.youtube.com/watch?v=YktZkyx4wtM"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 243px; CURSOR: hand; HEIGHT: 170px; TEXT-ALIGN: center" height="196" alt="" src="http://photos1.blogger.com/blogger/2374/358/320/Bill%20Gates%2C%20Back%20to%20School.0.jpg" width="277" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Brought to you by &lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-114523952022351279?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/114523952022351279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=114523952022351279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114523952022351279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114523952022351279'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/04/bill-gates-and-napoleon-dynamite.html' title='Bill Gates and Napoleon Dynamite'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-114493474569826845</id><published>2006-04-13T09:24:00.000-04:00</published><updated>2006-04-13T09:25:45.706-04:00</updated><title type='text'>Brett’s Corner</title><content type='html'>I have added the “Brett’s Corner” to the right hand side of my blog. The "Great" Brett McNealy requested a place on my blog to post his pictures. The first picture is a picture of me done in ASCII art. Brett’s hobbies include putting coworker’s faces on different bodies, so I expect that some of Brett’s pictures may get a little crazy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-114493474569826845?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/114493474569826845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=114493474569826845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114493474569826845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114493474569826845'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/04/bretts-corner.html' title='Brett’s Corner'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-114444231961789101</id><published>2006-04-07T16:37:00.000-04:00</published><updated>2006-04-07T16:42:20.506-04:00</updated><title type='text'>Model-View-Controller Song</title><content type='html'>&lt;a href="http://www.oreilly.com/catalog/covers/0596007124_cat.gif"&gt;&lt;/a&gt;&lt;br /&gt;I borrowed the book &lt;a href="http://www.oreilly.com/catalog/hfdesignpat/"&gt;Head First Design Patterns&lt;/a&gt; from a coworker. I wanted to read the section on Model-View-Controller. In the book there are the words to the “Model-View-Controller Song” (you can also &lt;a href="http://www.headfirstlabs.com/books/hfdp/media.html"&gt;listen to the mp3 from their website&lt;/a&gt;). The song is a little cheesy but I do like geek songs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oreilly.com/catalog/covers/0596007124_cat.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 161px; CURSOR: hand; HEIGHT: 193px" height="238" alt="" src="http://www.oreilly.com/catalog/covers/0596007124_cat.gif" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-114444231961789101?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/114444231961789101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=114444231961789101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114444231961789101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114444231961789101'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/04/model-view-controller-song.html' title='Model-View-Controller Song'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-114000880103054344</id><published>2006-02-15T08:05:00.000-05:00</published><updated>2006-02-15T08:06:41.043-05:00</updated><title type='text'>Ctrl+Mouse Wheel</title><content type='html'>I just found this one yesterday. Being that I just love finding shortcuts and hotkeys I wanted to share this one. If you hold down the Ctrl key and use the mouse wheel you can change the font size in IE. This also works in Outlook. Also this will zoom in and out inside of Word and Excel. I am not sure how often I will use this but it is cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-114000880103054344?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/114000880103054344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=114000880103054344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114000880103054344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/114000880103054344'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/02/ctrlmouse-wheel.html' title='Ctrl+Mouse Wheel'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113855743452902548</id><published>2006-01-29T12:51:00.000-05:00</published><updated>2006-01-29T12:57:14.540-05:00</updated><title type='text'>FedEx</title><content type='html'>My brother ruined FedEx for me.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://static.flickr.com/43/81821558_fa4856eaec.jpg?v=0"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 84px; CURSOR: hand; HEIGHT: 27px" height="74" alt="" src="http://static.flickr.com/43/81821558_fa4856eaec.jpg?v=0" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you look at the white space between the E and the X you will see an arrow. Now every time I see a FedEx truck or a FedEx label, all I see is that crazy arrow.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://static.flickr.com/14/92646471_d9da39a86c.jpg?v=0"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 82px; CURSOR: hand; HEIGHT: 30px" height="112" alt="" src="http://static.flickr.com/14/92646471_d9da39a86c.jpg?v=0" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I wonder if FedEx did this on purpose. Is it some kind of subliminal message?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113855743452902548?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113855743452902548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113855743452902548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113855743452902548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113855743452902548'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/01/fedex.html' title='FedEx'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113676915040591256</id><published>2006-01-08T20:11:00.000-05:00</published><updated>2006-01-08T20:13:43.683-05:00</updated><title type='text'>Shipping in the Technology Age</title><content type='html'>I think there is a lot that we can do to make the internet buying experience better. Why can’t companies tell you how long it will take to deliver your online order? I ordered iPod’s for my brothers this past Christmas from &lt;a href="http://www.apple.com"&gt;www.apple.com&lt;/a&gt;. I ordered them on Saturday and paid the extra $20 for the 2-3 day FedEx delivery thinking that I would receive them before I left on Thursday. (I should have known that 2-3 day delivery would really mean a 6-7 day delivery). I didn’t receive an email from apple until Tuesday telling me that they had sent the iPod’s and after checking the FedEx web site, I noticed that it was being sent from China. I quickly realized that I would not receive it until after I left. Why couldn’t apple tell me that my 2-3 days delivery would not actually be shipped for another 2 business days? We need to get to the point where companies can tell us exactly how long it will take to fill and deliver our orders. I was even willing to pay the extra money for the delivery. Online buying is all about delivering products. If you are in a hurry to receive it and pay the extra money to get it they should tell you how long it will take. I don’t think that it was FedEx’s fault. The problem was that apple didn’t tell me how long it was going to take for them to fill the order. This is a problem that most of not all online companies have. I realize that this can be a tricky thing, especially when quantities run out and things go on back order, but if I was willing to wait I would not have paid the extra money.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113676915040591256?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113676915040591256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113676915040591256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113676915040591256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113676915040591256'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2006/01/shipping-in-technology-age.html' title='Shipping in the Technology Age'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113465358828620840</id><published>2005-12-15T08:31:00.000-05:00</published><updated>2005-12-15T08:33:08.286-05:00</updated><title type='text'>Dating Design Patterns</title><content type='html'>I have been spending a lot of time looking into various software design patterns, so when I saw &lt;a href="http://www.thinkgeek.com/books/humor/7ddf/"&gt;this&lt;/a&gt; on Thinkgeek.com I couldn’t help but laugh. &lt;br /&gt;&lt;br /&gt;Christmas is almost here. What a great gift for your single geek friends.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113465358828620840?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113465358828620840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113465358828620840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113465358828620840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113465358828620840'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/12/dating-design-patterns.html' title='Dating Design Patterns'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113465348716042746</id><published>2005-12-15T08:29:00.000-05:00</published><updated>2005-12-15T08:31:27.170-05:00</updated><title type='text'>Web Messenger</title><content type='html'>I did not know there was a &lt;a href="http://webmessenger.msn.com/"&gt;web version of MSN Messenger&lt;/a&gt;.  It doesn’t have everything that the desktop version has (it only focuses on chat) but if your company has blocked the MSN Messenger ports this is a great work around.&lt;br /&gt;&lt;br /&gt;Actually the company that I work for blocked this site but didn't block the MSN Messenger ports. &lt;br /&gt;&lt;br /&gt;Chat on!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113465348716042746?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113465348716042746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113465348716042746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113465348716042746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113465348716042746'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/12/web-messenger.html' title='Web Messenger'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113348680644628547</id><published>2005-12-01T20:23:00.000-05:00</published><updated>2005-12-01T20:26:46.456-05:00</updated><title type='text'>IM the Encarta Server</title><content type='html'>&lt;p&gt;I saw &lt;a href="http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1912"&gt;this on Chris Sells' blog&lt;/a&gt;.  What you do is add &lt;a href="mailto:encarta@conversagent.com"&gt;encarta@conversagent.com&lt;/a&gt; to your MSN IM contract list and then you can chat with the Encarta server by asking it questions.  The questions are somewhat limiting, however the idea of chatting with a computer is very interesting.  Being that you are using an application that is primarily used to communicate with humans, this has an AI feel to it. It is very cool.&lt;br /&gt;&lt;br /&gt;Example Questions:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What is the population of the earth?&lt;/li&gt;&lt;li&gt;Solve x+2=5&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113348680644628547?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113348680644628547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113348680644628547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113348680644628547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113348680644628547'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/12/im-encarta-server.html' title='IM the Encarta Server'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113257884733103354</id><published>2005-11-21T08:13:00.000-05:00</published><updated>2005-11-21T08:14:07.530-05:00</updated><title type='text'>On the Effectiveness of Aluminium Foil Helmets</title><content type='html'>I thought &lt;a href="http://people.csail.mit.edu/rahimi/helmet/"&gt;this was good&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The funnies thing is that the first picture (of Ali Rahimi) looks just like one of the guys that I work with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113257884733103354?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113257884733103354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113257884733103354' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113257884733103354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113257884733103354'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/11/on-effectiveness-of-aluminium-foil.html' title='On the Effectiveness of Aluminium Foil Helmets'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-113139699897919774</id><published>2005-11-07T15:47:00.000-05:00</published><updated>2005-11-07T16:00:00.086-05:00</updated><title type='text'>Application Response Time</title><content type='html'>I was listening to a &lt;a href="http://www.cio.com/podcasts/spolsky.html"&gt;podcast interview with Joel Spolsky&lt;/a&gt; and the interviewer mentioned a quote that I thought was quite good. He quoted Jacob Nelson (I hope I got that correct).&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“If the application responds in a 10th of a second, then you feel like you are in control. If the application responds in a second, then you feel like you are being controlled. And if the application responds in 10 seconds, then it is broken.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;BTW: Joel had some interesting ideas on Ajax and Web 2.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-113139699897919774?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/113139699897919774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=113139699897919774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113139699897919774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/113139699897919774'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/11/application-response-time.html' title='Application Response Time'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112974678763254440</id><published>2005-10-19T14:29:00.000-04:00</published><updated>2005-10-19T14:33:07.640-04:00</updated><title type='text'>Silicon Art</title><content type='html'>&lt;p&gt;This is really cool. Over at &lt;a href="http://micro.magnet.fsu.edu/creatures/"&gt;Silicon Zone &lt;/a&gt;you can find some images found on processors. &lt;/p&gt;&lt;p&gt;I find it amazing how small these things are, you have to use a high powered-microscope just to see it. Even more amazing is the fact that chip builders would put these images on processors in the first place.&lt;/p&gt;&lt;br /&gt;&lt;a href="http://micro.magnet.fsu.edu/creatures/pages/daffy.html"&gt;Daffy Duck&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://micro.magnet.fsu.edu/creatures/pages/waldo.html"&gt;Where’s Waldo?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://micro.magnet.fsu.edu/creatures/pages/tasmanian.html"&gt;Tasmanian Devil&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://micro.magnet.fsu.edu/creatures/pages/shuttle.html"&gt;The Space Shuttle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://micro.magnet.fsu.edu/creatures/pages/dilbert.html"&gt;Dilbert&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112974678763254440?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112974678763254440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112974678763254440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112974678763254440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112974678763254440'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/10/silicon-art.html' title='Silicon Art'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112898859119257652</id><published>2005-10-10T19:52:00.000-04:00</published><updated>2005-10-10T19:56:31.196-04:00</updated><title type='text'>External Hard Drive</title><content type='html'>After a couple of hard-drive failures I decided to get an external hard drive. I bought an &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/B00067CA9Q/qid=1128986775/sr=8-3/ref=sr_8_xs_ap_i3_xgl147/002-4001711-9640815?v=glance&amp;s=pc&amp;amp;n=507846"&gt;external Coolmax CD-310-U2 series&lt;/a&gt;. It does not come with a hard drive but instead allows you to put your own hard drive in it. It connects to your computer via a USB connection. Being a hard drive junky, I like to have a couple of hard drives kicking around that hold my data. You can use any 3.5” IDE HDD (ATA66/100/133). &lt;em&gt;(It does NOT support SATA hard drives.)&lt;/em&gt; It is quite easy to setup, all you do is plug in a formatted hard drive (set to master or default) into the case then close up the case and you are up and running. I then downloaded &lt;a href="http://www.microsoft.com/windowsxp/using/digitalphotography/prophoto/synctoy.mspx"&gt;SyncToy for Windows XP&lt;/a&gt; and am using that to synchronize directories from my computer to the external hard drive. SyncToy was originally created to synchronize pictures across different machines. The only thing that I found that I wish it supported was the ability to synchronize just the files in a directory without scanning the subdirectories. So if you have files in you’re &lt;strong&gt;My Documents&lt;/strong&gt; directory that you want synchronized, you have to synchronize the entire &lt;strong&gt;My Documents&lt;/strong&gt; directory and subdirectories or copy the files to another folder. I ended up copying the files to a &lt;strong&gt;My Docs&lt;/strong&gt; folder under &lt;strong&gt;My Documents&lt;/strong&gt;. This is a little annoying but doable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112898859119257652?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112898859119257652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112898859119257652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112898859119257652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112898859119257652'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/10/external-hard-drive.html' title='External Hard Drive'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112560372704763692</id><published>2005-09-01T15:29:00.000-04:00</published><updated>2005-09-01T15:42:07.060-04:00</updated><title type='text'>Microsoft LogParser</title><content type='html'>&lt;a href="http://www.codinghorror.com/blog/archives/000369.html"&gt;Coding Horror&lt;/a&gt; had a write up on the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en"&gt;Microsoft LogParser&lt;/a&gt;. LogParser is an application that you can download and run via the command-line (there is also a COM DLL that you can use). You can write queries against the event log, the registry, CSV files, etc.&lt;br /&gt;&lt;br /&gt;I downloaded it and gave it a try. Here is a walk through of a test that I did to query a CSV file(s).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Test &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;I created a file called Test.csv that contains the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;TimeStamp, MessageType, Message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-14 18:56:55, Warning, One&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-14 14:02:23, Information, Two&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-14 14:02:23, Information, Three&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-14 12:00:00, Information, Four&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-14 00:41:47, Warning, Five&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-13 22:17:00, Information, Six&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-13 22:06:48, Information, Seven&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-13 22:06:48, Error, Eight&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-13 12:00:00, Information, Nine&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2004-03-12 22:30:47, Information, Ten&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I saved the file to the C:\ and then from the command-line I did the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;C:\Program Files\Log Parser 2.2&gt;logparser "Select * from c:\test.csv" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result of that was the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Filename    RowNumber TimeStamp           MessageType Message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;----------- --------- ------------------- ----------- -------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 2         2004-03-14 18:56:55 Warning     One&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 3         2004-03-14 14:02:23 Information Two&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 4         2004-03-14 14:02:23 Information Three&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 5         2004-03-14 12:00:00 Information Four&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 6         2004-03-14 00:41:47 Warning     Five&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 7         2004-03-13 22:17:00 Information Six&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 8         2004-03-13 22:06:48 Information Seven&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 9         2004-03-13 22:06:48 Error       Eight&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 10        2004-03-13 12:00:00 Information Nine&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv 11        2004-03-12 22:30:47 Information Ten&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statistics:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-----------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Elements processed: 10&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Elements output:    10&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Execution time:     0.00 seconds &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I then copied the Test.csv file, creating "Copy of Test.csv", and ran the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;C:\Program Files\Log Parser 2.2&gt;logparser "Select Filename, TimeStamp, MessageType, Message from C:\*.csv where messageType ='Warning'"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result of that was the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Filename            TimeStamp           MessageType Message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------- ------------------- ----------- -------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Copy of Test.csv 2004-03-14 18:56:55 Warning     One&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Copy of Test.csv 2004-03-14 00:41:47 Warning     Five&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv         2004-03-14 18:56:55 Warning     One&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\Test.csv         2004-03-14 00:41:47 Warning     Five&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statistics:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-----------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Elements processed: 20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Elements output:    4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Execution time:     0.02 seconds&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The idea of being able to query a directory of files is cool.&lt;br /&gt;&lt;br /&gt;There is a lot more to LogParser so download it an give it a try.&lt;br /&gt;&lt;br /&gt;I also found an artical on using the LogParser DLL in a VBScript "&lt;a href="http://www.microsoft.com/technet/community/columns/scripts/sg0105.mspx"&gt;All You Need is Log (Well, Log Parser)&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112560372704763692?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112560372704763692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112560372704763692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112560372704763692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112560372704763692'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/09/microsoft-logparser.html' title='Microsoft LogParser'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112501840325615802</id><published>2005-08-25T20:55:00.000-04:00</published><updated>2005-08-25T21:06:43.263-04:00</updated><title type='text'>Floating-Point Numbers</title><content type='html'>&lt;p&gt;I have been working with floating-point numbers. Floating-point numbers are not exact in computers, they are numbers that closely represent a decimal number. &lt;/p&gt;&lt;p&gt;See the following URL’s for more information floating-point numbers.&lt;br /&gt;&lt;a href="http://www.lahey.com/float.htm"&gt;www.lahey.com/float.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/dotnet/ExtremeFloatingPoint1.asp"&gt;www.codeproject.com/dotnet/ExtremeFloatingPoint1.asp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www2.hursley.ibm.com/decimal/decifaq1.html"&gt;www2.hursley.ibm.com/decimal/decifaq1.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Here are some things that I found quite surprising.&lt;br /&gt;&lt;br /&gt;1)  In Microsoft Excel, enter the following into a cell.&lt;br /&gt;&lt;br /&gt;=(0.5 - 0.4 - 0.1)&lt;br /&gt;&lt;br /&gt;The result should be 0, however it is actually -2.77556E-17.&lt;br /&gt;&lt;br /&gt;2)      I created a C# windows applications and dropped a button onto the form and then added the following code to the button’s click event.&lt;br /&gt;&lt;br /&gt;double f = Convert.ToDouble("1000000000.12345678901");&lt;br /&gt;MessageBox.Show(f.ToString("0.0000000000000000"));&lt;br /&gt;f = f - 1000000000;&lt;br /&gt;MessageBox.Show(f.ToString("0.0000000000000000"));&lt;br /&gt;&lt;br /&gt;When you run the application you will get the following message boxes:&lt;br /&gt;&lt;br /&gt;1)    1000000000.1234600000000000&lt;br /&gt;2)    0.1234568357467650&lt;br /&gt;&lt;br /&gt;You would expect that the number displayed in the second message box would be 0.12346 because that is what the fractional part is after the initial assignment of the f variable. But it turns out that after you subtract 1 billion, something happens to cause the numbers at the end to appear. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112501840325615802?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112501840325615802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112501840325615802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112501840325615802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112501840325615802'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/08/floating-point-numbers.html' title='Floating-Point Numbers'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112431096857090694</id><published>2005-08-17T16:34:00.000-04:00</published><updated>2005-08-17T16:36:08.576-04:00</updated><title type='text'>Geek Joke</title><content type='html'>&lt;p&gt;I read this awhile ago. And, the more I think about it, the funnier it becomes. It is funny because it’s true. Then, if you step back from it, it is just plain funny and clever.  &lt;br /&gt;&lt;br /&gt;From &lt;a href="http://www.codinghorror.com/blog/archives/000345.html"&gt;Coding Horror&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;em&gt;A Software Engineer, a Hardware Engineer and a Departmental Manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of control down the road, bouncing off the crash barriers, until it miraculously ground to a halt, scraping along the mountainside. The car's occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do?&lt;br /&gt;"I know", said the Departmental Manager, "Let's have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement find a solution to the Critical Problems, and we can be on our way."&lt;br /&gt;"No, no", said the Hardware Engineer, "That will take far too long, and besides, that method has never worked before. I've got my Swiss Army knife with me, and in no time at all I can strip down the car's braking system, isolate the fault, fix it, and we can be on our way."&lt;br /&gt;"Well", said the Software Engineer, "Before we do anything, I think we should push the car back up the road and see if it happens again." &lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112431096857090694?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112431096857090694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112431096857090694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112431096857090694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112431096857090694'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/08/geek-joke.html' title='Geek Joke'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-112345834940430610</id><published>2005-08-07T19:41:00.000-04:00</published><updated>2005-09-01T15:49:26.206-04:00</updated><title type='text'>Mashups</title><content type='html'>&lt;p&gt;I have been listing to some Mashups from &lt;a href="http://www.MashupTown.com"&gt;www.MashupTown.com&lt;/a&gt;. These are awesome peaces of arts. If you have never listened to a Mashups before check out some of my favorites listed below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://viprhealthcare.typepad.com/mashup_of_the_week_podcas/files/Gotta%20Make%20Betty%20Sweat%20at%20Mashuptownradio.mp3"&gt;Gotta Make Betty Sweat &lt;/a&gt;&lt;br /&gt;&lt;a href="http://viprhealthcare.typepad.com/mashup_of_the_week_podcas/files/Divide__Kreate_-_Sharp_dressed_party.mp3"&gt;Sharp dressed party&lt;/a&gt;&lt;br /&gt;&lt;a href="http://viprhealthcare.typepad.com/mashup_of_the_week_podcas/files/Bootystition%20www.mashuptown.com.mp3"&gt;Bootystition &lt;/a&gt;&lt;br /&gt;&lt;a href="http://viprhealthcare.typepad.com/mashup_of_the_week_podcas/files/Spending%20one%20of%20these%20nights%20with%20Kelly%20.mp3"&gt;Spending one of these nights with Kelly&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.djearworm.lunarpages.com/Stairway_to_Bootleg_Heaven_256.mp3"&gt;Stairway to Bootleg Heaven&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-112345834940430610?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/112345834940430610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=112345834940430610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112345834940430610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/112345834940430610'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/08/mashups.html' title='Mashups'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111825206452788015</id><published>2005-06-08T11:19:00.000-04:00</published><updated>2005-06-08T13:34:24.550-04:00</updated><title type='text'>VBScript - Add a file to iTunes</title><content type='html'>&lt;p&gt;Rab dropped a comment on my &lt;a href="http://rtodosic.blogspot.com/2005/01/ipodder-vbscript-copy-new-podcasts-to.html"&gt;iPodder VBScript(Copy New PodCast to My SD Card)&lt;/a&gt; post with an example of how to adding a file to iTunes. After looking at his script, I thought it might be cool to see if I could create a Playlist in iTunes and then add the file.  &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;001  ' Variables&lt;br /&gt;002  dim iTunes, FullPath, playlist&lt;br /&gt;003 &lt;br /&gt;004  FullPath = "C:\Music\Machups\wewillrockbeverlyhills.mp3"&lt;br /&gt;005 &lt;br /&gt;006  ' Connect to iTunes app&lt;br /&gt;007  set iTunes = CreateObject("iTunes.Application.1")&lt;br /&gt;008 &lt;br /&gt;009  ' Create playlist&lt;br /&gt;010  set playlist = iTunes.LibrarySource.Playlists.ItemByName("My Test")&lt;br /&gt;011  if playlist is Nothing then&lt;br /&gt;012    iTunes.CreatePlaylist("My Test")&lt;br /&gt;013    set playlist = iTunes.LibrarySource.Playlists.ItemByName("My Test")&lt;br /&gt;014  end if&lt;br /&gt;015 &lt;br /&gt;016  ' Add file to playlist&lt;br /&gt;017  playlist.AddFile(FullPath)&lt;br /&gt;018 &lt;br /&gt;019  set iTunes = Nothing&lt;br /&gt;020  set playlist = Nothing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Line 10 tries to get a reference to a Playlist called “My Test”. If the Playlist does not exist the playlist variable will be Nothing. If the playlist variable is Nothing, “My Test” Playlist will be created (line 12) and on line 13 the playlist variable will get a reference to the newly created Playlist. Then on line 17 the mp3 file is added to that Playlist.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-111825206452788015?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111825206452788015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111825206452788015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111825206452788015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111825206452788015'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/06/vbscript-add-file-to-itunes.html' title='VBScript - Add a file to iTunes'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111780704836544127</id><published>2005-06-03T09:49:00.000-04:00</published><updated>2005-06-03T09:57:28.370-04:00</updated><title type='text'>Google-fu</title><content type='html'>&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;There are some great Google commands over at &lt;/span&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000296.html"&gt;Coding Horror&lt;/a&gt;.  (I keep going back to this page, maybe because of the Ninja.)&lt;br /&gt;&lt;br /&gt;Also, &lt;a href="http://www.engadget.com/entry/1234000917034960/"&gt;Engadget&lt;/a&gt; has a cool article on how to customize a Google map. &lt;a href="http://www.engadget.com/entry/1234000917034960/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-111780704836544127?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111780704836544127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111780704836544127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111780704836544127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111780704836544127'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/06/google-fu.html' title='Google-fu'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111480572614833901</id><published>2005-04-29T16:12:00.000-04:00</published><updated>2005-09-01T15:48:50.730-04:00</updated><title type='text'>The Long Tail</title><content type='html'>&lt;span style="font-family:'Times New Roman';"&gt;If you have not seen Chris Anderson's artical &lt;a href="http://www.wired.com/wired/archive/12.10/tail_pr.html"&gt;The Long Tail&lt;/a&gt; in Wired Magazine, it is worth a read. It is about how buying and selling books, music and movies has changed (and is changing) with the internet.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-111480572614833901?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111480572614833901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111480572614833901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111480572614833901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111480572614833901'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/04/long-tail.html' title='The Long Tail'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111394567878009066</id><published>2005-04-19T17:15:00.000-04:00</published><updated>2005-04-19T17:21:18.783-04:00</updated><title type='text'>TaskList</title><content type='html'>TaskList is a cool command-line Windows XP command that can tell you additional information about processes that are running on your machine. I happened across this when I was looking for what the svchost.exe does. (You may have seen this in your “Windows Task Manager”.)  svchost.exe runs services on your machine and to see what services are running enter the following at the command prompt.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tasklist /svc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually the &lt;span style="font-family:courier new;"&gt;/svc&lt;/span&gt; will display all the services for all the running processes and if the process isn’t running a service it will display “N/A”.  If you only want to look at the svchost.exe process you can use the &lt;span style="font-family:courier new;"&gt;/fi&lt;/span&gt; switch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tasklist /svc /fi "IMAGENAME eq svchost.exe"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IMAGENAME is the name of the column that you would like to filter (IMAGENAME is actually the process exe name). eq stands for equals and svchost.exe is the value.&lt;br /&gt;&lt;br /&gt;Another useful switch is the &lt;span style="font-family:courier new;"&gt;/m&lt;/span&gt;.  This will display all the DLL’s that are loaded for each of the running processes. Enter the following at the command prompt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tasklist /m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To see a list of all the processes that have a specific DLL loaded you can enter the following.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tasklist /m netapi*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will display all the processes that are running with the netapi32.dll loaded.  (“*” is a wildcard.  You can type out netapi32.dll if you like.)&lt;br /&gt;&lt;br /&gt;For more help on this command you can use the &lt;span style="font-family:courier new;"&gt;/?&lt;/span&gt; switch. Enter the following at the command prompt to see more information on using the tasklist command.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tasklist /?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-111394567878009066?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111394567878009066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111394567878009066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111394567878009066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111394567878009066'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/04/tasklist.html' title='TaskList'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111290112564677507</id><published>2005-04-07T14:13:00.000-04:00</published><updated>2005-04-07T15:12:05.650-04:00</updated><title type='text'>Will monkeys replace programmers?</title><content type='html'>As I was pondering and Googling this, I came across the term “Code Monkey”.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Code_monkey"&gt;Wikipedia's definition &lt;/a&gt;- "&lt;span style="font-style: italic;"&gt;Amateur &lt;/span&gt;&lt;a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Computer_programmer" title="Computer programmer"&gt;computer programmer&lt;/a&gt;&lt;span style="font-style: italic;"&gt; who stiches together snippets of code found on the internet and in books and puts them together to make an application, without having an appreciation or understanding what the principles behind the code or the concept of coding are.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://c2.com/cgi/wiki?CodeMonkey"&gt;Another Wiki definition&lt;/a&gt; - (down on the page) "&lt;span style="font-style: italic;"&gt;Rather than an insult for a programmer who is sloppy (which the above implies), I hear it used for someone who is doomed to work on "unglamorous" programming tasks, often using older/antiquated/"uncool" technology. Examples of work that a &lt;/span&gt;&lt;a style="font-style: italic;" href="http://c2.com/cgi/wiki?CodeMonkey"&gt;CodeMonkey&lt;/a&gt;&lt;span style="font-style: italic;"&gt; might do in this definition (I do not intend to denigrate these tasks myself)&lt;/span&gt;" (hmm... Maybe I am a code monkey)&lt;br /&gt;&lt;br /&gt;I also thought this was good (also from the wiki site above):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; “If an infinite number of monkeys on an infinite number of type-writers randomly tap the keys, would they eventually produce Hamlet? And would they eventually be able to produce {insert your favorite program}?”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also found this funny fictional story about monkeys on strike at Fox Broadcasting.&lt;br /&gt;&lt;a href="http://blog.bluedistortion.com/2005/01/10/monkeys-working-around-the-clock/"&gt;Monkeys NOT Working Around the Clock, On Strike&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-111290112564677507?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111290112564677507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111290112564677507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111290112564677507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111290112564677507'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/04/will-monkeys-replace-programmers.html' title='Will monkeys replace programmers?'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-111212811445219071</id><published>2005-03-29T15:27:00.000-05:00</published><updated>2005-03-29T15:28:34.470-05:00</updated><title type='text'>GMail Drive</title><content type='html'>&lt;p class="MsoNormal"&gt;I have installed the &lt;a href="http://www.viksoe.dk/code/gmail.htm"&gt;GMail Drive&lt;/a&gt;. This is really cool if you have multiple computers at multiple locations (not on the same network). It is really handy to have a internet drive.&lt;span style=""&gt;  &lt;/span&gt;And using your free GMail account is a great idea.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;       &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt;Hmm… I wonder if someone will create a Hotmail Drive?&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;br /&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/6545197-111212811445219071?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/111212811445219071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=111212811445219071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111212811445219071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/111212811445219071'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/03/gmail-drive.html' title='GMail Drive'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110927920396998146</id><published>2005-02-24T16:03:00.000-05:00</published><updated>2005-02-24T16:06:43.970-05:00</updated><title type='text'>Linux fan concedes Microsoft is more secure</title><content type='html'>&lt;a href="http://linux.quicksurf.com/?p=1412"&gt;This is very interesting&lt;/a&gt;.  What next, will people say that Microsoft is more stable?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110927920396998146?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110927920396998146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110927920396998146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110927920396998146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110927920396998146'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/02/linux-fan-concedes-microsoft-is-more.html' title='Linux fan concedes Microsoft is more secure'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110780812280723294</id><published>2005-02-07T15:25:00.000-05:00</published><updated>2005-04-21T16:44:19.616-04:00</updated><title type='text'>Values of a Great Programmer</title><content type='html'>&lt;p&gt;What are the values of a great programmer? &lt;/p&gt;&lt;p&gt;&lt;em&gt;Laziness, Impatience, and Hubris&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Read the &lt;a href="http://c2.com/cgi/wiki?LazinessImpatienceHubris"&gt;Brad Appleton&lt;/a&gt;&lt;a href="http://c2.com/cgi/wiki?LazinessImpatienceHubris"&gt;'s Wiki post&lt;/a&gt;&lt;br /&gt;Read &lt;a href="http://distribucon.com/blog/archive/2005/02/06/458.aspx"&gt;Dan Miser's Thoughts&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110780812280723294?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110780812280723294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110780812280723294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110780812280723294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110780812280723294'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/02/values-of-great-programmer.html' title='Values of a Great Programmer'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110660198210828165</id><published>2005-01-24T20:15:00.000-05:00</published><updated>2005-01-25T15:42:55.076-05:00</updated><title type='text'>Another iPodder VBScript (Delete Old PodCasts) </title><content type='html'>Another management problem with &lt;a href="http://www.ipodder.org/"&gt;iPodder&lt;/a&gt; is clearing out old PodCasts. And I have another VBScript file that can help manage this problem as well.&lt;br /&gt;&lt;br /&gt;The following script will scan the files in your iTunes looking for iPodder files that are a week old and HAVE been played. Also, because you may run across a PodCast that you would like to keep, I have added and additional check on the Rating column. If you would like to keep a PodCast just set the rating to something other then “None”.&lt;br /&gt;&lt;br /&gt;To run the iDelOldPodCasts.vbs script you can just double click it. Or if you want to run it with the –S command line variable you will have to create a batch file or a shortcut.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;My apologies for the formatting.&lt;/em&gt; (&lt;a href="http://www.todocom.net/Articles/iPodder%20Script%20%282%29/iDelOldPodCasts_LineNum.txt"&gt;Formated&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-size:78%;"&gt;001 '-----------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;002 ' This is a script file that will delete old PodCasts. This works with iPodder that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;003 ' downloads files to your "My Documents\My Received Podcasts" directory. The files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;004 ' in your iTunes library will be scanned looking for files that have been played &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;005 ' and the “Last Played” date must be older than seven days and the rating must be 0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;006 ' (This will not delete old files that have ratings). You will be prompted to delete&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;007 ' the files. If no files where found you will get a message telling you that no&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;008 ' files where found. You can use the –S command line argument so that all files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;009 ' will be deleted without being prompted, otherwise you will be prompted for each&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;010 ' file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;011 '&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;012 ' By: Richard Todosichuk &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;013 ' &lt;a href="mailto:rtodosic@hotmail.com"&gt;rtodosic@hotmail.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;014 '-----------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;015 Option Explicit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;016 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;017 Dim fso ' Scripting.FileSystemObject object used to copy files.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;018 Dim Shell ' WScript.Shell object used to access information about the windows shell. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;019 Dim args ' The command line argurments.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;020 Dim arg ' A command line argurment.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;021 Dim iTunesApp ' iTunes.Application object used to access the iTunes application.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;022 Dim mainLibrary ' The iTunes Library object.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;023 Dim tracks ' The tracks collection object of the Library object. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;024 Dim currTrack ' The current track object from the Library in iTunes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;025 Dim TestDate ' Now minus seven days.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;026 Dim PodCastDir ' The iPodder root download directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;027 Dim FileList ' The list of files that have been copied.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;028 Dim PromptVal ' The value of the message box for whether to delete the file or not.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;029 Dim SilentFlag ' Command line flag that if set will not prompt the use to delete the file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;030 Dim i ' A counter variable.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;031 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;032 Set args = WScript.Arguments&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;033 Set fso = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;034 Set Shell = CreateObject("WScript.Shell") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;035 Set iTunesApp = CreateObject("iTunes.Application.1")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;036 Set mainLibrary = iTunesApp.LibraryPlaylist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;037 Set tracks = mainLibrary.Tracks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;038 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;039 TestDate = (Date - 7)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;040 PodCastDir = Shell.SpecialFolders("MyDocuments") &amp; "\My Received Podcasts\"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;041 FileList = ""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;042 SilentFlag = False&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;043 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;044 ' Scan command line arguments&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;045 For Each arg in args &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;046 ' Is it a flag.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;047 If Instr(1, arg, "-", 1) = 1 or Instr(1, arg, "/", 1) = 1 Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;048 ' Check for list flag&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;049 If UCase(arg) = "-S" or UCase(arg) = "/S" then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;050 SilentFlag = True&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;051 End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;052 End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;053 Next&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;054 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;055 PromptVal = MsgBox ("Delete all PodCasts that are a week old." _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;056 &amp;amp;amp;amp;amp; chr(13) &amp; chr(10) &amp;amp; chr(13) &amp; chr(10) &amp;amp; "Continue?", vbYesNo + vbQuestion, "Delete PodCasts")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;057 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;058 If PromptVal = 6 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;059 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;060 i = tracks.Count&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;061 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;062 While i &gt; 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;063 Set currTrack = tracks.Item(i)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;064 If currTrack.Kind = 1 AND _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;065 currTrack.PlayedDate &lt;&gt; 0 AND _ &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:times new roman;"&gt;066 currTrack.DateAdded &lt;&gt;&lt;br /&gt;067 currTrack.Rating = 0 AND _&lt;br /&gt;068 currTrack.Location &lt;&gt; "" Then&lt;br /&gt;069 If Instr(1, currTrack.Location, PodCastDir, 1) &gt; 0 Then&lt;br /&gt;070 If SilentFlag then&lt;br /&gt;071 'Delete files&lt;br /&gt;072 If (fso.FileExists(currTrack.Location)) Then&lt;br /&gt;073 fso.DeleteFile(currTrack.Location)&lt;br /&gt;074 End If&lt;br /&gt;075 currTrack.Delete&lt;br /&gt;076 Else&lt;br /&gt;077 PromptVal = MsgBox ("Delete file " &amp; currTrack.Location &amp;amp; "?", vbYesNo + vbQuestion, "Delete PodCast")&lt;br /&gt;078&lt;br /&gt;079 If PromptVal = 6 then&lt;br /&gt;080 'Build msg of all files&lt;br /&gt;081 If FileList &lt;&gt; "" Then&lt;br /&gt;082 FileList = FileList &amp;amp; chr(13) &amp; chr(10) &amp;amp; currTrack.Location&lt;br /&gt;083 Else&lt;br /&gt;084 FileList = currTrack.Location&lt;br /&gt;085 End If&lt;br /&gt;086&lt;br /&gt;087 'Delete files&lt;br /&gt;088 If (fso.FileExists(currTrack.Location)) Then&lt;br /&gt;089 fso.DeleteFile(currTrack.Location)&lt;br /&gt;090 End If&lt;br /&gt;091 currTrack.Delete&lt;br /&gt;092 End If&lt;br /&gt;093 End If&lt;br /&gt;094 End If&lt;br /&gt;095 End If&lt;br /&gt;096 i = i - 1&lt;br /&gt;097 WEnd&lt;br /&gt;098&lt;br /&gt;099 If FileList = "" Then&lt;br /&gt;100 WScript.Echo "No files where deleted!"&lt;br /&gt;101 Else&lt;br /&gt;102 WSCript.Echo "The following files have been deleted:" &amp; chr(13) &amp;amp;amp;amp;amp;amp; chr(10) &amp; chr(13) &amp;amp; chr(10) &amp;amp; FileList&lt;br /&gt;103 End If&lt;br /&gt;104&lt;br /&gt;105 End IF&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;(Download &lt;a href="http://www.todocom.net/Articles/iPodder%20Script%20%282%29/iDelOldPodCasts.vbs"&gt;iDelOldPodCasts.vbs&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;The code is not that complicated. Lines 45 to 53 handle searching the command line arguments that were passed into the script. Line 62 starts the loop that loops through all of the tracks in iTunes. Line 64 to 69 tests the track to see if it is in fact a file, the “Last Played” column is not blank, the “Date Added” column is older the seven days, the “Rating” column is blank, and the file is in the iPodder download directory. Then line 72 to 75 performs the delete without the prompt if –S was passed into that command line argument. And lines 77 to 85 will prompt you to delete the file and lines 88 to 91 perform the delete. After all of the tracks have been tested lines 99 to 103 will handle telling you either no files have been deleted or will display a list of all of the deleted files.&lt;br /&gt;&lt;br /&gt;I should also mention that if you are running McAfee or other virus scanners this script may not work. Virus scanner writers like to re-implement the windows system Scripting.FileSystemObject and WScript.Shell objects. You can re-register the original windows COM objects and this will work fine. However, you should be aware that these files have been re-implemented for a reason. I don’t mean to scare people away from doing this but I mention this for two reasons. First I spent hours trying to figure out why things would not work and I don’t what you to do the same. Furthermore, if you have other virus scanners and spyware installed, you may be in luck. Better (well more script friendly) virus scanners and spyware software will detect that you are trying to run these objects and will prompt you to make sure that you really want to run them. This is a good approach. This will allow you to run VBScript files in a secure way. So, you CAN have your scripts and execute them too.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110660198210828165?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110660198210828165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110660198210828165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110660198210828165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110660198210828165'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/01/another-ipodder-vbscript-delete-old.html' title='Another iPodder VBScript (Delete Old PodCasts) '/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110631758839337721</id><published>2005-01-21T07:30:00.000-05:00</published><updated>2005-01-25T12:19:34.340-05:00</updated><title type='text'>iPodder VBScript (Copy New PodCasts to My SD Card)</title><content type='html'>I have been an &lt;a href="http://www.ipodder.org/"&gt;iPodder&lt;/a&gt; user for a while now. And like others I have been thinking about content management. When you are downloading large MP3 files it makes sense to find ways to try to manage these files. Because iPodder works with iTunes and because there is an &lt;a href="http://developer.apple.com/sdk/itunescomsdk.html"&gt;API available for iTunes (on Windows)&lt;/a&gt; I have created some &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&amp;displaylang=en"&gt;VBScript files&lt;/a&gt; to help me perform some common tasks.&lt;br /&gt;&lt;br /&gt;First of all the way that I manage my files in iTunes is to display the “Last Played” column (if it is not visible in your iTunes just right click on the header and click “Last Played”). With the “Last Played” column I can quickly tell if I have listened to the PodCast or not.&lt;br /&gt;&lt;br /&gt;The first thing that I wanted to manage was to be able to copy newly downloaded PodCasts to my Pocket PC (I have not broken down and bought and iPod yet). The script that I wrote will scan the files in iTunes looking for files that have been added in the last seven days (“Date Added” is within seven days), has not been listened to (“Last Played” is blank) and is in the iPodder download directory (this should be “My Documents\ My Received Files” directory). The files that are found will be copied to a directory that I pass into the script. I have also added a &lt;b&gt;–U&lt;/b&gt; flag that will update the “Last Played” column to now (I assume that if I copy the files to my Pocket PC that I will listen to them on my Pocket PC).&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;I have a &lt;b&gt;batch&lt;/b&gt; file with the following in it.&lt;br /&gt;&lt;code&gt;iNewPodCasts -U E:\Podcasts&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Where &lt;b&gt;iNewPodCasts&lt;/b&gt; is the VBScript file and &lt;b&gt;–U&lt;/b&gt; is the flag to update the “Last Played” column and &lt;b&gt;E:\Podcasts&lt;/b&gt; is the destination folder (my SD card that I will use in my Pocket PC). It should also be noted that the &lt;b&gt;E:\Podcasts&lt;/b&gt; directory must exist.&lt;br /&gt;&lt;br /&gt;Additionally I have also added a &lt;b&gt;–L&lt;/b&gt; flag to the &lt;b&gt;iNewPodCasts&lt;/b&gt; VBScript that will just list the new PodCast files. This is useful if you don’t want to copy the PodCast files but just see what the new PodCast are. If you use the &lt;b&gt;–L&lt;/b&gt; flag the destination directory will be ignored.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Here is the code. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;My apologies for the formatting.&lt;/em&gt; (&lt;a href="http://www.todocom.net/Articles/iPodder%20Script/iNewPodCasts_LineNum.txt"&gt;Formatted&lt;/a&gt;)&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;font-size:78%;"&gt;001 '-----------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;font-size:78%;"&gt;002 ' This will copy newly downloaded files from iPodder to a specified directory. Files&lt;br /&gt;003 ' from the "My Documents\My Received Podcasts" directory that have not been played&lt;br /&gt;004 ' and have been downloaded within the last seven days will be copied to the&lt;br /&gt;005 ' destination folder. If the –U flag is in the command line argument then the&lt;br /&gt;006 ' “Last Played” column will be set to now). If the –L flag is in the command line&lt;br /&gt;007 ' then the files will only be listed and not copied.&lt;br /&gt;008 '&lt;br /&gt;009 ' By: Richard Todosichuk&lt;br /&gt;010 ' rtodosic@hotmail.com&lt;br /&gt;011 '-----------------------------------------------------------------------------------&lt;br /&gt;012 Option Explicit&lt;br /&gt;013&lt;br /&gt;014 Dim fso ' Scripting.FileSystemObject object used to copy files.&lt;br /&gt;015 Dim Shell ' WScript.Shell object used to access information about the windows shell.&lt;br /&gt;016 Dim args ' The command line argurments.&lt;br /&gt;017 Dim arg ' A command line argurment.&lt;br /&gt;018 Dim iTunesApp ' iTunes.Application object used to access the iTunes application.&lt;br /&gt;019 Dim mainLibrary ' The iTunes Library object.&lt;br /&gt;020 Dim tracks ' The tracks collection object of the Library object.&lt;br /&gt;021 Dim currTrack ' The current track object from the Library in iTunes.&lt;br /&gt;022 Dim TestDate ' Now minus seven days.&lt;br /&gt;023 Dim PodCastDir ' The iPodder root download directory.&lt;br /&gt;024 Dim FileList ' The list of files that have been copied.&lt;br /&gt;025 Dim DestFolder ' The destination folder.&lt;br /&gt;026 Dim UpdateLastPlayed ' Flag to update Last Played column in iTunes.&lt;br /&gt;027 Dim ListOnly ' Flag to display only a list of resent PodCasts.&lt;br /&gt;028 Dim i ' A counter variable.&lt;br /&gt;029 Dim Msg ' A string for a message.&lt;br /&gt;030 Dim f ' A file object.&lt;br /&gt;031&lt;br /&gt;032 Set args = WScript.Arguments&lt;br /&gt;033 Set fso = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;034&lt;br /&gt;035 UpdateLastPlayed = False&lt;br /&gt;036 ListOnly = False&lt;br /&gt;037 DestFolder = ""&lt;br /&gt;038&lt;br /&gt;039 FileList = ""&lt;br /&gt;040 TestDate = (Date - 7)&lt;br /&gt;041&lt;br /&gt;042 ' Scan command line arguments&lt;br /&gt;043 For Each arg in args&lt;br /&gt;044 ' Is it a flag.&lt;br /&gt;045 If Instr(1, arg, "-", 1) = 1 or Instr(1, arg, "/", 1) = 1 Then&lt;br /&gt;046 ' Check for list flag&lt;br /&gt;047 If UCase(arg) = "-L" or UCase(arg) = "/L" then&lt;br /&gt;048 ListOnly = True&lt;br /&gt;049 End If&lt;br /&gt;050&lt;br /&gt;051 ' Check for update flag&lt;br /&gt;052 If UCase(arg) = "-U" or UCase(arg) = "/U" Then&lt;br /&gt;053 UpdateLastPlayed = True&lt;br /&gt;054 End If&lt;br /&gt;055 Else&lt;br /&gt;056 ' Only grab the first none flag&lt;br /&gt;057 If DestFolder = "" Then&lt;br /&gt;058 DestFolder = arg&lt;br /&gt;059 End If&lt;br /&gt;060 End If&lt;br /&gt;061 Next&lt;br /&gt;062&lt;br /&gt;063 If args.Count &gt; 0 and (ListOnly or fso.FolderExists(DestFolder)) Then&lt;br /&gt;064 If (not ListOnly) and (not fso.FolderExists(DestFolder)) Then&lt;br /&gt;065 WScript.Echo "Folder " &amp;amp; chr(34) &amp; DestFolder &amp;amp; chr(34) &amp; " not found!"&lt;br /&gt;066 Else&lt;br /&gt;067 Set fso = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;068 Set Shell = CreateObject("WScript.Shell")&lt;br /&gt;069 Set iTunesApp = CreateObject("iTunes.Application.1")&lt;br /&gt;070 Set mainLibrary = iTunesApp.LibraryPlaylist&lt;br /&gt;071 Set tracks = mainLibrary.Tracks&lt;br /&gt;072&lt;br /&gt;073 PodCastDir = Shell.SpecialFolders("MyDocuments") &amp;amp; "\My Received Podcasts\"&lt;br /&gt;074&lt;br /&gt;075 For i = 1 to tracks.Count&lt;br /&gt;076 Set currTrack = tracks.Item(i)&lt;br /&gt;077 IF currTrack.Kind = 1 And _&lt;br /&gt;078 currTrack.DateAdded &gt; TestDate And _&lt;br /&gt;079 currTrack.PlayedDate = 0 AND _&lt;br /&gt;080 currTrack.Location &lt;&gt; "" Then&lt;br /&gt;081 If Instr(1, currTrack.Location, PodCastDir, 1) &gt; 0 then&lt;br /&gt;082 If (fso.FileExists(currTrack.Location)) Then&lt;br /&gt;083 'Build msg of all files&lt;br /&gt;084 If FileList &lt;&gt; "" Then&lt;br /&gt;085 FileList = FileList &amp; chr(13) &amp;amp; chr(10) &amp; currTrack.Location&lt;br /&gt;086 Else&lt;br /&gt;087 FileList = currTrack.Location&lt;br /&gt;088 End If&lt;br /&gt;089&lt;br /&gt;090 If not ListOnly Then&lt;br /&gt;091 'Move the file&lt;br /&gt;092 Set f = fso.GetFile(currTrack.Location)&lt;br /&gt;093 f.Copy DestFolder &amp;amp; "\" &amp; f.name&lt;br /&gt;094 End If&lt;br /&gt;095&lt;br /&gt;096 If UpdateLastPlayed Then&lt;br /&gt;097 'Set the lasted played to now.&lt;br /&gt;098 currTrack.PlayedDate = Date&lt;br /&gt;099 End If&lt;br /&gt;100 End If&lt;br /&gt;101 End If&lt;br /&gt;102 End If&lt;br /&gt;103 Next&lt;br /&gt;104&lt;br /&gt;105 If FileList = "" Then&lt;br /&gt;106 WScript.Echo "No new files found!"&lt;br /&gt;107 ElseIf ListOnly Then&lt;br /&gt;108 WSCript.Echo "The following files are new PodCasts:" &amp;amp; _&lt;br /&gt;109 chr(13) &amp; chr(10) &amp;amp; chr(13) &amp; chr(10) &amp;amp; FileList&lt;br /&gt;110 Else&lt;br /&gt;111 WSCript.Echo "The following files have been copied to " &amp; chr(34) &amp;amp; DestFolder &amp; chr(34) &amp;amp; ":" &amp; _&lt;br /&gt;112 chr(13) &amp;amp; chr(10) &amp; chr(13) &amp;amp; chr(10) &amp; FileList&lt;br /&gt;113 End If&lt;br /&gt;114 End If&lt;br /&gt;115 Else&lt;br /&gt;116 Msg = "Usage: iNewPodCasts [-L] [-U] [destFolder]"&lt;br /&gt;117 Msg = Msg &amp;amp; chr(13) &amp; chr(10) &amp;amp; chr(13) &amp; chr(10) &amp;amp; _&lt;br /&gt;118 "-L - Flag to only list new PodCasts. destFolder will be ignored if specified." &amp; chr(13) &amp;amp; chr(10) &amp; _&lt;br /&gt;119 "-U - Flag to update the Last Played column in iTunes. destFolder must be specified." &amp;amp; chr(13) &amp; chr(10) &amp;amp; _&lt;br /&gt;120 "destFolder - The folder that new PodCasts will be copied too."&lt;br /&gt;121 WScript.Echo Msg&lt;br /&gt;122 End If&lt;/span&gt;&lt;br /&gt;&lt;h6 style="FONT-WEIGHT: normal"&gt;&lt;span style="font-size:100%;"&gt;(download &lt;a href="http://www.todocom.net/Articles/iPodder%20Script/iNewPodCasts.vbs"&gt;iNewPodCasts.vbs&lt;/a&gt;)&lt;/span&gt;&lt;/h6&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;The code i&lt;/span&gt;s a little long, but not that complicated. Lines 42 to 61 handle searching the command line arguments that were passed into the script. Line 63 checks to see if the arguments are valid and if not then lines 116 to 121 will display a message telling you how to call this script. If the command line arguments are valid then on line 69 the COM object that accesses iTunes is created and from that object the tracks collection of the LibraryPlayList are accessed. Then all tracks in the tracks collection are scanned and checks are performed at line the 77 to 82. Kind of 1 means that the track is a file. DateAdd must be less than the last seven days. PlayedDate is the same as the “Last Played” column and 0 means that it is blank. Location is the full file name of the track. I then check to see the location of the file is in the iPodder root directory and then I check to see that the file does in fact exist. (The file can be deleted or moved and iTunes may be out of date.) Lines 83 to 88 build a string that will be displayed at the end if the execution of the script. Line 93 does the actual copy. Line 98 updates the “Last Played” column to now. For the most part that is all there is to it.&lt;br /&gt;&lt;br /&gt;I should also mention that if you are running McAfee or other virus scanners this script may not work.Virus scanner writers like to re-implement the windows system &lt;code&gt;Scripting.FileSystemObject&lt;/code&gt; and &lt;code&gt;WScript.Shell&lt;/code&gt; objects. You can re-register the original windows COM objects and this will work fine. However, you should be aware that these files have been re-implemented for a reason. I don’t mean to scare people away from doing this but I mention this for two reasons. First I spent hours trying to figure out why things would not work and I don’t what you to do the same. Furthermore, if you have other virus scanners and spyware installed, you may be in luck. Better (well more script friendly) virus scanners and spyware software will detect that you are trying to run these objects and will prompt you to make sure that you really want to run them. This is a good approach. This will allow you to run VBScript files in a secure way. So, you CAN have your scripts and execute them too.&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110631758839337721?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110631758839337721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110631758839337721' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110631758839337721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110631758839337721'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2005/01/ipodder-vbscript-copy-new-podcasts-to.html' title='iPodder VBScript (Copy New PodCasts to My SD Card)'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-110241646081877348</id><published>2004-12-07T05:36:00.000-05:00</published><updated>2004-12-07T05:47:40.816-05:00</updated><title type='text'>Podcasting</title><content type='html'>I have been listening to Podcasts for while.  It has been a rather cool experience. I really like the idea of subscribing to audio files and listening to them in my spare time. We live in an on-demand society and there is something cool about subscribing to data, getting it when it is available, and then listening to it when you have a chance.  I wish TV was like this (it is moving in this direction with Comcast's video &lt;a href="http://www.comcast.com/Benefits/CableDetails/Slot5PageOne.asp"&gt;on demand &lt;/a&gt;and &lt;a href="http://www.tivo.com/"&gt;TIVO&lt;/a&gt;). Imagine being able to go home, sit in from of your TV, and watch the latest episode of Stargate (I like Stargate); without having to record it or without having to wait for the episode to air. Just be able to subscribe to Stargate and then see if a new episode is available and watch it.&lt;br /&gt;&lt;br /&gt;Podcasts do have one down side, they are not regulated and so you have to be careful about all the locker room humor and other offensive material. Free speech is good but at the same time is this the kind of thing we want our children listening too. Well, it is not all bad and as time goes on it seems to be getting better.  Now that &lt;a href="http://www.franklins.net/dotnetrocks/"&gt;.Net Rocks&lt;/a&gt; has cleaned up its act, I would recommend it.  &lt;br /&gt;&lt;br /&gt;If you would like to get started Podcasting, download &lt;a href="http://ipodder.sourceforge.net/index.php"&gt;iPodder&lt;/a&gt;.  iPodder is a tool that allows you to easily subscribe to different Podcasts and will download them to your computer.  It works with &lt;a href="http://www.itunes.com"&gt;iTunes&lt;/a&gt; and will work on Windows or Mac.  Even though it is called iPodder you don't have to have an iPod, as long as you have iTunes you will be find.  Most of the files are MP3.  This makes it possible to download them to your Pocket PC, Palm or other portable devices.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110241646081877348?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110241646081877348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110241646081877348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110241646081877348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110241646081877348'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/12/podcasting.html' title='Podcasting'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110210290723527418</id><published>2004-12-03T14:34:00.000-05:00</published><updated>2004-12-03T14:41:47.236-05:00</updated><title type='text'>Avalon 3D</title><content type='html'>Microsoft is working on some really cool stuff. If you don’t know what Avalon is, it is a code name for a project at Microsoft that has to do with creating displays on Windows forms using an XML language called XAML. With “Avalon 3D” they have added light sources, camera angles, textures, brushes, and mesh support.&lt;br /&gt;&lt;br /&gt;This stuff looks really cool and will raise the bar on application development. This has the potential to change the way we interact with computers. It could make the user interaction with computers a much richer and pleasurable experience.&lt;br /&gt;&lt;br /&gt;I really think this is cool stuff. Watch the &lt;a href="http://msdn.microsoft.com/seminar/shared/asp/view.asp?url=/longhorn/media/en/2004-06-07%20avalon%203d/manifest.xml&amp;rate=2"&gt;MSDN Video&lt;/a&gt; to see the demo of Avalon 3D.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110210290723527418?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110210290723527418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110210290723527418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110210290723527418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110210290723527418'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/12/avalon-3d.html' title='Avalon 3D'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110141558730451452</id><published>2004-11-25T15:43:00.000-05:00</published><updated>2004-11-25T15:46:27.303-05:00</updated><title type='text'>John von Neuman </title><content type='html'>&lt;p&gt;I am currently taking a Java course at Harvard University (taught by Charlie Sawyer) and in a discussion about threads we happened to run across John von Neumann.  John von Neuman is the one credited for coming up with a lot of ideas about computers that exists in modern day computing architectures.  There is also the "von Neumann bottleneck" which is a limitation on the idea that data must travel between memory and CPU a word/instruction at a time.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;See Also:&lt;br /&gt;&lt;a href="http://www.csupomona.edu/~hnriley/www/VonN.html"&gt;http://www.csupomona.edu/~hnriley/www/VonN.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/John_von_Neumann"&gt;http://en.wikipedia.org/wiki/John_von_Neumann&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110141558730451452?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110141558730451452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110141558730451452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110141558730451452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110141558730451452'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/11/john-von-neuman.html' title='John von Neuman '/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-110062916538979302</id><published>2004-11-16T13:15:00.000-05:00</published><updated>2004-11-16T13:19:25.390-05:00</updated><title type='text'>SetGlobal</title><content type='html'>Now available for &lt;a href="http://www.todocom.net/Products/SetGlobal/Download.aspx"&gt;download&lt;/a&gt;! (It's free man)&lt;br /&gt;&lt;br /&gt;SetGlobal is a command line application that I wrote a while ago. It is a useful application that allows you to manage environment variables. Ever since I discovered that you can create an environment variable and then launch it from your address bar in windows, I have found this to be a useful way of creating shortcuts to launch applications, websites, and directories.  I like the idea of attaching a short friendly name to a long URL or directory. Then from my address bar on my desktop I can type %myvar% to launch a URL or directory. I suppose you can do the same thing with Windows shortcuts, but then you need to find the shortcut and click on it.  For things that I use often, I find this faster and less cluttered.  (See the &lt;a href="http://www.todocom.net/Products/SetGlobal/Tutorial.aspx"&gt;tutorial&lt;/a&gt; for example on how to do this.)&lt;br /&gt;&lt;br /&gt;SetGlobal is a way for me to create a list of variables in a batch file so that I can manage variables across different machines.  You could just use control panel/system but I like this better. I like to have a separate file containing all my variables.&lt;br /&gt;SetGlobal does the same thing as the set command in DOS except that it persists the environment variable.&lt;br /&gt;&lt;br /&gt;It is your own personal &lt;a href="http://www.shrinkster.com/"&gt;Shrinkster&lt;/a&gt; for your desktop. &lt;br /&gt;&lt;br /&gt;There are other uses of environment variables and by all means SetGlobal is a useful way of managing any environment variable. (Note, currently only user variables can be created.  I thought this would be less dangerous). &lt;br /&gt;&lt;br /&gt;Disclaimer: Setting environment variables can overwrite variables that other applications rely on causing those applications to not work properly.  It is always a good idea to check to see if a variable is in use before creating a new one.  SetGlobal will not let you overwrite standard Windows variables.&lt;br /&gt;&lt;br /&gt;%cool%&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-110062916538979302?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/110062916538979302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=110062916538979302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110062916538979302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/110062916538979302'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/11/setglobal.html' title='SetGlobal'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109775148986276284</id><published>2004-10-14T06:56:00.000-04:00</published><updated>2004-10-14T06:58:09.863-04:00</updated><title type='text'>Four-Wheeled Segway</title><content type='html'>&lt;p&gt;I must get one.  For no reason other then it looks so cool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.com.com/Segway+may+go+off-road/2100-1041-5407205.html?part=dht&amp;tag=ntop&amp;amp;tag=nl.e433"&gt;http://news.com.com/Segway+may+go+off-road/2100-1041-5407205.html?part=dht&amp;tag=ntop&amp;amp;tag=nl.e433&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; :-(   I will probably never be able to afford it.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109775148986276284?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109775148986276284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109775148986276284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109775148986276284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109775148986276284'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/10/four-wheeled-segway.html' title='Four-Wheeled Segway'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109638825762263070</id><published>2004-09-28T13:13:00.000-04:00</published><updated>2004-09-29T18:16:01.586-04:00</updated><title type='text'>Another Windows XP SP2 Problem</title><content type='html'>After installing SP2 I was getting popup errors on my Tablet PC. (An error has occurred in the script URL is res://C:\WINNT\help\tpc_oobe.dll/tabsplash.hta.) The errors where coming from a "Tablet PC getting started" dialog that displays when you log into windows. If I had clicked the “don’t show again” check box on the dialog, before installing SP2, I would not have had this problem. However for some reason I liked the dialog and never checked the check box. Well, after I install SP2 and got the error messages every time I logged into windows. I was looking for a way to kill the dialog. With some greatly appreciated help from Microsoft I learned that the splshwrp.exe was the EXE that was running the dialog and that it was being launched from HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Run.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109638825762263070?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109638825762263070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109638825762263070' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109638825762263070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109638825762263070'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/09/another-windows-xp-sp2-problem.html' title='Another Windows XP SP2 Problem'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6545197.post-109569034559715889</id><published>2004-09-20T10:24:00.000-04:00</published><updated>2004-09-29T18:04:44.503-04:00</updated><title type='text'>Windows XP SP2 and Firewalls</title><content type='html'>I recently installed Windows XP SP2. After I installed it I noticed that I couldn’t connect to my Wireless network any more. After spending a couple of hours searching the web and trying different settings on my AP, I discovered that it was my firewall that was blocking some call to or from my AP. I am running &lt;a href="http://us.mcafee.com/?cid=10348"&gt;McAfee Firewall &lt;/a&gt;and &lt;a href="http://www.zonelabs.com/store/content/home.jsp"&gt;ZoneAlarm&lt;/a&gt;. After I shutdown my firewalls I was able to connect. I also think that MAC address filtering doesn’t work the same as it did before (However I didn’t really look into it and just switched over to WEP security). So now I need to figure out how to configure my firewalls to work with my wireless network.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109569034559715889?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109569034559715889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109569034559715889' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109569034559715889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109569034559715889'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/09/windows-xp-sp2-and-firewalls.html' title='Windows XP SP2 and Firewalls'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109482326819999497</id><published>2004-09-10T09:18:00.000-04:00</published><updated>2004-09-10T09:34:28.200-04:00</updated><title type='text'>4GL?</title><content type='html'>&lt;p&gt;The software industry is about to change. There have been a lot of changes as of late, however with all of the change we are still building software that is error prone, expensive, and unreliable. This however is about to change. There is a push in the software industry to build better software more efficiently and effectively. The answer is with things like code generation, application blocks and software factories. I am excited to think what this will turn into. Will 4GL finally bcome the main stream or will we have to redefine &lt;a href="http://www.webopedia.com/TERM/F/fourth_generation_language.html"&gt;4GL&lt;/a&gt;. Perhapes it will just be 3.5GL.  Anyway the future will be interesting. &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.webopedia.com/TERM/F/fourth_generation_language.html"&gt;Code Generation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Application Block (&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.asp"&gt;Logging Application Block&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmaj/html/aj3softfac.asp"&gt;Software Factories&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109482326819999497?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109482326819999497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109482326819999497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109482326819999497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109482326819999497'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/09/4gl.html' title='4GL?'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109422025432889511</id><published>2004-09-03T10:03:00.000-04:00</published><updated>2004-09-03T10:06:29.350-04:00</updated><title type='text'>Great Hackers</title><content type='html'>&lt;a href="http://www.paulgraham.com/gh.html"&gt;Great Hackers&lt;/a&gt; is a really great essay. (Thanks to &lt;a href="http://www.lemanix.com/nick/archive/2004/08/24/1174.aspx"&gt;Nick &lt;/a&gt;for blogging about is and allowing me to find it.) I think Paul really nailed what makes GREAT programmers GREAT. Being a good hacker (I wouldn’t call myself a great hacker. I think I my even be pushing it with good hacker) I could really relate to a lot of things Paul was talking about. I also realized why I am so frustrated with my current job. We are in maintenance mode which is not feeding my natural curiosity to learn new things. It is also not allowing me to work on anything cool. Having to look at the same code day in and day out and having little power to change the way things are done is not cool. We have a very strict change control process in place and if you want to make a major change you have to first get approval. And getting approval is not easy considering there are tons of request from clients that must be done first. Making more money is a priority. So I am stuck having to deal with the code as is, even though it has grown into a mountain of next to impossible to maintain code. All we can do is try to maintain this next to impossible code and try to build on top of it adding to the problem. I wish management would read Great Hackers an realize that in order to make things cool and exciting all they need to do is allow the developers to fix the problems by redefining the problem. As the essay points out back in the early Mac days when a lot of companies were building computers Steve Jobs came along and said “build me one beautiful”. And that, as the essay puts it “probably drove the developers harder than any carrot or stick could”. All management needs to do is give developers a vision or goal and most developers, well the great hackers, will run with it. But in our company those days seem to be gone. There was a time when developers spend a lot of time and money developing something that nobody wanted, so management decided that it is better to work on customer requests then to allow developers to go crazy. This makes me think that there must be reasons why some software is successful while others fail. But in my opinion if you are afraid of failure then you will probably never find a way to succeed.&lt;br /&gt;&lt;br /&gt;I would also like to say that I disagree with ideas that great hackers only use Linux, Open Source software and Perl. I do agree with the idea that great hackers like control and with Open Source you have more control you can go in and change things because you have the source code. However, if you have well documented and well thought out software that is mature then that software may be wiser to use then open source. If it is easier to use and less buggy and will result in getting the end result up and running quicker then it is better. Also when it comes to operating systems and languages it is the one that allows you to do the most things that makes it better. And with that in mind it may just be the one that the hacker has the most knowledge about that makes it the better choice.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109422025432889511?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109422025432889511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109422025432889511' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109422025432889511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109422025432889511'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/09/great-hackers.html' title='Great Hackers'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109240455925639882</id><published>2004-08-13T09:41:00.000-04:00</published><updated>2004-08-13T09:42:39.256-04:00</updated><title type='text'>Desktops</title><content type='html'>I was reading a post from &lt;a href="http://www.ftponline.com/weblogger/forum.aspx?id=1&amp;Date=8/12/2004#196"&gt;FTPOnline.&lt;/a&gt;  There is a reference to &lt;a href="http://www.google.com/press/zeitgeist.html"&gt;Google’s Zeitgiest &lt;/a&gt;showing that Linux is only on 1% of the computers that accessed Google while Windows XP was at 51%.  But the thing that I find most interesting is that 5% is given to the category of  “Other”.  Does that mean that Google could not identify 5% of the computers?  Is there some browser that doesn't send OS information?  Is it some application that is accessing Google in a way that Google cannot identify it?  What is going on? 5% is quite a bit, it is a lot bigger then Linux and Mac combine.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109240455925639882?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109240455925639882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109240455925639882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109240455925639882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109240455925639882'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/08/desktops.html' title='Desktops'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-109058248533588719</id><published>2004-07-23T07:28:00.000-04:00</published><updated>2004-07-23T08:01:39.253-04:00</updated><title type='text'>Postmortem Document</title><content type='html'>&lt;p&gt;The following is from the book "&lt;a href="http://www.codertodeveloper.com"&gt;Coder to Developer&lt;/a&gt;" by Mike Gunderloy.&amp;nbsp; I found if very interesting because I am currently working in an environment where projects often get handed off from one group to another with little documentation from the people that actually wrote it.&amp;nbsp; I think this type of document would be very useful. (Although I am not sure that I could be disciplined enough to write it for every project.)&lt;/p&gt;&lt;p&gt;&lt;em&gt;The purpose of the postmortem is to record the lessons that the teamor the manager learned in the course of building the software (or thethings that they wish they has known before they started). &amp;nbsp;A typicalpostmortem might include these sections:&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Overall description of the project&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Who was involved on the team&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;How the projects' scope and features changed from initial design to final ship&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;A list of things that were done well during the project&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;A list of things that could have been done better&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;A list of the tools used, along with en evaluation of their quality&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;A list of tools that team members wish they had had available&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;A list of important project documents with their location&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Recommendations for the next project: How can things be done better?&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-109058248533588719?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/109058248533588719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=109058248533588719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109058248533588719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/109058248533588719'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/07/postmortem-document.html' title='Postmortem Document'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108992251967076313</id><published>2004-07-15T16:11:00.000-04:00</published><updated>2004-07-15T16:15:19.670-04:00</updated><title type='text'>Coder to Developer</title><content type='html'>I have just finished reading &lt;a href="http://www.codertodeveloper.com/"&gt;"Coder to Developer"&lt;/a&gt;.  I found it to be a very enjoyable book.  It is a book about all of the different tools and skills that a good developer needs to take a software project from beginning to end.  I liked it because although the author uses a .NET sample project throughout the book, a lot of tools and skills could apply to any project.  The author did a lot of research on this book (or acquired it from real world experiences) and lists many alternative tools ranging from open source to big expensive commercial tools.  He also lists many invaluable web sites that are excellent resources for developers. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108992251967076313?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108992251967076313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108992251967076313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108992251967076313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108992251967076313'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/07/coder-to-developer.html' title='Coder to Developer'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108937769777253142</id><published>2004-07-09T08:53:00.000-04:00</published><updated>2004-07-09T08:54:57.773-04:00</updated><title type='text'>Reorganizing</title><content type='html'>“We trained hard…but it seemed that every time we were beginning to form up into teams we would be reorganized.  I was to learn later in life that we tend to meet any new situation by reorganizing; and a wonderful method it can be for creating the illusion of progress while producing confusion, inefficiency, and demoralization.”&lt;br /&gt;&lt;br /&gt;- Falsely attributed to Petronius Arbiter; more likely Robert Townsend&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108937769777253142?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108937769777253142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108937769777253142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108937769777253142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108937769777253142'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/07/reorganizing.html' title='Reorganizing'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108922857418482495</id><published>2004-07-07T15:27:00.000-04:00</published><updated>2004-07-07T15:29:34.183-04:00</updated><title type='text'>Project Task Scheduling</title><content type='html'>I just read &lt;a href="http://www.joelonsoftware.com/articles/fog0000000245.html"&gt;Joel Spolshy’s page on software project task scheduling&lt;/a&gt;.  He has some really good ideas.  I like the idea of scheduling time for vacations, debugging, integration time, and scheduling some buffer time for tasks that took longer or for the tasks you didn’t know you had to do.  I also like what he has to say about never letting managers tell programmers to reduce an estimate.  In this article Joel also has some very convincing arguments of why you should actually create and manage a task schedule.   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108922857418482495?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108922857418482495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108922857418482495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108922857418482495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108922857418482495'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/07/project-task-scheduling.html' title='Project Task Scheduling'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108912639792605527</id><published>2004-07-06T11:04:00.000-04:00</published><updated>2004-07-06T11:14:49.666-04:00</updated><title type='text'>Bye Bye to Mr CIO Guy</title><content type='html'>&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=11950"&gt;Bye Bye to Mr CIO Guy &lt;/a&gt;is cool.  I laughed then cried (literally).  We are living in a changing IT world.  I believe that the tech industry is changing to the next level.  We are moving away from building applications that manage data on the network to building applications that access data in a wide variety of ways (Example: web, blackberries, application, via web services).   We are moving to a more real-time world with instant access from anywhere.  We are moving to model that is more diverse. And unfortunately, as the song says, industry is trying to cut cost, outsourcing to cheaper countries.  The issue is the bottom line.  Companies are tired of software taking too long and paying for features that don’t quite meet acceptations.  I believe that this will separate the software developing men from the software developing boys.  We are emerging into an era where software must be built cheaper and easier.  I believe that technologies like code generation tools (see &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590591372/general0c-20/102-2396571-3932122?creative=125577&amp;camp=2321&amp;link_code=as1"&gt;Code Generation &lt;/a&gt;and &lt;a href="http://www.ericjsmith.net/codesmith/"&gt;CodeSmith&lt;/a&gt;) and testing frameworks (&lt;a href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt;) will help in creating software faster and more reliable.  We still have a long way to go before we have the software we want at the cost we want.  But there is a lot of advancement taking shape.&lt;br /&gt;&lt;br /&gt;If only someone would come up with a Rapid Application MAINTENANCE tool.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108912639792605527?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108912639792605527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108912639792605527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108912639792605527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108912639792605527'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/07/bye-bye-to-mr-cio-guy.html' title='Bye Bye to Mr CIO Guy'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108636343968922876</id><published>2004-06-04T11:36:00.000-04:00</published><updated>2004-06-04T11:37:19.690-04:00</updated><title type='text'>Pocket PC and Movie Viewing</title><content type='html'>I have a Pocket PC and the other night decided that I would try saving an episode of Futurama onto my SD card so that I could watch it on my Pocket PC.  I have a TV tuner card on my computer that records and saves it as mpeg-2 files.  The Futurama episode that I saved was about 550mb.  I downloaded TMpegEnc and converted the file down to about 100mb (mpeg-1). I was then able to load the file into Movie Maker and edit out the commercials, and save it to a Pocket PC compatible file. And then finally save that file to my SD card.  So all this sounds cool right, well not really.  It took me 4 hours to convert the 550mb file down to 100mb.  Then it took me another 20 minutes just to load the file into Movie Maker, which split the file into 150 different clips.  That took me about another 1/2 hour to build the storyboard, drag all the clips down and in order while editing out the commercials. Then it took me another 15 minutes to create the movie from Movie Maker.  So in less then 6 hours I was watching a 1/2 hour episode of Futurama.&lt;br /&gt;	I have two thoughts on this.  One, computers need to get faster.  When we can edit a 2GB file easily then we will have a good video-editing machine.  Second, why doesn't the manufacture of my TV tuner card have the ability to save to a version that I could then view on my Pocket PC.  They have the ability to save me a lot of time.&lt;br /&gt;	Well I did, in fact, find that I could save from my TV tuner directly to an mpeg-1 file.  It was not the same as the 100mb file that I mentioned above, it was about 300mb.  But it is easier to deal with, and saves me the 4-hour conversion.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108636343968922876?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108636343968922876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108636343968922876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108636343968922876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108636343968922876'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/06/pocket-pc-and-movie-viewing.html' title='Pocket PC and Movie Viewing'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108497226001076394</id><published>2004-05-19T09:08:00.000-04:00</published><updated>2004-05-19T09:11:00.010-04:00</updated><title type='text'>The Rule of 3 </title><content type='html'>I think Dan has some good ideas.  I like this&lt;a href="http://distribucon.com/blog/archive/2004/05/13/231.aspx"&gt; blog &lt;/a&gt;because software is an iterative process.  You cannot expect to build the perfect software package on the first try.  I disagree that it takes three iterations as a rule.  It may take more iterations or less iterations depending on the complexity and the client feed back/input. If you get good help from clients when building your application you may get it right on the first try.  However, this is a rare case because clients usually only want things that fit into their own personal workflow and that may not be what other clients want.  Leaving your software to be a custom solution when you wanted a commercial application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108497226001076394?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108497226001076394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108497226001076394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108497226001076394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108497226001076394'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/05/rule-of-3.html' title='The Rule of 3 '/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108336004769686915</id><published>2004-04-30T17:20:00.000-04:00</published><updated>2004-04-30T17:26:24.810-04:00</updated><title type='text'>Google's IPO</title><content type='html'>From &lt;a href="http://www.wired.com/news/business/0,1367,63286,00.html"&gt;Wired&lt;/a&gt;: If you take a close look at the form Google filed with the Securities and Exchange Commission, the exact value of its planned offering is $2,718,281,828 dollars, which some would immediately recognize as the mathematical constant e. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108336004769686915?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108336004769686915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108336004769686915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108336004769686915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108336004769686915'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/04/googles-ipo.html' title='Google&apos;s IPO'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108335992390021791</id><published>2004-04-30T17:18:00.000-04:00</published><updated>2004-04-30T17:23:02.686-04:00</updated><title type='text'>BASIC computer language turns 40 </title><content type='html'>&lt;a href="http://www.sltrib.com/2004/Apr/04302004/business/162000.asp"&gt;Tomorrow is the big day.&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108335992390021791?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108335992390021791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108335992390021791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108335992390021791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108335992390021791'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/04/basic-computer-language-turns-40.html' title='BASIC computer language turns 40 '/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108173485778743810</id><published>2004-04-11T21:54:00.000-04:00</published><updated>2004-04-11T21:58:10.233-04:00</updated><title type='text'>Channel 9</title><content type='html'>I checked out &lt;a href="http://channel9.msdn.com/"&gt;channel 9&lt;/a&gt; from Microsoft.  If you have not seen it you should check it out.  Leave it to Microsoft to take bloging to the next level.  We are living in a more interactive more media rich world.  Computers are changing the way we think and the way we interact with those around us.  The possibilities are only limited by our imagination.   &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108173485778743810?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108173485778743810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108173485778743810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108173485778743810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108173485778743810'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/04/channel-9.html' title='Channel 9'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108087650607366017</id><published>2004-04-01T22:28:00.000-05:00</published><updated>2004-04-02T09:03:30.843-05:00</updated><title type='text'>Adventures of Seinfield &amp; Superman</title><content type='html'>My brother told me about this &lt;a href="http://www.jerry.digisle.tv/room.html"&gt;site&lt;/a&gt;.  I thought it was funny.  A good use of technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108087650607366017?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108087650607366017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108087650607366017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108087650607366017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108087650607366017'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/04/adventures-of-seinfield-superman.html' title='Adventures of Seinfield &amp; Superman'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108070390879498538</id><published>2004-03-30T22:31:00.000-05:00</published><updated>2004-03-30T22:35:25.250-05:00</updated><title type='text'>Security is great until it breaks something</title><content type='html'>I have running on my machine, Norton AntiVirus, McAfee AnitVirus, McAfee Firewall, and Zone Alarm. (I am not paranoid.)  I recently installed Visual Studio.  And when I tried to create a new project I got presented with a can not load class error.   After searching on Google I discovered that both McAfee and Norton AntiVirus try to register their own version of Scripting.FilesystemObject.  In the posting that I read, it told me to go to the registry and change the file back to the Microsoft one.  That fixed the problem, however my system is now less secure because my Virus software is not managing scripts that use the FilesystemObject.  Security is a great thing until it causes problems.  The most secure computer is the one that is turned off.  However, this doesn’t help me. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108070390879498538?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108070390879498538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108070390879498538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108070390879498538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108070390879498538'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/security-is-great-until-it-breaks.html' title='Security is great until it breaks something'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108061894900182465</id><published>2004-03-29T22:55:00.000-05:00</published><updated>2004-03-30T12:38:00.153-05:00</updated><title type='text'>Computers Suck</title><content type='html'>Well, I don’t know if I agree that &lt;a href="http://www.knowing.net/2004/03/27.aspx#a714"&gt;computers suck&lt;/a&gt;.  However, I do think that technology is only just beginning.  What we will create tomorrow will be better, cheaper, reliable, and far more useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108061894900182465?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108061894900182465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108061894900182465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108061894900182465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108061894900182465'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/computers-suck.html' title='Computers Suck'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108051937425603659</id><published>2004-03-28T19:16:00.000-05:00</published><updated>2004-03-28T19:19:47.873-05:00</updated><title type='text'>Building Better Applications</title><content type='html'>I see a lot of good ideas and a lot of software that could be written better.  In most cases the software that I like and would actually pay money for are the applications that integrate well with windows or other commonly used applications.  I use &lt;a href="http://www.newsgator.com"&gt;NewsGator&lt;/a&gt; not because there is a lack of free blog aggregators, but because NewsGator is easier to use.  It adds a popup menu in IE so that I can easily subscript to new blogs.  It is an Outlook plug-in so I don’t have to learn a new tool.  It also has a website to check my blogs when I am away from my computer.  It integrates well into the tools that I use everyday.  This is what separates good software from great software.  &lt;br /&gt;&lt;br /&gt;Good job NewsGator.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108051937425603659?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108051937425603659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108051937425603659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108051937425603659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108051937425603659'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/building-better-applications.html' title='Building Better Applications'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108051784619346898</id><published>2004-03-28T18:50:00.000-05:00</published><updated>2004-03-28T18:54:19.310-05:00</updated><title type='text'>Microsoft to remove the Calculator from Windows</title><content type='html'>I thought this was &lt;a href="http://weblogs.asp.net/cnagel/archive/2004/03/25/95814.aspx"&gt;good&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108051784619346898?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108051784619346898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108051784619346898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108051784619346898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108051784619346898'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/microsoft-to-remove-calculator-from.html' title='Microsoft to remove the Calculator from Windows'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108025931043694961</id><published>2004-03-25T19:01:00.000-05:00</published><updated>2004-03-25T19:07:36.686-05:00</updated><title type='text'>Why is code maintenance so difficult?</title><content type='html'>The more complicated your code base is the less likely other people will be able to understand it.  So how do you make it simpler?  Well, there is no easy answer to this, even when you try to write understandable code different people with different ideas may find it incomprehensible.  That said here are some things to think about when writing code.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Stay away from form inheritance&lt;/em&gt;.  Languages like Delphi have the concept of form inheritance (creating a base window and then inheriting off it).   Although this can be great in the initial creation of applications, allowing you to create many forms quickly, it is hard to maintain.  What if there is a button that is no longer needed, and that button lives on the base form.  You can not delete the button because that would delete it on every descendant form.  So you end up hiding it.  Now you have controls that in design time clutter your designing window.  The problem gets worse when you need to radically change your window’s visual appearance.  Now what do you do?   Hide more controls or start over?  Well in this case the two options are not ideal.  You will end up with more confusing un-maintainable code or you will waist time rewriting the window.  I think rewriting it to the way to go.  Rewrite it to the way it should have been in the first place, with out inheritance.&lt;br /&gt; &lt;br /&gt;&lt;em&gt;Try not to inherit more then three levels deep&lt;/em&gt;.  Unless your objects are created perfectly and no one will need to maintain it, inheritance is not your friend.  When it comes time to extend functionality it becomes very confusing to figure out where the code belongs.  Does it belong in the base or at what level?   Fixing bugs can also be difficult; trying to follow the call stack as it jumps from one level to the next can be tricky.  There are times that each level is very straight forward however most times the lines get blurred and functionality ends up existing at levels it shouldn’t.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Minimize the amount of code files&lt;/em&gt;. If you have inherited objects that exist in multiple files think about putting them into one file.  If someone need to make changes it is easier because everything is in one place.  Organization can go a long way.  Another solution is to create a directory that holds common files.  &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Try not to wrap objects for the sake of making things simpler&lt;/em&gt;.  Of course there are times that you need to wrap DLL’s or COM objects.  However, if you are trying to create easier access to code by writing more code this is probably not a good thing.  The less code the better.  Unless you have a really good reason to do it, don’t do it. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;If you have a frame-work, document it well or better yet buy one&lt;/em&gt;.  If in your project you try to make thinks easier by writing a frame-work that you can just plug-in objects, this may seem like a good idea, just make sure that you document it well.  Everyone must understand it and be able to maintain it.  If you can buy a framework you are probably better off.  Developers are more likely to adopt a third-party solution then one created in house.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Diagram your software&lt;/em&gt;.  A picture is worth a thousand words and a code picture is worth a thousand lines of code.  Diagrams can make things easier to understand they can show relationships very well, and can go along way in helping others to understand what your code does.  &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Try to teach others your coding ideas&lt;/em&gt;.  If no one understands what you are trying to do then know one will be able to maintain your code.  Also in the process of documenting or teaching others you may find code that could have been written better.  This is a great opportunity to make your code more understandable. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108025931043694961?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108025931043694961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108025931043694961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108025931043694961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108025931043694961'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/why-is-code-maintenance-so-difficult.html' title='Why is code maintenance so difficult?'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108025917456866112</id><published>2004-03-25T18:59:00.000-05:00</published><updated>2004-03-25T19:03:03.466-05:00</updated><title type='text'>Top Down VS. Bottom Up</title><content type='html'>There are two approaches when it comes to designing software, top down approach and the bottom up approach.  The top down approach is when the developer is given a list of requirements and thinks about how the UI will look and how the user will use the UI.  The developer will then just start writing code.  With RAD development tools like Delphi, VB, etc it is very easy to create a window, start dropping controls on it and start writing code to respond to buttons, menu items, etc.  The bottom up approach is when the developer gets a list of requirements and starts thinking about what objects are required to perform the tasks.  Thought must be given to what the UI will do and how the UI will interact with the objects, but the UI is only a means to communicate with the core objects.  After the initial design the developer will start coding the implementation of the objects and then build the UI to communicate with the objects. &lt;br /&gt;&lt;br /&gt;The top down approach is faster.  Most prototypes and simple applications are written this way.  You can develop it quickly, get feed back and get it to market in a relatively short amount of time.  And if the code is not very complicated it is easy to maintain.  The problem is when things become more complicated.  As time goes on and requirements grow and the amount of code written reaches a level that makes the code difficult to comprehend, maintenance becomes difficult.  And if you are working in a team environment probably only the initial developer will be able to maintain the code in a decent manner.  Also bug can start appearing because of the complexity of code.  Because decisions are based on how the user uses the UI chances are that not all users will agree, some users will want to do things one way while others will want to do things another.  This leads to switches and settings in your code that over time can result in spaghetti code, because things are not thought out the end result is very difficult to maintain and error prone.  There is also the problem of adopting newer technologies.  Because the code base is all tied together chances are that any changes to components will be significant, you will probably have to test everything before you redeploy because you may not know what the impact of the change will be.  &lt;br /&gt;&lt;br /&gt;The bottom up approach may be slower at the start but more maintainable in the long run.  You have to think about what you are doing.  If you happen to be wrong you run the risk of wasting valuable time.  You also must be careful not to over think things.  However, your code will be more maintainable.  If you create UML diagrams, this can act as a blue print of your software. Much like database administrators use ERDs (Entity Relationship Diagrams) to view their relationships in their databases, a UML class diagram can show the object relationships of your software.  UML can also be used to show the flows of messages through different objects or give a high level overview of how the different sections relate to one another.  Further more, as new requirements come in developers are forced to think about how this will affect the core application.  Most of the bugs that I see are caused because developers are not thorough when adding new functionality.  There are also many benefits to having your UI separate from your object model. &lt;br /&gt;- You can build test scripts to test your object model.  This can test the core functionality of your application.  Although it can not test everything it can catch some bugs early on and help the developer maintain a reliable code base.  &lt;br /&gt;- You can migrate your code.  Because you have a separation of UI and objects you have a place to start migrating code.  If the UI must change you know that this will not impact the core.  Perhaps you are trying to move your application to the web, or perhaps you would like a fancier UI.  Furthermore if you would like to move your application to Linux or .NET moving the objects first is easier.  Most portability problems are in the UI controls.  You may have to rewrite parts of the UI but this is far better then having to rewrite your business logic. &lt;br /&gt;- You can turn your object model into a stand alone API.  Perhaps some users would like the ability to create their own UI or may want to integrate your functionality into one of there own applications.  This can make your code more valuable and more useful.  &lt;br /&gt;&lt;br /&gt;I would suggest only using the top down approach in cases when you want to get your software to market quickly and don’t care about long term maintenance.  For more serious projects I would suggest the bottom up approach.  It may require more time up front however the time saved in maintenance will be well worth the effort. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108025917456866112?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108025917456866112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108025917456866112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108025917456866112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108025917456866112'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/top-down-vs-bottom-up.html' title='Top Down VS. Bottom Up'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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-6545197.post-108022375329087239</id><published>2004-03-25T09:09:00.000-05:00</published><updated>2004-03-25T09:28:24.390-05:00</updated><title type='text'>Why is TDD so boring?</title><content type='html'>This is an interesting read on Test Driven Development (TDD).&lt;br /&gt;&lt;a href="http://www.ftponline.com/weblogger/forum.aspx?id=9&amp;Date=3/22/2004"&gt;http://www.ftponline.com/weblogger/forum.aspx?id=9&amp;Date=3/22/2004&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6545197-108022375329087239?l=rtodosic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtodosic.blogspot.com/feeds/108022375329087239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6545197&amp;postID=108022375329087239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108022375329087239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6545197/posts/default/108022375329087239'/><link rel='alternate' type='text/html' href='http://rtodosic.blogspot.com/2004/03/why-is-tdd-so-boring.html' title='Why is TDD so boring?'/><author><name>rtodosic</name><uri>http://www.blogger.com/profile/13326327091349610272</uri><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>
