<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.no-ip.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Craig's Blog : IT Stuff</title><link>http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx</link><description>Tags: IT Stuff</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>The new Firefox is out</title><link>http://blogs.no-ip.org/craig/archive/2005/11/30/2362.aspx</link><pubDate>Wed, 30 Nov 2005 18:31:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2362</guid><dc:creator>craigg75</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2362</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2362</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/11/30/2362.aspx#comments</comments><description>&lt;P&gt;The latest version of Firefox web browser was released today, version 1.5. I'm a fan of Firefox yet am not a user. I like it because it keeps Microsoft honest. Internet Explorer is way too entrenched to ever be dethroned as the web browser of choice. I would love to use Firefox yet it is still weak compared to the &lt;A href="http://www.maxthon.com/"&gt;Maxthon&lt;/A&gt; free multitabbed browser that I use (it uses the IE engine). Two things that annoy me to no end with Firefox are -&lt;/P&gt;
&lt;P&gt;1. The way it renders fonts suck big time. No matter how I set it up the fonts it still make me feel like I'm using an old version of Netscape. Why can't they get that right? Is it the cross platform thing? It blows big time.&lt;/P&gt;
&lt;P&gt;2. Firefox has no option to automatically open a new tab when you click on one of your Favorites or if you enter a new url in the address box. This has got to be really simple to add, why don't they add it in? That alone discourages me from using it. &lt;/P&gt;
&lt;P&gt;I know that Firefox is open source and has a great plugin community, perhaps both of these issues I have are &amp;#8220;plugged&amp;#8221; with plugins. In any case good luck Firefox!!&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2362" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Snapstream</title><link>http://blogs.no-ip.org/craig/archive/2005/11/10/2347.aspx</link><pubDate>Thu, 10 Nov 2005 13:52:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2347</guid><dc:creator>craigg75</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2347</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2347</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/11/10/2347.aspx#comments</comments><description>My favorite software just got a major upgrade. That would be &lt;A href="http://www.snapstream.com/"&gt;Snapstream's BeyondTV&lt;/A&gt;. It gives you the ability along with a tv tuner card to record tv shows and play them back, rewind live tv. It's a drop in replacement for Tivo without the monthly fees. Very sweet deal if you like to watch TV without commercials and on your time schedule. Gotta cheap computer? It's easy to convert over to what is called a PVR (Personal Video Recorder). I detailed my homebuilt rendition &lt;A href="http://craigg.no-ip.org/pvr/pvr.htm"&gt;here&lt;/A&gt;. Anyway the new upgrade will now work with HDTV and can do DivX compression of shows. HDTV is something I don't buy into, the tv picture is already clear enough for me, I don't need to see the pimples on someone's face. It just seems a way for the electronic companies to increase the price of television sets and for Hollywood to better control the airwaves. DivX compression however is&amp;nbsp;very nice. BeyondTV saves tv shows in mpeg2 format which can be readily copied to DVD, since that is it's native format. However the file sizes are large, around 2GB/hour. Divx can compress those files up to 10 times without significant loss in quality. In other words you can fit more shows on the hard drive now. &lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2347" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Video ITunes</title><link>http://blogs.no-ip.org/craig/archive/2005/10/14/2318.aspx</link><pubDate>Fri, 14 Oct 2005 13:11:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2318</guid><dc:creator>craigg75</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2318</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2318</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/10/14/2318.aspx#comments</comments><description>&lt;P&gt;Apple recently announced they are coming out with an iPod that will &lt;A href="http://www.apple.com/itunes/videos/"&gt;play videos&lt;/A&gt;. Very cool and a&amp;nbsp; long time coming. Once again Apple will lead the way. I know there were pocket video players already in the market but was anyone buying them? Overpriced junk mostly. Apple also announced a new version iTunes, (has Apple copyrighted the letter &amp;#8220;i&amp;#8221;?) which is the software that interfaces to the iPod. It's also a standalone media player much like Windows Media Player. The new version of iTunes will allow users to download TV shows for $1.99. That is a huge thing. The whole Tivo thing was all about being able to watch a show when the consumer had time to and be able to skip commercials. Now you don't even need to own a Tivo, you can just download it to your new iPod or iTunes player. Plus Apple is coming out with their own media center software for the Macs so you can hook up your Mac to your TV and voila you have Apple's version of Tivo. I find it refreshing that the tv networks are finally starting to embrace a new way of selling their shows, via the internet. So if this new way of watching tv really picks up, and it probably will with the younger crowd, how will advertisers make up for the loss of their captured audience? On a similar thread, the BBC has also started putting their shows on a private &lt;A href="http://slashdot.org/article.pl?sid=05/10/05/0139223&amp;amp;from=rss"&gt;bit torrent network&lt;/A&gt;. Right now only a select number of users in Britain have access to this network, but we only hope that this will be expanded. The times they are a changin'.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2318" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/Hollyweird/default.aspx">Hollyweird</category><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Sony is my ISP</title><link>http://blogs.no-ip.org/craig/archive/2005/09/14/2246.aspx</link><pubDate>Wed, 14 Sep 2005 19:12:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2246</guid><dc:creator>craigg75</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2246</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2246</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/09/14/2246.aspx#comments</comments><description>&lt;P&gt;I ran into an interesting yet scary opinion today. We all know the media companies are running around screaming the sky is falling since people are filesharing them into the ground. They've tried shutting down the sharing sites, suing individuals yet the filesharing community continues to grow. The p2p apps shift laterally around to keep away from the lawyers yet the numbers keep growing. The big entertainment companies are getting a bad wrap from internet users that is starting to make it's way into the mainstream press. They obviously can't stop the tide and are convinced they are losing money because of filesharing (it has nothing to do with the crap content they create). What their next step will be is to buy up the ISP's and control the pipes. Think about it, Comcast, Charter, AT&amp;amp;T, Time-Warner are basically entertainment companies anyway, they make their bread and butter from the likes of corps like Sony and Capitol Records. They're all in bed together. The US goverment allows monopolies like Microsoft and out of control behemoths like Time-Warner to continue growing and infringing on consumers rights. Why not allow these monsters to suck up the ISPs too? No longer will they need court orders to reveal IP's and they can clamp down on the p2p traffic and monitor all data flow. Problem solved on their end. This is one of the problems with allowing cancerous corporate growth to continue, it eventually overtakes and kills the body. To borrow a George Carlin quote -&lt;/P&gt;
&lt;P&gt;Here's a bumper sticker I'd like to see... 'We are the Proud Parents of a Child who has resisted his teacher's attempts to bend him to the will of his corporate masters'. &lt;FONT size=1&gt;- George Carlin&lt;/FONT&gt; &lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2246" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>The Scene</title><link>http://blogs.no-ip.org/craig/archive/2005/09/14/2245.aspx</link><pubDate>Wed, 14 Sep 2005 19:03:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2245</guid><dc:creator>craigg75</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2245</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2245</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/09/14/2245.aspx#comments</comments><description>&lt;P&gt;I've been watching an internet series of videos from a &lt;A href="http://www.welcometothescene.com/"&gt;site &lt;/A&gt;called Welcome to the Scene. They produce one 15-30 minute segment every month. It's a story about a group of hackers who have a group that distribute pirated movies. They communicate via IM and IRC. They each have a role from the source who can get the dvd screeners from the factory he works at to the guy who encodes the movies to divx to the courier who moves the data. They are just one group in a much larger culture of pirating groups called &amp;#8220;the scene&amp;#8221;. Each video consists of one of the members shown on a web cam and a shot of his desktop filled with IRC and IM windows opened up. Every so often a voice over will inform the viewer as to the ins and outs of the culture, like most hackers are guys and those that are girls usually masquerade as guys. Also&amp;nbsp;that it's an unwritten rule never to sell the movies or software they pirate. So the drama unfolds that one of the members of the group secretly decides to sell some of the material in order to meet college tuition. Ah but the web of deceit unveils itself and the lies continue to mount as the seller narrowly escapes the feds and the chinese mafia. Also the lies spill over into his love life as he tries to manage two girlfriends at once. It's well done since there isn't a lot of acting, mostly just typing. It does make me harken back to my days or irc'ng for hours and hours at a time. Having many friends from all over the world. One in which I ended up marrying! The relationships can be casual or become deep. The speed of friendship development is much faster than a real life friendship since the fear of rejection is sort of removed, there is not that face to face element. Internet time is a good term for this. Anyway if you've ever wondered about how, why and where the pirated movies and software come from, check it out.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2245" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>eBook reader</title><link>http://blogs.no-ip.org/craig/archive/2005/09/12/2225.aspx</link><pubDate>Mon, 12 Sep 2005 17:23:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:2225</guid><dc:creator>craigg75</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=2225</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=2225</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/09/12/2225.aspx#comments</comments><description>I've been looking for a long time for an ebook reader that had the bells and whistles at the right price. I think I may have found it finally. It's called the &lt;A href="http://www.ebookwise.com/ebookwise/ebookwise1150.htm"&gt;eBookwise 1150 eBook Reading Device&lt;/A&gt;. Actually it's the old Rocket reader from several years ago. Back then it was overpriced and not very functional. After passing through a few companies it ended up with ebookwise.com who sell ebooks. I've read several reviews that have raved about it. It's got good battery life, plenty of backlighting, very readable font, usable controls and is the same weight and size as a paperback. It's priced at $129 right now direct from ebookwise. Haven't searched for a better deal, if one even exists. The reader uses a propietary format called imp. However they have a converter program that can convert txt, htm, doc and rb formats. It doesn't work on DRM formats however. But it's not like I have a bunch of those sitting around (wink wink). So you can transfer your books (once they're converted) over to your reader. You can also use the USB connection and purchase and download books off of their site. Their site has tons of short stories that are priced very reasonably. What I like is that you are not renting the book, you actually purchase it and own it. They have a great selection of novels from many genres.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=2225" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category><category domain="http://blogs.no-ip.org/craig/archive/tags/Books/default.aspx">Books</category></item><item><title>Visual Studio 2005 announced</title><link>http://blogs.no-ip.org/craig/archive/2005/06/08/1768.aspx</link><pubDate>Wed, 08 Jun 2005 18:01:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:1768</guid><dc:creator>craigg75</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=1768</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=1768</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/06/08/1768.aspx#comments</comments><description>&lt;P&gt;For us dotnetters, the big announcement came this week that the next version of Visual Studio 2005 will be release on November 7. Cool beans, I've a lot of good stuff about it and .Net 2.0 framework.&lt;/P&gt;
&lt;P&gt;On a VS 2003 note I'm going to include this in my blog for future reference. When you are using VS 2003 and VSS with web projects you can get hosed up easily. Lets say you either remove a web project from your solution or have a new one and want to add it into your current solution file. Naturally you would select File - &amp;gt; Add Project -&amp;gt; Existing Project From Web...&amp;nbsp; and then add the web address where you project file is located and then another dialog box opens that tells you to locate your project file. Then you get the famous error - &amp;#8220;The project you are trying to open is a web project, you need to open it by specifying its url path&amp;#8221;. Clicking Help button says something to the effect that there is no information on this error. Typical. This is what you do to get this to work right. Go to you wwwroot folder and delete your web project (make sure it's in sourcesafe first!). Then go to Visual Studio and select Source Control -&amp;gt; Open From Source Control... In this next dialog box find the sourcesafe folder is located and press OK. A warning will popup saying do you want to overwrite your files. Choose Overwrite. All this does is sourcesafe writes over it's own vss files on your hard drive. It's rewiring itself, not effecting your code files at all. Voila, you're web projects are now added to the solution file.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=1768" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Spamalot II</title><link>http://blogs.no-ip.org/craig/archive/2005/06/07/1737.aspx</link><pubDate>Tue, 07 Jun 2005 14:50:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:1737</guid><dc:creator>craigg75</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=1737</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=1737</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2005/06/07/1737.aspx#comments</comments><description>Ok I've implemented a captcha control with my blog. There is no time out issues with this and only requires one character to type in. Simple to use and hopefully will get rid of all the comment spam I've been getting.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=1737" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Adobe Acrobat Reader simplified</title><link>http://blogs.no-ip.org/craig/archive/2004/12/08/1033.aspx</link><pubDate>Wed, 08 Dec 2004 14:25:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:1033</guid><dc:creator>craigg75</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=1033</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=1033</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/12/08/1033.aspx#comments</comments><description>&lt;p&gt;I don't know what other people think, but with every release of the Adobe's pdf reader, they add more plugins so that it takes just that much longer to load it just to view a pdf document. In the splash screen you see all of the zillions of apis getting loaded. I found a workaround! Take all of the files and folders in your C:\Program Files\Adobe\Reader\plug_ins and move them somewhere else. Just empty out that plug_ins folder. Voila! Adobe reader comes up instantly now. Seems to me I remember seeing a program with a nice UI out there that let you individually choose what plugins you wanted to keep and disable with information on each one. All I need is ability to print and search documents. Like 95% of the users out there. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=1033" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Why we buy RAM...</title><link>http://blogs.no-ip.org/craig/archive/2004/11/08/948.aspx</link><pubDate>Mon, 08 Nov 2004 19:57:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:948</guid><dc:creator>craigg75</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=948</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=948</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/11/08/948.aspx#comments</comments><description>&lt;p&gt;... so we can run geeky software like this -&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.desktopsidebar.com/"&gt;http://www.desktopsidebar.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=948" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Today's recipient for "Get A Life" award goes to...</title><link>http://blogs.no-ip.org/craig/archive/2004/11/02/929.aspx</link><pubDate>Tue, 02 Nov 2004 16:20:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:929</guid><dc:creator>craigg75</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=929</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=929</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/11/02/929.aspx#comments</comments><description>&lt;p&gt;This guy took a 1979 Toyota Corolla radiator and hooked it up to his water cooled overclocked cpu so he could frag his gaming buddies faster --&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.winbeta.org/forums/index.php?showtopic=6594"&gt;http://www.winbeta.org/forums/index.php?showtopic=6594&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=929" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/Humor/default.aspx">Humor</category><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Visual Basic for Linux?</title><link>http://blogs.no-ip.org/craig/archive/2004/10/26/888.aspx</link><pubDate>Tue, 26 Oct 2004 18:10:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:888</guid><dc:creator>craigg75</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=888</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=888</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/10/26/888.aspx#comments</comments><description>&lt;p&gt;I saw this on &lt;a href="http://slashdot.org/article.pl?sid=04/10/26/142212"&gt;slashdot&lt;/a&gt; today. I didn't bother reading the comments, I'm sure the geeks had a field day claiming one or all of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why do you need a visual IDE when you can do everything using command line scripts, VIM or Emacs&lt;/li&gt;
&lt;li&gt;You can do more with Java, Mono, Python or other such uber geek language with a cobbled together IDE&lt;/li&gt;
&lt;li&gt;Why does Linux have to follow everything Microsoft does. boo!!&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Anyway here's the link if anyone has play time on their hands and don't mind being subservient to Basic language constructs. My personal favorite linux IDE/language would probably be &lt;a href="http://www.mono-project.com/"&gt;Mono&lt;/a&gt; using the &lt;a href="http://www.monodevelop.org/"&gt;MonoDevelop IDE&lt;/a&gt;. MonoDevelop is a close cousin of the very cool open source C# IDE called &lt;a href="http://www.icsharpcode.net/"&gt;SharpDevelop&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://gambas.sourceforge.net/"&gt;http://gambas.sourceforge.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happy programming!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=888" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>How to fix DateTime values after .NET Xml Serialization</title><link>http://blogs.no-ip.org/craig/archive/2004/09/17/825.aspx</link><pubDate>Fri, 17 Sep 2004 13:40:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:825</guid><dc:creator>craigg75</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=825</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=825</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/09/17/825.aspx#comments</comments><description>&lt;p&gt;I submitted this article to &lt;a href="http://www.codeproject.com/"&gt;&lt;img src="http://www.codeproject.com/images/codeproject88x31.gif" /&gt;&lt;/a&gt; a few days ago. I'm not sure if they'll use it or not, I know they get tons of articles every month. Anyway I'll stick it here in case anyone runs into some of the same crap I did and would like a possible solution --&lt;/p&gt;
&lt;hr /&gt;

&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The new .NET technologies, Remoting and Web Services has made life much easier than the days of trying to get DCOM to work. Although with anything that has been made easier there are some details that have been made too easy. In the case of Remoting or calling a web service, the Microsoft .NET Framework includes an automatic feature that converts all returned &lt;code&gt;DataTables&lt;/code&gt; with &lt;code&gt;DateTime&lt;/code&gt; values to the caller's time zone. So if you're in Seattle and need to find out a certain &lt;code&gt;DateTime&lt;/code&gt; value in a database table row (let's say &lt;code&gt;sale_date&lt;/code&gt;) on a server that runs in New York City you can make a web service call to find out. What happens is the &lt;code&gt;sale_date&lt;/code&gt; value may have a value of 8/22/2004 9:05 am on the server in New York, but your web service call will result in a value of 8/22/2004 6:05 am. Which is clearly wrong. This article will tell you how to fix this problem. &lt;/p&gt;
&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;The problem seems to only occur whenever you send a &lt;code&gt;DataTable&lt;/code&gt; as a return value. This is because .NET Framework will automatically serialize the &lt;code&gt;DataTable&lt;/code&gt; into xml using it's &lt;code&gt;System.Xml.Serialization.XmlSerializer&lt;/code&gt; class. The &lt;code&gt;XmlSerializer&lt;/code&gt; will convert the DateTime values upon deserialization on the client. The idea here is to take control of the xml serialization process and manipulate the xml using regular expressions to give us the correct result. &lt;/p&gt;
&lt;h2&gt;Using the code&lt;/h2&gt;
&lt;p&gt;1. In the web service we first need to convert the &lt;code&gt;DataTable&lt;/code&gt; to an xml string and send back the string. We use the &lt;code&gt;System.IO.StringWriter&lt;/code&gt; class to write out the xml string: &lt;/p&gt;&lt;pre&gt;  using System.Data;
  using System.IO;
  using System.Web.Services;
  ...
  namespace NYDataServices
  {
  ...
  // Web service is running in New York City
  public class MyWebService : System.Web.Services.WebService
  {
  ...
  [WebMethod]
  public string GetData()
  {
    DataTable dataTable = null;
    // Get data from database as a DataTable
    ...
    // Now convert the DataTable to an xml string and return it to client
    return convertDataTableToString( dataTable );
  }
  private string convertDataTableToString( DataTable dataTable )
  {
    DataSet dataSet = new DataSet();
    dataSet.Tables.Add( dataTable );
    StringWriter writer = new StringWriter();
    dataSet.WriteXml( writer, XmlWriteMode.WriteSchema );
    return writer.ToString();
  }&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;2. On the client side we make the call to get the data and receive the data as an xml string. &lt;/p&gt;&lt;pre lang="cs"&gt;  using System.Data;
  using System.Text.RegularExpressions;
  ...
  namespace SeattleClient
  {
  ...
  // Client program running in Seattle
  public class MyClient : System.Windows.Form
  {
  ...
  public void GetDataFromServer()
  {
    NYDataServices.MyWebService ws = new NYDataServices.MyWebService();
    string xmlString = ws.GetData();
    DataTable dataTable = convertStringToDataTable( xmlString );
    // Do something with dataTable
    ...
  }&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;3. Converting the xml string back to a &lt;code&gt;DATATABLE&lt;/code&gt;requires the use of regular expressions to search, adjust time values and replace. The &lt;code&gt;DateTime&lt;/code&gt; values take on the form of 2004-08-22T00:00:00.0000000-05:00. The last 5 characters in the string indicate the UTC (Universal Time Coordinate) time. During xml deserialization back into a &lt;code&gt;DataTable&lt;/code&gt;, the &lt;code&gt;XmlSerializer&lt;/code&gt; class reads this value and creates an offset value based on the client's UTC time. It then adds this offset into all &lt;code&gt;DateTime&lt;/code&gt; values upon deserialization. The kicker here is that if the &lt;code&gt;DateTime&lt;/code&gt; value happens to be on DST (Daylight Savings Time) and the client is not on DST it will adjust for this too. We use some of the magic of the &lt;code&gt;System.Text.RegularExpression&lt;/code&gt; namespace such as the &lt;code&gt;Regex.Replace()&lt;/code&gt; function, &lt;code&gt;Match&lt;/code&gt; class and &lt;code&gt;MatchEvaluator&lt;/code&gt; delegate.&lt;/p&gt;&lt;pre lang="cs"&gt;  private DataTable convertStringToDataTable( string xmlString )
  {
   // Search for datetime values of the format --&amp;gt; 2004-08-22T00:00:00.0000000-05:00
   string rp = @"(?&lt;date&gt;\d{4}-\d{2}-\d{2})(?&lt;time&gt;T\d{2}:\d{2}:\d{2}.\d{7}-)(?&lt;hour&gt;\d{2})(?&lt;last&gt;:\d{2})";
   // Replace UTC offset value
   string fixedString = Regex.Replace( xmlString, rp, new MatchEvaluator( getHourOffset ) );
   
   DataSet dataSet = new DataSet();
   StringReader stringReader = new StringReader( fixedString );
   dataSet.ReadXml( stringReader );
 
   return dataSet.Tables[ 0 ];
  }
  private static string getHourOffset( Match m )
  {
   // Need to also account for Daylights Savings Time when calculating UTC offset value
   DateTime dtLocal = DateTime.Parse( m.Result( "${date}" ) );
   DateTime dtUTC = dtLocal.ToUniversalTime();
   int hourLocalOffset = dtUTC.Hour - dtLocal.Hour;
   int hourServer = int.Parse( m.Result( "${hour}" ) );
   string newHour = ( hourServer + ( hourLocalOffset - hourServer ) ).ToString( "0#" );
   string retString = m.Result( "${date}" + "${time}" + newHour + "${last}" );
 
   return retString;
  }
&lt;/last&gt;&lt;/hour&gt;&lt;/time&gt;&lt;/date&gt;&lt;/pre&gt;
&lt;h2&gt;Points of Interest&lt;/h2&gt;
&lt;p&gt;I know this problem happens when sending back DataTables. I'm not sure if the same applies to custom classes, although I suspect it does. &lt;br /&gt;&lt;br /&gt;Here are links that I found very useful --&lt;br /&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2004/04/13/112784.aspx" target="_blank"&gt;http://blogs.msdn.com/brada/archive/2004/04/13/112784.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/dareobasanjo/archive/2004/04/14/113179.aspx" target="_blank"&gt;http://blogs.msdn.com/dareobasanjo/archive/2004/04/14/113179.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/groups?hl=en&amp;amp;lr=&amp;amp;ie=UTF-8&amp;amp;newwindow=1&amp;amp;threadm=OCHBxpWVEHA.4064%40TK2MSFTNGP11.phx.gbl&amp;amp;rnum=2&amp;amp;prev=/groups%3Fq%3Ddatatable%2520timezone%2520datetime%2520dotnet%26num%3D100%26hl%3Den%26lr%3D%26ie%3DUTF-8%26newwindow%3D1%26sa%3DN%26tab%3Dwg" target="_blank"&gt;Google groups post&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.regular-expressions.info/tutorial.html" target="_blank"&gt;Highly recommended Regular Expressions tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;829740" target="_blank"&gt;829740 - Improving DataSet Serialization and Remoting Performance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/en-us/cpguide/html/cpconcomregularexpressions.asp?frame=true" target="_blank"&gt;MSDN - .NET Framework Regular Expressions (.NET Framework Developer's Guide)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/en-us/cpguide/html/cpconregularexpressionexamples.asp?frame=true" target="_blank"&gt;MSDN - Regular Expression Examples (.NET Framework Developer's Guide)&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;History&lt;/h2&gt;&lt;!---    That's it!  - --&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=825" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>Learn how to ___ in 21 days</title><link>http://blogs.no-ip.org/craig/archive/2004/09/14/813.aspx</link><pubDate>Tue, 14 Sep 2004 18:54:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:813</guid><dc:creator>craigg75</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=813</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=813</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/09/14/813.aspx#comments</comments><description>&lt;p&gt;I follow this guy's blog for the rant humor. One the latest hits home with me, how 90% of the computer books out there are completely worthless. Check it out -- &lt;a href="http://caustictech.typepad.com/caustictech/2004/07/learn_blitherin.html"&gt;http://caustictech.typepad.com/caustictech/2004/07/learn_blitherin.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sort of reminds me of &lt;a href="http://www.geocities.com/RainForest/Vines/1521/carlin_bookclub1.html"&gt;George Carlin's Book Club&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=813" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item><item><title>My PVR is complete</title><link>http://blogs.no-ip.org/craig/archive/2004/06/24/598.aspx</link><pubDate>Thu, 24 Jun 2004 13:25:00 GMT</pubDate><guid isPermaLink="false">0511061e-8795-4252-a46c-8c82d1f16065:598</guid><dc:creator>craigg75</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/rsscomments.aspx?PostID=598</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.no-ip.org/craig/commentapi.aspx?PostID=598</wfw:comment><comments>http://blogs.no-ip.org/craig/archive/2004/06/24/598.aspx#comments</comments><description>&lt;p&gt;Just a quick note, I finally finished my PVR project. Cost ran around $600, about what I expected. It's really nice to be able to eliminate commercials and easily record what you want to remotely. Anyway I created a web page detailing it --&lt;/p&gt;
&lt;p&gt;&lt;span class="HeaderTitle"&gt;&lt;a href="http://craigg.no-ip.org/pvr/pvr.htm" target="_blank"&gt;Building a Windows based PVR&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="HeaderTitle"&gt;Here's a link to an &lt;a href="http://blogs.no-ip.org/craig/posts/372.aspx"&gt;earlier post on my blog&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.no-ip.org/aggbug.aspx?PostID=598" width="1" height="1"&gt;</description><category domain="http://blogs.no-ip.org/craig/archive/tags/IT+Stuff/default.aspx">IT Stuff</category></item></channel></rss>