tag:blogger.com,1999:blog-6331738269032912342024-03-04T23:48:32.308-05:00Donny V's BlogProgramming, IT Industry, GIS, Movies, etc....Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.comBlogger26125tag:blogger.com,1999:blog-633173826903291234.post-63725760021370376942011-12-23T09:29:00.004-05:002011-12-27T09:46:33.974-05:00Raspberry Pi<br />
<span style="font-size: large;"><span style="font-family: 'Trebuchet MS', sans-serif;">I'v been following the <a href="http://www.raspberrypi.org/">Raspberry Pi</a> for a while now and there almost ready for production!</span></span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;">Here is a picture of a test board.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5689333024532292706" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj99_0m6dYQh1YUDgPTwbOmSQ32DVk9twD06T_94BaOPmSRIYmO-DMGVYld5F38FP5bL-BFOZYnpH8jlCFnOeELJ1sszvS-q5x7l5wRbn_pm-d-pO7gDzPZZMbtSKBHKivWiexdlSuu6rU/s400/RaspberryPi.jpg" style="cursor: pointer; height: 225px; width: 400px;" /> </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;">Its the size of a credit card! </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><br /></span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;">
Here are the specs for people that aren't familiar with the project.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPNPzIN2k-IiYAwzTwkbNFYUIYLNbcAPkc3S9k5jrB_iLnPMz-xB-bv5fx2PAFWNDcx6FAqEYso2lKCoJ7p6m-_aSjMWuRpMBaJWnFoXO4w0tGXZkk_1cv3Bf2pn8AbEfId1fH7thgoI/s1600/Raspi-Model-AB-Mono-1-699x1024.png" style="white-space: normal;"><img alt="" border="0" height="640" id="BLOGGER_PHOTO_ID_5689334427900123010" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPNPzIN2k-IiYAwzTwkbNFYUIYLNbcAPkc3S9k5jrB_iLnPMz-xB-bv5fx2PAFWNDcx6FAqEYso2lKCoJ7p6m-_aSjMWuRpMBaJWnFoXO4w0tGXZkk_1cv3Bf2pn8AbEfId1fH7thgoI/s640/Raspi-Model-AB-Mono-1-699x1024.png" width="436" /></a> </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><br /></span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;">The point of this project is too provide a cheap computer for kids to learn programming. </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><br /></span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;">They will have 2 versions, Model A(128mb ram) will cost $25 and the Model B(256mb ram) $35.
There scheduled to start selling them early 2012.</span>
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/te8jt-jUkm8" width="560"></iframe>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com2tag:blogger.com,1999:blog-633173826903291234.post-18557257147886834682010-03-26T14:27:00.017-04:002010-03-26T15:50:48.444-04:002010 ESRI Developer Summit<span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">Unfortunately</span> this year I didn't get to go to the <span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">ESRI</span></span> <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">DevSummit</span></span> but I have been<div>keeping a close eye on the plenary videos and tweets from everyone that were there.</div><div>Following is a list major going <span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">ons</span></span> at the <span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">dev</span></span> summit.</div><div><br /></div><div><div><b><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;"> Desktop 10</span></b></div><div> - New icons....yeah!!??</div><div> - Total new modern <span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">UI</span></span> + <span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">dockable</span></span> windows (<span class="Apple-style-span" style="color:#3366FF;">very visual studio like</span>)</div><div> - Python = <span class="blsp-spelling-error" id="SPELLING_ERROR_8"><span class="blsp-spelling-error" id="SPELLING_ERROR_7">AML</span></span>, Python editor with <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_8">intellisense</span></span> built right into <span class="blsp-spelling-error" id="SPELLING_ERROR_10"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">ArcMap</span></span>. Python is fully <span class="blsp-spelling-corrected" id="SPELLING_ERROR_11">integrated</span> map production, <span class="blsp-spelling-corrected" id="SPELLING_ERROR_12">analysis</span>, scripts, reports, etc . (<span class="Apple-style-span" style="color:#3366FF;">not sure how non-developers are going to like this, they already think </span><span class="blsp-spelling-error" id="SPELLING_ERROR_13"><span class="Apple-style-span" style="color:#3366FF;"><span class="blsp-spelling-error" id="SPELLING_ERROR_10">ArcMap</span></span></span><span class="Apple-style-span" style="color:#3366FF;"> is too complicated.</span><span class="Apple-style-span" style="color:#000099;">)</span></div><div> - <span class="blsp-spelling-error" id="SPELLING_ERROR_14"><span class="blsp-spelling-error" id="SPELLING_ERROR_11">ArcCatalog</span></span> built right into <span class="blsp-spelling-error" id="SPELLING_ERROR_15"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">ArcMap</span></span></div><div> - Search engine built into <span class="blsp-spelling-error" id="SPELLING_ERROR_16"><span class="blsp-spelling-error" id="SPELLING_ERROR_13">ArcMap</span></span> </div><div> - Seamless panning</div><div> - Background <span class="blsp-spelling-error" id="SPELLING_ERROR_17"><span class="blsp-spelling-error" id="SPELLING_ERROR_14">geoprocessing</span></span>....<b>FINALLY!!!!</b></div><div> - New sketch tool with template based design</div><div> - New Add-Ins framework...no need for admin privilege to install an add-in. Available in for .NET & Java.</div><div> - Share Add-Ins using <span class="blsp-spelling-error" id="SPELLING_ERROR_18"><span class="blsp-spelling-error" id="SPELLING_ERROR_15">ArcGIS</span></span> Online and install right from the web browser.</div><div> - Fast map display</div><div> - Full <span class="blsp-spelling-corrected" id="SPELLING_ERROR_19">integration</span> with <span class="blsp-spelling-error" id="SPELLING_ERROR_20"><span class="blsp-spelling-error" id="SPELLING_ERROR_16">ArcGIS</span></span> Online</div><div> - Drag toolbox tools onto toolbars</div><div> - Will support .NET 4.0 and VS2010</div><div> - They want us developers to throw a way old <span class="blsp-spelling-error" id="SPELLING_ERROR_21"><span class="blsp-spelling-error" id="SPELLING_ERROR_17">arcobjects</span></span> code and replace it with Python....<span class="Apple-style-span" style="color:#3366FF;">yeah that should go over real well</span>.</div><div> The new development platform for 10 is suppose to be streamlined, so they rather you use that. (<span class="Apple-style-span" style="color:#3366FF;">I get the feeling </span><span class="blsp-spelling-error" id="SPELLING_ERROR_22"><span class="Apple-style-span" style="color:#3366FF;"><span class="blsp-spelling-error" id="SPELLING_ERROR_18">arcobjects</span></span></span><span class="Apple-style-span" style="color:#3366FF;"> as we know it is on its way out. </span><b><span class="Apple-style-span" style="color:#3366FF;">;-)</span></b> )</div><div>- Ships in June!</div><div><br /></div><div> </div><div><b><span class="blsp-spelling-error" id="SPELLING_ERROR_23"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_19">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;"> Engine 10</span></b></div><div> - Engine <span class="blsp-spelling-corrected" id="SPELLING_ERROR_24">inherits</span> all new features of Desktop.</div><div> - Simpler <span class="blsp-spelling-error" id="SPELLING_ERROR_25"><span class="blsp-spelling-error" id="SPELLING_ERROR_20">API</span></span></div><div> - License options, concurrent and borrowing</div><div><br /></div><div><b><a href="http://www.arcgis.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_26"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_21">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;">.com</span></a></b></div><div> - I wonder how long before <span class="blsp-spelling-error" id="SPELLING_ERROR_27"><span class="blsp-spelling-error" id="SPELLING_ERROR_22">ArcGIS</span></span>.com snuffs out <a href="http://www.giscloud.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_28"><span class="blsp-spelling-error" id="SPELLING_ERROR_23">GISCloud</span></span>.com</a>, <a href="http://www.weogeo.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_29"><span class="blsp-spelling-error" id="SPELLING_ERROR_24">WeoGeo</span></span>.com</a>, <a href="http://fortiusone.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_30"><span class="blsp-spelling-error" id="SPELLING_ERROR_25">Fortiusone</span></span>.com</a>, <a href="http://cloudmade.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_31"><span class="blsp-spelling-error" id="SPELLING_ERROR_26">Cloudmade</span></span>.com</a> and anyone else with a cloud offering.</div><div><br /></div><div><b><span class="blsp-spelling-error" id="SPELLING_ERROR_32"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_27">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;"> Server 10</span></b></div><div> - Web editing on all client platforms <span class="blsp-spelling-error" id="SPELLING_ERROR_33"><span class="blsp-spelling-error" id="SPELLING_ERROR_28">JSAPI</span></span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_34"><span class="blsp-spelling-error" id="SPELLING_ERROR_29">Silverlight</span></span>, Flex, iPhone <span class="blsp-spelling-error" id="SPELLING_ERROR_35"><span class="blsp-spelling-error" id="SPELLING_ERROR_30">SDK</span></span></div><div> - New Feature service</div><div> - Ability to make a custom REST services based on <span class="blsp-spelling-error" id="SPELLING_ERROR_36"><span class="blsp-spelling-error" id="SPELLING_ERROR_31">ArcGIS</span></span> Server REST <span class="blsp-spelling-error" id="SPELLING_ERROR_37"><span class="blsp-spelling-error" id="SPELLING_ERROR_32">API</span></span></div><div> - Time data is supported</div><div> - <span class="blsp-spelling-corrected" id="SPELLING_ERROR_38">Mosaic</span> feature to publish imagery tiles without any <span class="blsp-spelling-error" id="SPELLING_ERROR_39"><span class="blsp-spelling-error" id="SPELLING_ERROR_33">preprocessing</span></span>...<b>very FAST!</b></div><div><br /></div><div> </div><div><b><span class="blsp-spelling-error" id="SPELLING_ERROR_40"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_34">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;"> Mobile</span></b></div><div> - <span class="blsp-spelling-error" id="SPELLING_ERROR_41"><span class="blsp-spelling-error" id="SPELLING_ERROR_35">sdk</span></span> support for iPhone, <span class="blsp-spelling-error" id="SPELLING_ERROR_42"><span class="blsp-spelling-error" id="SPELLING_ERROR_36">iPad</span></span>, Windows Phone 7, Android</div><div> - Mobile manager to publish maps for mobile apps</div><div><br /></div><div> </div><div><b><span class="blsp-spelling-error" id="SPELLING_ERROR_43"><span class="Apple-style-span" style="font-size:large;"><span class="blsp-spelling-error" id="SPELLING_ERROR_37">ArcGIS</span></span></span><span class="Apple-style-span" style="font-size:large;"> Online + Explorer</span></b></div><div> - Explorer has been ported to <span class="blsp-spelling-error" id="SPELLING_ERROR_44"><span class="blsp-spelling-error" id="SPELLING_ERROR_38">silverlight</span></span> and now can be accessed in all major browsers.</div><div><br /></div><div> </div><div><b><span class="Apple-style-span" style="font-size:large;">Misc</span></b></div><div> - Working on a full 64bit version of <span class="blsp-spelling-error" id="SPELLING_ERROR_45"><span class="blsp-spelling-error" id="SPELLING_ERROR_39">ArcGIS</span></span> Server</div><div> - File <span class="blsp-spelling-error" id="SPELLING_ERROR_46"><span class="blsp-spelling-error" id="SPELLING_ERROR_40">Geodatabase</span></span> <span class="blsp-spelling-error" id="SPELLING_ERROR_47"><span class="blsp-spelling-error" id="SPELLING_ERROR_41">API</span>...<a target="_blank" href="http://blog.entchev.com/2010/03/24/the-shapefile-slayer-has-yet-to-hatch.aspx">get more here</a></span></div><div> - Scott <span class="blsp-spelling-error" id="SPELLING_ERROR_48"><span class="blsp-spelling-error" id="SPELLING_ERROR_42">Morehouse</span></span>, Director of Software Development says there<b> pivoting all apps to web/cloud concept</b>.</div></div><div><br /></div><div>The major point you get from this years <span class="blsp-spelling-error" id="SPELLING_ERROR_43">dev</span>-summit is that <span class="blsp-spelling-error" id="SPELLING_ERROR_44">ESRI</span> is taking</div><div><span class="blsp-spelling-error" id="SPELLING_ERROR_45">gis</span> web applications and platforms <b>very seriously</b>. How long will it be before you see <span class="blsp-spelling-error" id="SPELLING_ERROR_46">ArcMap</span> and all there desktop apps running in the <span class="blsp-spelling-error" id="SPELLING_ERROR_47">ArcGIS</span> Cloud? Probably once they sort out a good license model and scale <span class="blsp-spelling-error" id="SPELLING_ERROR_48">ArcGIS</span> Server. The question is will they take it that far? If they do I can see a lot of partners that spent good money building web apps investing in <span class="blsp-spelling-error" id="SPELLING_ERROR_49">ESRI</span> server technology being very ticked. Plus that would push a lot of the new up and comers of the <span class="blsp-spelling-error" id="SPELLING_ERROR_50">gis</span> cloud party out.</div><div><br /></div><div>I guess time will tell if <span class="blsp-spelling-error" id="SPELLING_ERROR_51">ESRI</span> will dominate the cloud like they dominate the desktop and server space.... I'm betting yes.</div>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com4tag:blogger.com,1999:blog-633173826903291234.post-71636090206018383282009-11-23T09:33:00.004-05:002009-11-23T10:06:25.839-05:00TweetGISI just wanted to talk about a little project I did early in the year for ESRI's 2009 Developer Summit's Dev Challenge contest. At the time people were just starting to understand what Twitter was and how to use it. So I thought it would be a really neat way to use Twitter as an editing status feed on parcel data. It would tweet when someone edited the attributes of a parcel and include a link to the parcel that was edited. It would also tweet when a new user was created and when one returned. <div><br /></div><div>Since ESRI's Javascript framework doesn't support attribute editing I separated the data from the features. I put the attribute data inside Google Spreadsheets, which I found out does not have a record limit. </div><div><br /></div><div>The project is made up of 2 apps. The front end which consist of html, jQuery and ESRI's JSAPI Framework. Then the server side piece which I used ASP.NET MVC, <a href="http://code.google.com/p/tweetsharp/">TweetSharp </a>library and <a href="http://code.google.com/apis/spreadsheets/">Google's Spreedsheet API</a>.</div><div><br /></div><div>The project came together really well and took 2 weeks of late nights.</div><div><br /></div><div>Here is a presentation I did on it</div><div><div style="width:425px;text-align:left" id="__ss_2164092"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/DonnyV/tweetgis" title="Tweet Gis">Tweet Gis</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=tweetgis-12550079025996-phpapp02&stripped_title=tweetgis"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=tweetgis-12550079025996-phpapp02&stripped_title=tweetgis" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/DonnyV">DonnyV</a>.</div></div></div><div><br /></div><div><b>Demo</b></div><div><a href="http://tweetgis.civilsolutions.biz">http://tweetgis.civilsolutions.biz</a></div><div><br /></div><div><b>Source Code</b></div><div><a href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&scriptID=16058">http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&scriptID=16058</a></div>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com2tag:blogger.com,1999:blog-633173826903291234.post-86458297951355465812009-08-27T22:04:00.024-04:002010-09-09T14:38:51.520-04:00ComicsInventory.comI just wanted to share a little project I've been working on called <a href="http://www.comicsinventory.com/">ComicsInventory.com</a>. <div><br /></div><div>I have been a big fan of comic books for years and have over the years accumulated a very large collection. Sometime ago I decided to start organizing my collection and finding out how much each issue was worth. I looked around the net for a solution but found very over priced solutions or free solutions that had very bad interface designs or poorly written code. This gave me the opportunity to merge my love of comics with my love of code. Plus I figured I could use the site as a testing ground for anything new that comes out in the coding world ;-)<div><br /></div><div>For my framework I decided to use (at the time) the beta of Asp.net MVC. I liked the freedom it gave you and its minimalistic design. It's faster, lighter and gets you back to html and http. <b>No server controls or viewstate! </b>But I've already <a href="http://donnyvblog.blogspot.com/2009/01/aspnet-mvc-jquery-new-standard.html">talked about this</a> before.</div><div><br /></div><div>Since theres so many different ways to organize comics. I decided to build the site around a labeling system. This gave me the flexibility to assign multiple labels to comics and group them in different categories. A side benefit that came about was when I added the "total price" feature. This made it very convenient when getting values for all your spider-man comics. But also if some of those spider-man comics were <a href="http://en.wikipedia.org/wiki/Comics_Guaranty_LLC">CGC'd</a>. I could create a <a href="http://en.wikipedia.org/wiki/Comics_Guaranty_LLC">CGC</a> label and see how much all my <a href="http://en.wikipedia.org/wiki/Comics_Guaranty_LLC">CGC</a> comics were worth.</div><div><br /></div><div>Another big feature is the Image Viewer and Image Upload. This was tricky because I had to reliably upload an image, create 2 copies (1 large & 1 thumbnail) and upload those images to Amazon's S3 service. All in 1 step. I used the awesome flash plugin <a href="http://www.uploadify.com/">Uploadify</a> to constrain the image sizes and handle the image upload to the site. I then used the .NET image classes to copy and resize the images. Instead of making my own Amazon S3 library I decided to use <a href="http://www.codeplex.com/ThreeSharp">ThreeSharp</a>. This library was fantastic and had an active discussion section.</div><div><br /></div><div>Designing the interface and the look of the site was very important to me. I wanted the site to be very clear, easy to use, but also minimalistic. I spent time at <a href="http://37signals.com/">37signals</a>, studying there site but also there philosophy on feature creep and really focusing in on what features are important to ship with first. It helped a lot with designing the <a href="http://www.comicsinventory.com/">Home page</a> where I wanted to show what the site was about.</div><div><br /></div><div>I learned a lot about the <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">MVC</a> architectural pattern, designing and using third party services to extend your site. But the best thing is I now have a place to inventory my comics and in the process created a service that others can benefit from. </div><div><br /></div><div><b style="text-decoration:underline;"><span class="Apple-style-span" style="font-size:large;">Site Architecture</span></b></div><div><div><b>Host:</b> <a href="http://www.rackspacecloud.com/"><del>Rackspace cloud sites</del></a> <a href="http://www.winhost.com/" target="_blank">WinHost</a></div><div><br /></div><div><b>Core</b></div><div><ol><li><b>OS</b>: Windows Server 2008</li><li><b>Web</b>: IIS 7.0</li><li><b>Database</b>: SQL Server 2008</li><li><b>Language</b>: C#</li></ol></div><div><br /></div><div><b>Dev Tools</b></div><div><ol><li><b>IDE</b>: Visual Studio 2008 Team</li><li><b>Framework</b>: <a href="http://www.asp.net/mvc/">ASP.NET MVC</a></li><li><b>Data Access helper</b>: <a href="http://www.codeplex.com/entlib">Microsoft Enterprise Library</a></li><li><b>Browser </b><b>Framework</b>: <a href="http://jquery.com/">jQuery</a></li><li><b>Source Control</b>: <a href="http://subversion.tigris.org/">Subversion</a></li><li><b>Subversion </b><b>Client</b>: <a href="http://ankhsvn.open.collab.net/servlets/ProjectProcess?pageID=3794">AnkhSVN</a></li><li><b>Compare Tool</b>: <a href="http://winmerge.org/">WinMerge</a></li></ol></div><div><br /></div><div><b>Third party libraries</b></div><div><ol><li><b><a href="http://www.uploadify.com/">Uploadify</a> </b>- flash plugin to handle uploads & constraints</li><li><b><a href="http://www.codeplex.com/ThreeSharp">ThreeSharp</a> </b>- Amazon S3 library</li><li><b><a href="http://www.codeplex.com/Json">Json.NET</a></b> - JSON Serializer/Deserializer</li><li><b><a href="http://www.google.com/analytics/">Google Analytics</a></b> - web site statistics</li><li><b><a href="https://uservoice.com/">UserVoice</a> </b>- feed back system</li></ol></div></div></div>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com3tag:blogger.com,1999:blog-633173826903291234.post-91643651503393913082009-05-26T14:22:00.014-04:002010-02-19T15:14:31.543-05:00Using jQuery Plugin Uploadify with Asp.net MVCJust started using this great jQuery plugin called <a href="http://www.uploadify.com/" target="_blank">Uploadify</a>, that lets you upload multiple files to the server. It uses flash to queue the files and send them one by one to the server. Plus provides feedback and all other types of goodies. The implementation is pretty straight foward.<br /><br /><h4 style="margin:0px 0px 0px 0px;">Just add this client side code.</h4><pre name="code" class="javascript"><script type="text/javascript" src="/Content/js/jquery-1.3.2.min.js"></script><br /><script type="text/javascript" src="/Content/js/jquery.uploadify.js"></script><br /><script type="text/javascript"><br />$(document).ready(function() {<br />$("#fileInput").uploadify({<br /> uploader: "/Content/swf/uploadify.swf",<br /> script: "/UIImageViewer/Upload",<br /> cancelImg: "/Content/imgs/cancel.png",<br /> auto: true,<br /> folder: "/uploads",<br /> onError: function (a, b, c, d) {<br /> if (d.status == 404)<br /> alert("Could not find upload script. Use a path relative to: "+"<?= getcwd() ?>");<br /> else if (d.type === "HTTP")<br /> alert("error "+d.type+": "+d.status);<br /> else if (d.type ==="File Size")<br /> alert(c.name+" "+d.type+" Limit: "+Math.round(d.sizeLimit/1024)+"KB");<br /> else<br /> alert("error "+d.type+": "+d.text);<br /> }<br />});<br />});<br /></script><br /><body><br /><input type="file" name="fileInput" id="fileInput" /><br /></body><br /></pre><br /><div><br /></div><div><b>Then create a controller with a "Upload" action.</b></div><div><div><pre name="code" class="csharp"> public string Upload(HttpPostedFileBase FileData)<br />{<br /> /*<br /> *<br /> * Do something with the FileData<br /> *<br /> */<br /> return "Upload OK!";<br />}<br /></pre><br /></div><div><br /></div><div>The tricky part, which drove me crazy, is that you need to use the "HttpPostedFileBase" class <b>NOT </b>the "HttpPostedFile" class. If you use the other class the script will return a "IO Error #2038" error message.</div></div><div><br /></div>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com26tag:blogger.com,1999:blog-633173826903291234.post-83671220780342750032009-03-28T16:40:00.015-04:002009-03-28T17:50:24.313-04:002009 ESRI Developer Summit<b>ArcGIS 9.3.1 Server (ships after U.C.)</b><br /> - New Optimized Map Service that is as fast as ArcIMS or sometimes faster.<br/><br /> - New Map publish toolbar in ArcMap that helps optimize mxds and rendering speeds, using the analyze tool. The analyze tool produces errors, warnings and messages to help you see what's slowing down your map service. It also creates a new optimized mxd file with a .msd extension, that is used for the new Optimized Map Service. During one of the sessions it took a map that rendered in 12sec and optimized it to .8 secs.<br/><br /> - <a href="http://resources.esri.com/arcgisserver/apis/silverlight/">New Silverlight API </a>beta is released with some custom controls like automatic point clustering and rendering. The demos were really slick and fast. At one of the sessions someone asked what the limitations of the Silverlight API was. <a target="_blank" href="http://www.dotartsplace.net/blog/">Art Haddad</a> said he tested rendering 10,000 points with no problem. He says your bandwidth is now your bottleneck. For you JavaScript API folks out there, you know the pain and limitation of only showing 100 points before it brings your browser to a crawl. Also map rotation will be supported. I believe this will be ESRI's default web client. <br /><br/><br /><b>ArcGIS 9.4 Desktop (ships late fall or early next year)</b><br /> - New UI with dock able controls like Visual Studio<br/><br /> - Catalog has been added right into ArcMap<br/><br /> - Asynchronous geoprocessing (basically when running a toolbox tool it will not lock up your whole ArcMap session anymore)<br/><br /> - Side by side deployment (9.3.1 & 9.4 versions will be able to run on the same machine)<br/><br /> - High performance graphics<br/><br /> - Full python integration with script console<br/><br /> - Enhanced editing in 2D & 3D<br/><br /> - <span style="color: #FF0000;"><strong>No support</strong></span> for IE6, VB6, VS2005, Oracle 9i, SQL2000, Win2000 & Win Server 2000<br/><br /> - VBA <b>only</b> available for legacy<br/><br /> - Python is now the default custom tool language<br/><br /> - New layers tab in ArcMap that groups the layers by there state. Groupings like Visible, Out of Scale Range, Hidden layers, and Selectable layers.<br/><br /> - New editing tools for ArcEngine that match the tools in ArcMap<br/><br /> - Search integration in all products<br/><br /> - New layer type called "Query layers" that limits displayed features using SQL syntax.<br/><br /><br /><b>ArcGIS 9.4 Server (ships late fall or early next year)</b><br /> - Web editing service provided in all web APIs.<br/><br /> - Support for native SQL, no ArcSDE required.<br/><br /> - Faster map tile retrieval.<br/><br /> - Query Layer support<br/><br /> - Access to standalone tables<br/><br /> - Improve map cache update workflow<br/><br /> - Full support for domains<br/><br /> - Support for native SQL<br/><br /><br/><br /><b>ArcGIS Explorer 900</b><br /> - New feature lets you create presentations with fly over animations using your data. It also lets you import you PowerPoint slides.<br/><br /> - Virtual Earth data will be available.<br/><br /> - New ribbon interface and a custom settings file can be created to limit what tools are shown for custom user installs.<br/><br /><br/><br /><b>Other random items</b><br /> <b>ArcGIS Online (ships after 9.3.1)</b> - Using your global account you can log in and share your data by uploading it. You can even create groups and secure them so that only certain people have access to the data. You can even create hosted maps from your uploaded data. No mention was said if this would be a free site or some type of paid service.<br/><br /> <b>Layer Packages</b> - These are basically compressed files that will include the layer symbology and data in one file. This will be used to upload data to the new ArcGIS Online.<br/><br /> <b>Using Open Layers with the REST API</b> - <a target="_blank" href="http://www.spatiallyadjusted.com/">James Fee</a> gave an interesting user <a target="_blank" href="http://www.slideshare.net/cageyjames/using-open-layers-with-arc-gis-server-rest-api-dev-summit?type=powerpoint">session</a> about <a target="_blank" href="http://www.mkgeomatics.com/apps/REST_Dev/">modifying</a> the open source project <a target="_blank" href="http://openlayers.org/">Open Layers</a> to use the ArcGIS Server REST API. Right now it supports a subset of the REST API features but will support all functions possibly by Fall of '09.<br/><br /> <b>ArcGIS Mobile 9.4</b> - Mobile will be supported on tablets and the SDK has been made easier for task based programs. The same program should work on handheld and tablet with no modification.<br/><br /><br />This year I would say the key jargon phrases for the summit are "Web Maps" and "Story". "Story" is taken from Microsoft and basically its a way to assign emotion to a product. It also describes the user experience. It was used in almost every session I went too. "Web Maps" is ESRIs way of saying <b>"stop creating sites that mimic ArcMap on the web"</b> and create more focused web map applications with the least amount of layers. I'm not really sure this is cost effective. Since most clients want to get the most bang for there buck and don't really want to pay you to create 5 focused sites when 1 light web gis viewer could do the same thing. I understand there shooting for the Google simple map app, but I don't believe in these financially <br />sensitive times that this makes sense.<br /><br />Overall I think the Dev Summit was good and I'm really looking forward to playing with the Silverlight API and the Optimized Services.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com4tag:blogger.com,1999:blog-633173826903291234.post-35373532142096129302009-02-03T16:56:00.011-05:002010-02-19T15:17:31.262-05:00Sending email in C# using GMail!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0O2Aw6Qi_-8H9uc4ENVDvfK63Rznap6qK7gbSVpOeH971nJJHiZcDOxHVci6izBzG3VlLAsqast905eC9tpA2tmlcauuX0PFEEII4DnLc1LFJCiGjbI-JLMZpuV9Bndk4Wlb5MM__DFk/s1600-h/Gmail.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 141px; height: 63px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0O2Aw6Qi_-8H9uc4ENVDvfK63Rznap6qK7gbSVpOeH971nJJHiZcDOxHVci6izBzG3VlLAsqast905eC9tpA2tmlcauuX0PFEEII4DnLc1LFJCiGjbI-JLMZpuV9Bndk4Wlb5MM__DFk/s400/Gmail.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5298696730924182370" /></a><br /><br />Here is some code I put together to send email using your Gmail account.<br />This can come in handy if you want your app to send notifications and you don't have access to an SMTP server.<br /><br />Remember there is a limit that Gmail puts on mass emails. They will punish you if you go over it.<br /><br /><span style="font-weight:bold;">Gmail Sending Limits</span><br /><blockquote><span style="font-style:italic;">In an effort to fight spam and prevent abuse, Google will temporarily disable your account if you send a message to more than 500 recipients or if you send a large number of undeliverable messages. If you use a POP or IMAP client (Microsoft Outlook or Apple Mail, e.g.), you may only send a message to 100 people at a time. Your account should be re-enabled within 24 hours.</span></blockquote><br /><br /><br />Remember to set <span style="font-weight:bold;">"DeliveryMethod = SmtpDeliveryMethod.Network"</span>. If this is not set then Gmail will come back with a <span style="font-weight:bold;">"client was not authenticated"</span> error.<br /><br /><span style="font-weight:bold;">Code</span><pre name="code" class="csharp">using System.Net.Mail;<br />using System.Net;<br /><br />var fromAddress = new MailAddress("from@gmail.com", "From Name");<br />var toAddress = new MailAddress("to@yahoo.com", "To Name");<br />const string fromPassword = "password";<br />const string subject = "test";<br />const string body = "Hey now!!";<br /><br />var smtp = new SmtpClient<br />{<br /> Host = "smtp.gmail.com",<br /> Port = 587,<br /> EnableSsl = true,<br /> DeliveryMethod = SmtpDeliveryMethod.Network,<br /> Credentials = new NetworkCredential(fromAddress.Address, fromPassword),<br /> Timeout = 20000<br />};<br />using (var message = new MailMessage(fromAddress, toAddress)<br />{<br /> Subject = subject,<br /> Body = body<br />})<br />{<br /> smtp.Send(message);<br />}<br /></pre>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com1tag:blogger.com,1999:blog-633173826903291234.post-88018550784910256602009-01-23T16:46:00.007-05:002009-01-23T17:05:53.114-05:00Last nail in ArcIMS's coffin.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh59ZnpQcFLybclrkR9yh8YLD2PfBahvPwYU1Ih4-eq59g9XGcxp121zQNYHlU6Vu__aIezax7yYqc3TFHx51KantCqwP5qi8oViH-HHOWdwh6CTTcX3wo8HeUbNGu3Q1HAvh2tPj_bPMQ/s1600-h/ArcIMSDead.jpg"><img style=" margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 345px; height: 287px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh59ZnpQcFLybclrkR9yh8YLD2PfBahvPwYU1Ih4-eq59g9XGcxp121zQNYHlU6Vu__aIezax7yYqc3TFHx51KantCqwP5qi8oViH-HHOWdwh6CTTcX3wo8HeUbNGu3Q1HAvh2tPj_bPMQ/s400/ArcIMSDead.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5294613174740512786" /></a><br /><br />Well ESRI just released some news about ArcGIS 9.3.1.<br /><a href="http://www.esri.com/software/arcgis/whats-new/whats-coming.html" target="_blank">What's Coming in ArcGIS 9.3.1?</a><br /><br />Here is an item that caught my eye.<br /><blockquote><span style="font-weight:bold;">High-Performance Dynamic Map Publishing</span><br />New faster rendering engine<br />Outperforms equivalent ArcIMS services.<br />Produces significantly better-looking maps.<br />Shortens map caching time.<br />Quicker, smoother zoom and pan.</blockquote><br /><br />If this is true then ArcIMS is truly dead.<br />There are no more excuses left to not move to server.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-87965233407646583942009-01-07T20:40:00.031-05:002009-01-08T08:24:03.855-05:00Asp.net MVC & jQuery the new standardWow its been a while since I'v posted something. Been busy at work and settling into the new house, holidays and every other crazy thing that happens around this time of the year. <br /><br />But what I really want to talk about is the new <a href="http://www.asp.net/mvc" target="_blank">ASP.NET MVC</a> & <a href="http://jquery.com" target="_blank">jQuery</a> and how this will be the standard way of building sites on the ASP.NET framework. I know its a bold disclaimer, but I fully believe it after using both on a couple of projects and coming away thinking.... why wasn't it always this fun to build sites in Dot Net!<br /><br />To begin with the MVC part stands for Model-View-Controller. This is a very old concept dating back to 1979 which was described by Trygve Reenskaug, then working on Smalltalk at Xerox PARC(..I'm always surprised at the amount of <a href="http://en.wikipedia.org/wiki/Xerox_PARC" target="_blank">ground breaking technology</a> that went on at Xerox back than.). <br /><blockquote><span style="font-style:italic;">In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.</span></blockquote><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyWy1l83tUw4FFWa6QjVNS1_OhMoUDj2H3p_YjLXbV8HTYE_hLGXWSXu6HP0TZ0ZG75ZyUDUy2I7C-vrWzPdHkKF-wB59Lfi66BGwX0MbhmkaV4jOmUpcIi14U1E3Kf0kr5SQvBAZZ9Ro/s1600-h/MVC.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyWy1l83tUw4FFWa6QjVNS1_OhMoUDj2H3p_YjLXbV8HTYE_hLGXWSXu6HP0TZ0ZG75ZyUDUy2I7C-vrWzPdHkKF-wB59Lfi66BGwX0MbhmkaV4jOmUpcIi14U1E3Kf0kr5SQvBAZZ9Ro/s400/MVC.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5288762886426321250" /></a><br /><br />You gain a lot by separating your website out like this. It makes it super easy to run Unit Tests against all 3 levels. You also lose the ViewState dead weight. No more limitation on just 1 form and the post back model goes right out the door. Now the down side is most server controls that use ViewState will not work. But MVC makes up for this with HtmlHelpers. Plus you get really nice looking <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> like urls. Like so <a href="http://stackoverflow.com/questions/tagged/asp.net-mvc" target="_blank">http://stackoverflow.com/questions/tagged/asp.net-mvc</a>. Notice you don't see the ".aspx" ext or any extensions. You may think "<span style="font-style:italic;">who cares, so your url looks pretty</span>". Yeah I thought the same thing also, but what makes this important is the url is self describing. It now has meaning and that meaning can be parsed and indexed by the all mighty GOOGLE search engine. You know what that means. Better search indexes, higher ranking and more eye balls finding your site!! <br /><br />These nice urls are pointers to actions in your controller.<br />An action is basically a function waiting to be called by a url. And just like any function you can pass parameters to it and it can output data from it. This is huge because now not just your front end .aspx page have access to your logic, but so does anything that can communicate through http. This is what makes MVC such an easy fit for <a href="http://en.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a>. You can call that action url right in Javascript and have it return some string information or better yet <a href="http://www.json.org/" target="_blank">JSON</a> objects.<br /><br />This is where jQuery comes in handy. <br /><blockquote><span style="font-style:italic;">jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.</span></blockquote><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7PrwTLG-6Jeeu6PWAFUAqL_Kyv3vXJb1dnrlahSyitNMyN44SX6XrxjoIk-vJ3XKqTHRuid-iksKxgSy5oHhzBtKW0xduvzfNskoY65vZQaf_oSeUtlAqWwAGaJU9my4dcfm6wV-nto4/s1600-h/jquery.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 231px; height: 81px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7PrwTLG-6Jeeu6PWAFUAqL_Kyv3vXJb1dnrlahSyitNMyN44SX6XrxjoIk-vJ3XKqTHRuid-iksKxgSy5oHhzBtKW0xduvzfNskoY65vZQaf_oSeUtlAqWwAGaJU9my4dcfm6wV-nto4/s400/jquery.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5288765372534816626" /></a><br /><br />jQuery makes javascript fun again. Like when you first discovered all the cool little floating boxs and color changing scripts you can do with it. You can even make it <a href="http://www.schillmania.com/projects/snowstorm/" target="_blank">snow</a> on your web site with Javascript. But than all the different browsers decided, they knew the best way to implement javascript. You had to add all that browser checking code mixed in with your logic and boiler plate code....ahhhhhhhhhhhh!!!. No wonder most people ran screaming and called javascript a toy language. jQuery takes care of all that and comes up with a genuis way of traversing the DOM using <a href="http://docs.jquery.com/Selectors" target="_blank">selectors</a>. <br /><br /><blockquote><span style="font-style:italic;">jQuery selectors are a combination of CSS 1-3 & XPath. Essentially, the best parts from both of these query languages were taken, combined, and used to create the final jQuery expression language.</span></blockquote><br /><br />What really makes jQuery shine is the fact that its very extensible. There are 100s of <a href="http://plugins.jquery.com/" target="_blank">plug-ins</a> on the site. From form valadation plugin-ins, auto-complete controls with ajax to a full <a href="http://code.google.com/p/flexigrid/" target="_blank">Grid control</a> with built in search using local or remote data, column resizing and ording.<br /><br />jQuery was so powerful that Microsoft decided to <a href="http://www.theregister.co.uk/2008/09/29/microsoft_jquery/" target="_blank">include it</a> with its ASP.NET MVC Beta release.<br /><br />Just imagine the possibilities. I know its a different way of thinking and building a site from a .NET view. But this is the way all major web platforms are built. Ruby on Rails, PHP, Java..etc. It makes sense for the web and makes development life a lot easier.<br /><br />If you want some tutorials on some of the topics I talked about <a href="http://weblogs.asp.net/scottgu/archive/2008/04/16/asp-net-mvc-source-refresh-preview.aspx" target="_blank">ScottGu's Blog</a> has some really nice posts that get into the details of ASP.NET MVC.<br /><br /><a href="http://docs.jquery.com/Tutorials" target="_blank">jQuery's site</a> has a lot of nice documentation on what jQuery is and how it works.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com1tag:blogger.com,1999:blog-633173826903291234.post-87221781422502735042008-09-02T15:46:00.018-04:002008-09-04T15:35:31.619-04:00Google ChromeWell Google Chrome beta is <b>OUT!!!</b><br /><br />Check out some the screen shots of the different features.<br /><br /><b>Javascript Console</b><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU3Zz9dtp4DvFxzZNV57tzYewZnYIMRwyhXxXPC9jDl0jerZGExN7Ow57x1iu1G8Ejyi7xeLMzQv-5OqcUu5pKjPkLHcW9Mxs93AstbZ8AvkSS3Wbg-vXHHVc550Mr4hpkkgJilmfNVr4/s1600-h/Google+Chrome+Javascript+Console.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU3Zz9dtp4DvFxzZNV57tzYewZnYIMRwyhXxXPC9jDl0jerZGExN7Ow57x1iu1G8Ejyi7xeLMzQv-5OqcUu5pKjPkLHcW9Mxs93AstbZ8AvkSS3Wbg-vXHHVc550Mr4hpkkgJilmfNVr4/s400/Google+Chrome+Javascript+Console.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241513305735013874" /></a><br /><br /><b>View Source</b><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkPJ3MlGDS2TG6wFPCUyMGBngN2O1IS9Gt5HrnCKDvbpEIxXz6YCBYdthBiE1UqeknCAsz7kLglvhi13gBB8TXP-NdSxlSthrlk6j5jpNjQaGZflWAUqDb5jur1nm4uRPbKcv3xEHCdJM/s1600-h/Google+Chrome+View+Source.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkPJ3MlGDS2TG6wFPCUyMGBngN2O1IS9Gt5HrnCKDvbpEIxXz6YCBYdthBiE1UqeknCAsz7kLglvhi13gBB8TXP-NdSxlSthrlk6j5jpNjQaGZflWAUqDb5jur1nm4uRPbKcv3xEHCdJM/s400/Google+Chrome+View+Source.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241513785083859106" /></a><br /><br /><b>Options Dialog box's</b><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH24dn1VUc5EcKCHxY9gLZ3CvoVxEVV5le5dwLNTwCIY3_dvTlJ77CcNpqICSs_uZZsv9ae8BVzvUtIFtlG4Dfrknh48ANupojoFJe9sMerdkPD9KNwB8qdgpmWhA94pIJFmJSflC0ajo/s1600-h/Google+Chrome+-+Options+Basics.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH24dn1VUc5EcKCHxY9gLZ3CvoVxEVV5le5dwLNTwCIY3_dvTlJ77CcNpqICSs_uZZsv9ae8BVzvUtIFtlG4Dfrknh48ANupojoFJe9sMerdkPD9KNwB8qdgpmWhA94pIJFmJSflC0ajo/s400/Google+Chrome+-+Options+Basics.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241514390540619058" /></a><br /><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaSfIto0Avb-iCc-rGWkPnKsmJfAU_7j21c__R-kUiTbfoKmi75GEMcDkhnm16yfEpWufgITb2OmCNawPLz42Kwl3NxV5teWK4lSgrxmteNIhwZg5Sle21Un2XgO61RnrxJNvsQ3WrqBM/s1600-h/Google+Chrome+-+Options+Minor+Tweaks.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaSfIto0Avb-iCc-rGWkPnKsmJfAU_7j21c__R-kUiTbfoKmi75GEMcDkhnm16yfEpWufgITb2OmCNawPLz42Kwl3NxV5teWK4lSgrxmteNIhwZg5Sle21Un2XgO61RnrxJNvsQ3WrqBM/s400/Google+Chrome+-+Options+Minor+Tweaks.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241514402249321330" /></a><br /><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvH_K21Eo1gArKrC8czslpurNeCFreDvQUdcrt24nmNt0Gg0BMe41FYXAETqgh0D4MwpQ3OwaEnYMiadJ-OOJqRTnL_JxFIinELmJfr2jYXjCJ0bO-pSvvYZoUXr9UetnrAX_GPXTxvA/s1600-h/Google+Chrome+-+Options+Under+the+Hood.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvH_K21Eo1gArKrC8czslpurNeCFreDvQUdcrt24nmNt0Gg0BMe41FYXAETqgh0D4MwpQ3OwaEnYMiadJ-OOJqRTnL_JxFIinELmJfr2jYXjCJ0bO-pSvvYZoUXr9UetnrAX_GPXTxvA/s400/Google+Chrome+-+Options+Under+the+Hood.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241514399845444162" /></a><br /><br /><b>Find</b><br />The cool thing you don't get from this screen shot, is that while you are typing the highlight jumps through the page looking for the key word.<br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicljjgGCcrK9j83GVHlzZGEm39DuQ2R7MHLbQeqDWqvfEI8kYGPzBXxJvK22pkRyso7NcvA8ZeFTuB80EL1kOttqgDJvRIgBkuqDxjcV-77L_Ep9wPN1flGIGhsJd_vWKD5ma8I4dEtYI/s1600-h/Google+Chrome+Find.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicljjgGCcrK9j83GVHlzZGEm39DuQ2R7MHLbQeqDWqvfEI8kYGPzBXxJvK22pkRyso7NcvA8ZeFTuB80EL1kOttqgDJvRIgBkuqDxjcV-77L_Ep9wPN1flGIGhsJd_vWKD5ma8I4dEtYI/s400/Google+Chrome+Find.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241516966368391010" /></a><br /><br /><b>Element Inspector</b><br />You can right-click any element and see the html behind it.<br />In the Element Inspector box it has a handy tree path of elements at the bottom where the right-clicked element lives. This function is in a lot of HTML editors, like Microsoft Expression.<br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBm3I8sulzSE2doIaSRGPHSBogpkR8mfuF83wU4BdTfLD33jFxuxL-WGAnaM33_b62Sl2zKzfTW0M9oa1gERNbND8qJRqTaVk4-IgPTji9BPHjcaAaHnjROKGWlEy42dnpxhAX9tiDvNM/s1600-h/Google+Chrome+View+Source+Highlight.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBm3I8sulzSE2doIaSRGPHSBogpkR8mfuF83wU4BdTfLD33jFxuxL-WGAnaM33_b62Sl2zKzfTW0M9oa1gERNbND8qJRqTaVk4-IgPTji9BPHjcaAaHnjROKGWlEy42dnpxhAX9tiDvNM/s400/Google+Chrome+View+Source+Highlight.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241521530597470530" /></a><br /><br /><b>Search Highlighted text</b><br />If you highlight a piece of text and right click it the pop-up menu will give you an option to search for the text. Right now my search provider is Google but it will use what ever you set your search provider too.<br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgErZ6msieVcZq3fJpJ39PHvnBg7TO5auRrrSyr1-3jwkHONg1R9oc3ZSI0vxq8Bgv61a5-xhcxk_O-hA9ZlftVTCwl1apk7KeEIuQtKZISrOCRuwYRsRj9KbX1QMQWTIT4eX_CTc1KdE/s1600-h/Google+Chrome+Search+highlighted+text.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgErZ6msieVcZq3fJpJ39PHvnBg7TO5auRrrSyr1-3jwkHONg1R9oc3ZSI0vxq8Bgv61a5-xhcxk_O-hA9ZlftVTCwl1apk7KeEIuQtKZISrOCRuwYRsRj9KbX1QMQWTIT4eX_CTc1KdE/s400/Google+Chrome+Search+highlighted+text.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241524102387674018" /></a><br /><br /><b>Incognito Window</b><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0Rpv-6U0nZT_Lx7J3IL9b-m8tccn43qcfrxksloV4nUke4STqsCXJZZtm5qCOTkf5pePqfvdG8yuP1T55zMdEMpeo3Q1l2eX8WGKODJU_yJkT9DnwAlDZe5MSLGifRETB5Pi4BBlEFc/s1600-h/Google+Chrome+Incognito+Window.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0Rpv-6U0nZT_Lx7J3IL9b-m8tccn43qcfrxksloV4nUke4STqsCXJZZtm5qCOTkf5pePqfvdG8yuP1T55zMdEMpeo3Q1l2eX8WGKODJU_yJkT9DnwAlDZe5MSLGifRETB5Pi4BBlEFc/s400/Google+Chrome+Incognito+Window.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241528232440524786" /></a><br /><br /><b>Task Manager</b><br />If you don't think Google is using this browser as its interface into the Google OS.<br />Just look under the developer menu for "Task Manager". It breaks out how much resources each page is taking up and if its causing the tab to lock up. Its even got a "Stats for nerds" link that shows you even more info about each web page. Like what process ID its running on and breaks down the the memory into how much private,shared and virtual memory your using. It even shows the memory foot print of Chrome and every other major browser.....<B>NICE!!</B><br /><a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV4wT7bJdkkgQaDuUIIRqOshYsKqKy6iS_CvFrqfQCNDWCGQOeBu7mJqBeW6LXK9ZdhlaVcBHPgDtv1ZYlHmeQhiv94U9c3wltrK5y2Bf-jfs45-fjEkXSBfjFCoBWDTkVFyMC2VqcLvY/s1600-h/Google+Chrome+Task+Manager.jpg"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV4wT7bJdkkgQaDuUIIRqOshYsKqKy6iS_CvFrqfQCNDWCGQOeBu7mJqBeW6LXK9ZdhlaVcBHPgDtv1ZYlHmeQhiv94U9c3wltrK5y2Bf-jfs45-fjEkXSBfjFCoBWDTkVFyMC2VqcLvY/s400/Google+Chrome+Task+Manager.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241537353991674370" /></a><br /><br /><br />The weird thing I noticed is that it installs its self not under the "C:\Program Files" folder but under "C:\Documents and Settings\[USER NAME]\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"<br /><br />Not surprisingly GMail and iGoogle load <b>really fast!!</b><br /><br />When you go to Google's Toolbar page. It recognizes the browser as a pre-Firefox 2.0 browser. I guess its not supported yet or maybe they are planning on baking in the toolbar functions.<br /><br /><b>Final thoughts</b><br />I'd say for a first beta, this browser is very stable and <b>FAST!!</b><br />The one thing I have a complaint about, and this complaint I actually have with every browser. Is that the fonts, links & other html elements don't render as nicely as in IE. IE always seems a little softer on the viewers eyes. <br />I'm looking forward to see what kind of Google services they start hooking into it.<br /><br /><h2>Update</h2><br /><b>Happy Easter</b><br />For you non-programmers, there's an Easter egg, too: type "about:internets" into the Omnibox.<br /><br /><b>Other "about:" features</b><br />• about:memory shows how much memory the browser--and any other Web browser--is using. Conveniently for Web developers, it also shows how much each Web site in a browser tab is using.<br /><br />• about:stats shows a wide range of internal measurements such as the time taken to initialize Chrome, load Gears, or perform various operations while running JavaScript programs with Chrome's V8 engine. The page also carries the amusing note, "Shhh! This page is secret!"<br /><br />• about:histogram into Chrome's address bar shows many performance details.<br /> <br />• about:network tracks the detailed network activity of using a Web site.<br /><br />• about:version shows details of what version of Chrome is running, along with the user-agent text that the browser reports when identifying itself to Web sites. Why "Mozilla" is in this string is a mystery to me, though perhaps it has to do with the way Chrome can use Firefox plug-ins; why "Mozilla" is apparently in the iPhone's user-agent text is even more a mystery.<br /><br />• about:histograms graphs various performance measurements such as the time taken to autocomplete text users type into the browser.<br /><br />• about:crash crashes the active browser tab.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com2tag:blogger.com,1999:blog-633173826903291234.post-75831414975046444772008-07-28T22:08:00.004-04:002008-07-28T23:48:02.007-04:002008 San Diego Comic ConThis is the first year I went to the International Comic Con and it was amazing and claustrophobic. They had some really cool sessions about the new season of <a href="http://www.nbc.com/Heroes" target="_blank">HEROES</a> & <a href="http://abc.go.com/primetime/lost/index?pn=index" target="_blank">LOST</a>. I also got to see the pilot for a new show called <a href="http://www.fox.com/fringe/" target="_blank">FRINGE</a> by J.J. Abrams. Its kinda like a X-Files meets CSI. The pilot was very good...can't wait to see more. Plus they had some kick ass movie previews of <a href="http://www.marvel.com/movies/X-Men.X-Men_Origins:_Wolverine" target="_blank">X-Men Origins: Wolverine</a>, <a href="http://www.imdb.com/title/tt0438488/" target="_blank">Terminator: Salvation</a> (which by the way is shaping up to be a really good movie on how John Conner becomes the leader of the resistance) & <a href="http://watchmenmovie.warnerbros.com/" target="_blank">The Watchmen</a>. <br /><br />The Comic-Con offered a little bit for everyone. They had ANIMA, Movie & Show previews, Video Games. How To Sessions on the entertainment industry like, breaking into game development, becoming a custom designer for shows and movies & portfolio reviews by the big guys at Marvel, DC and many others. In the booth section you had the WB, Marvel, DC, XBOX, Playstaion, artists and of course comic book sellers. They also had great panels with Matthew Fox and the writers from LOST, Kevin Smith, Frank Miller, director and stars from Terminator Salvation and ton of other guests.<br /><br />Not everything was great. The amount of people that were their was astonishing...<strong>125,000 people attended!</strong> That's like the amount of people in an average city squeezed into one building. You felt like cattle...Mooooo!! Also if you really wanted to see a certain session, be prepared to get there early and get used to waiting in lines.<br /><br />Overall though it was a great experience and something any scfi or comic book nerd should experience at least once.<br /><br />Here are some pictures from the Con...<br /><br /><img src="http://lh4.ggpht.com/DonnyV/SI5viaE0FGI/AAAAAAAAAvI/Clo5VlHMHe8/s400/100_1266.JPG" /><br /><br><br /><img src="http://lh3.ggpht.com/DonnyV/SI5vFN_Af7I/AAAAAAAAAqE/wWJtoIerMwI/s400/100_1298.JPG" /><br /><br><br /><img src="http://lh4.ggpht.com/DonnyV/SI5uzPc1D-I/AAAAAAAAAmk/DkJBje9PPlo/s400/100_1307.JPG" /><br /><br><br /><img src="http://lh6.ggpht.com/DonnyV/SI5uvvG98tI/AAAAAAAAAls/hU18c2dHf60/s400/100_1301.JPG" /><br /><br><br /><img src="http://lh6.ggpht.com/DonnyV/SI5u2L2zPII/AAAAAAAAAng/kmnc4Cf7ADw/s400/100_1277.JPG" /><br /><br><br /><img src="http://lh5.ggpht.com/DonnyV/SI5u5hmUbgI/AAAAAAAAAow/cNyM9_8MRns/s400/100_1288.JPG" /><br /><br><br /><img src="http://lh6.ggpht.com/DonnyV/SI5vhyjQf3I/AAAAAAAAAvA/aVKxv_SRWB4/s400/100_1265.JPG" /><br /><br><br /><img src="http://lh3.ggpht.com/DonnyV/SI5u6ArM-2I/AAAAAAAAAo4/85mmZ5i4qqc/s400/100_1289.JPG" /><br /><br><br /><img src="http://lh5.ggpht.com/DonnyV/SI5uxBUqH8I/AAAAAAAAAmE/vNzcpCABx_Y/s400/100_1304.JPG" /><br /><br><br /><img src="http://lh3.ggpht.com/DonnyV/SI5u20IZN0I/AAAAAAAAAn4/WTLWoEOp-4o/s400/100_1281.JPG" />Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-66289079993674206812008-07-14T10:16:00.009-04:002008-08-29T10:02:57.623-04:00ArcGIS 9.3 License Manager...Where are my licenses!<img style="float:left; margin:0 10px 10px 0;cursor:pointer; border:0px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ2JlEVANI0lWOaJi5zksYZUDf-kZGPMK_YIYb0mahHKRo-n1TSKsYIGAsIgz9V6_bq50d7ielQwCztiqWdNFFJWQ0d5GKS4smFTEhKE8BrElmaIvS_NLgHK4QN2iI19Iyeh9VVR057QA/s400/ArcGIS9.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5222881447346269090" /><br />Don't know if anyone has had this problem. I just updated our license manager to 9.3 and now it doesn't want to dish out licenses. This drove me a little batty for a while because I would run through <a href="http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=35194" target="_blank">these trouble shooting steps </a>and it would work and than later in the day it would stop working again. Well I finally noticed that when I would log out of the machine, the ARCGIS.EXE would stop running. That's when it hit me, the windows service isn't running. So I took a peek at windows services and what do I find? <strong>No ArcGIS License Manager Service!</strong> For some reason the install didn't create it. Well luckly I have <a href="http://www.vbrad.com/article.aspx?id=92">this sweet little tool </a>that I've been using since my VB6 days that can create a windows service from any .exe. Once I ran the tool and created the service everything was at one with the universe.<br /><br /><b>Update 08-29-08:</b><br />Use this exe "C:\Program Files\ESRI\License\arcgis9x\lmgrd.exe" to create the service and name the service "ArcGIS License Manager".Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com6tag:blogger.com,1999:blog-633173826903291234.post-19090259588092125162008-03-24T15:30:00.005-04:002008-03-24T15:42:29.988-04:002008 ESRI Developer SummitSome news for all you GIS nerds out there...<br /><br /><b>ArcIMS</b><br />- ArcIMS is <b>dead</b>; there will be no new features or enhancements for it. They are really pushing ArcGIS Server and did not mention ArcIMS once. Support is there but I don't think for to long.<br /><br /><b>ArcReader</b><br />- It looks like ArcReader will be going by the way side and ArcGIS Explorer will take its place. I spoke with one of the developers from the ArcGIS Explorer team and they say they are moving in that direction. They are the same people that work on the ArcReader team so new development will go towards ArcGIS Explorer.<br /><br /><b>ArcGIS Explorer 9.3</b> <br />- Explorer will be able to open shapefiles and FileGeodatabases locally but not Personal Geodatabase.<br /><br />- The interface has changed and it looks like the ribbon in Office 2007.<br /><br /><b>ArcGIS Server 9.3</b><br />- The new <a target="_blank" href="http://blogs.esri.com/Info/blogs/devsummit/archive/2008/02/01/podcast-arcgis-server-rest-api.aspx">REST API </a>is very impressive and I think will be the default way of interacting with ArcGIS Server. They say in 9.4 you will be able to edit data through the REST API also for geometry and attribute data. <br /><br />- You can use the new REST API to run geoprocessing tasks and return their output to a custom viewer, Google Earth, Google Maps or Virtual Earth. You can even send queries to minimize your return output all using a url sent to ArcGIS Server.<br /><br />- ArcGIS Server has the ability to serve out data in multiple formats one of them being kml/ kmz format. No need to convert data into kmz anymore.<br /><br />- <a href="http://blogs.esri.com/Info/blogs/devsummit/archive/2008/02/11/preview-the-new-arcgis-javascript-api.aspx" target="_blank">New JavaScript API </a>will make things a lot easier on the web front end. There touting it as the new Avenue for ArcGIS Server. The JavaScript API is based on the REST API. Plus the JavaScript and REST API are license free unlike the Web ADF.<br /><br />- Web ADF has been rearchitected to use Microsoft's AJAX Framework and is also a hybrid system. Some things will happen on the client side and some on the server side, performance has also been increased.<br /><br />- 9.2 Web ADF applications will need to be converted for 9.3 Web ADF. They do offer a tool to make that conversion. (Of course during the session it bombed and errored out. So let's hope they fix that before release.)<br /><br />- The architecture needed to support the WebADF hasn't changed though. Still uses com ports to connect to ArcGIS Server. Plus I didn't hear of any license changes either.<br /><br /><b>ArcSDE</b><br />- Full support for the open source & free database server <a href="http://www.postgresql.org/" target="_blank">PostgreSQL</a> has been added.<br /><br />- You will be able to query and edit geometry data using TSQL on all database platforms. This will be limited to simple features only. Topology, networks or any advanced features will not be supported. <br /><br />- They will be retiring the sdebinary format and standardizing on the st_geometry format. There shipping a ArcTool box tool that will make it easy to convert to the new format.<br /><br />- There will be no further development on SDE command line functions but it will not go away. It will be supported like Workstation.<br /><br /><b>ArcMap 9.3 & beyond</b><br />- Looks like a lot of bugs and performance problems will be fixed in 9.3. They used <a href="http://www.coverity.com/" target="_blank">Coverity</a> specifically for this task and found bugs that have been in there since 8.3…..cross your fingers folks ;-)<br /><br />- VB6 will not be supported in 9.4. VB6 applications will need to be converted to .NET.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-91624455094746219582008-03-05T11:46:00.003-05:002008-03-05T12:06:53.648-05:00Singularity source codeA while back I wrote a <a href="http://donnyvblog.blogspot.com/2007/07/singularity-v10.html">post</a> about Microsofts expermental OS built using an extension of C# . Now they have suprised us with the release of a RDK which includes source code, build tools, test suites, design notes, and other background materials. Cool ;-)<br /><a href="http://www.codeplex.com/singularity" target="_blank"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLL9VCfy0Suk9ULNZeiuJdiZKa4h1viWbMWTejQTZy_p2GJVLZ0Wj-G0VRQXPQCgvesbFeRpDLi9P3V6IsBc9Det8XRyI0dghKfK8IAPFUJ3lR467l2IG6y0yeCNtxFFO8ysD9ushnmd0/s400/CodePlex.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5174301384914801970" /></a>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-46218251732139556492008-02-17T22:01:00.016-05:002008-02-17T22:51:00.482-05:00Seam CarvingIsn't it annoying when you re-size a web page with an image in it and it doesn't re-sizes with the page. Or when you need an image to just shrink and look good without contorting or looking squeezed and you have to whip out the old Photoshop to fix it. Well your wishes have been granted. You can thank Shai Avidan and <a href="http://www.faculty.idc.ac.il/arik/" target="_blank">Ariel Shamir </a>for creating a new image resizing algorithm that fixes all that and a bag chips, its called <a href="http://en.wikipedia.org/wiki/Seam_carving" target="_blank">Seam Carving</a>. The algorithm is amazing. Its almost spooky just looking at it work. You can squeeze an image down to half the width and it still looks good and preserves all the detail. You can even stretch a landscape image and give it a panoramic look.<br /><br />You just won't believe it until you see it in action.<br />Check it....<br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/vIFCV2spKtg&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/vIFCV2spKtg&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object><br /><br />I can see every browser, photo-editing and even video editing software using this technology. By the looks of it I think it might be open source. <br /><br />Here are some libraries and applications so that you can start using it with your projects.<br /><br /><b>Seam Libraries & applications</b><br /><lu><br /><li><a href="http://freshmeat.net/projects/seam-carving/" target="_blank">C Library</a></li><br /><li><a href="http://www.codeplex.com/seamonster" target="_blank">.NET Library</a></li><br /><li><a href="http://sourceforge.net/projects/c-a-i-r/" target="_blank">C++ Library</a></li><br /><li><a href="http://www.peterw.000webhost.com/resizor/" target="_blank">Resizor</a></li><br /></lu>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-56762936441963140852008-01-26T20:06:00.013-05:002008-02-14T22:17:07.599-05:00Does Windows=Evolution?<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhKKUsQo_R3NVS4eq57a2qOx6GZ2Q77FaDAyu5i5DFyAFUmlvNxG3ejWomqxQiCYtFMo3w7xt5Xyu9r_8hEBgDz5eQHfYpBeI9KDwULA7jt-hxSuLuOiAzo0af7jqzTwr6t1Qw4DBuHc/s1600-h/WinEvo.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhKKUsQo_R3NVS4eq57a2qOx6GZ2Q77FaDAyu5i5DFyAFUmlvNxG3ejWomqxQiCYtFMo3w7xt5Xyu9r_8hEBgDz5eQHfYpBeI9KDwULA7jt-hxSuLuOiAzo0af7jqzTwr6t1Qw4DBuHc/s400/WinEvo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5167039303390789938" /></a><br /><br/><br /><br /><br /><br /><br /><br /><br /><br /><br />Windows gets a lot of flack for being this monstrous OS that is just constantly being patched and updated with security fixs and feature updates. But maybe this is the natural way of building a rebust and agile system. I come across this reliazation after reading this very good <a href="http://www.seedmagazine.com/news/2008/01/algorithmic_inelegance.php?page=1" target="_blank">article </a>over at <a href="http://www.seedmagazine.com" target="_blank">SEED </a>called Algorithmic Inelegance. <br /><br /><div style="background-color:#CCCCCC; font-style:italic;"><br />In flies, those paradigmatic models of genetics and development, that process of elaboration has been carried to an extreme. Any algorithmic elegance in the ancestral arthropod has been lost in favor of detailed, segment-by-segment hardwiring of the specification of the body plan. If a fly were software, it's software that has been patched and patched, and patches have been put on patches, until almost all vestiges of the original code have been obscured in the tweaks. It's the antithesis of planning and design—it's ad hoc co-option and opportunistic incorporation of chance enhancements. It's evolution. <br /></div><br />Does this sound a little familar?<br /><br />Now I'm not saying that Windows is totally devoid of direction.<br />Of course some would <a href="http://minimsft.blogspot.com" target="_blank">disagree </a>with that. But the symalarties with evolution is scary.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-53369742439784981012007-12-20T08:48:00.000-05:002007-12-20T09:15:30.258-05:00IE8 Passes the ACID2 Test!<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcuKlC_ZMoaWhhpSYHmxs-vK8A6nFjC4U1Fx_C9Gel6cUU2k4ssq6jYwRW_lDdbOzDFEpUNvYd2UYQQ8fRTPUQli2qCt6jSvYBy4Bsq8qc3x-GrWk-wUTJcR-XmTM3DgGzYUeJZXOFEFM/s1600-h/IE8.jpg" target="_blank"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand; border:0px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcuKlC_ZMoaWhhpSYHmxs-vK8A6nFjC4U1Fx_C9Gel6cUU2k4ssq6jYwRW_lDdbOzDFEpUNvYd2UYQQ8fRTPUQli2qCt6jSvYBy4Bsq8qc3x-GrWk-wUTJcR-XmTM3DgGzYUeJZXOFEFM/s400/IE8.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5146056097169228722" /></a><br />Well the word is out. The <a href="http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx" target="_blank">IE8 Team </a>has just officially announced that they have rendered the <a href="http://www.webstandards.org/action/acid2" target="_blank">"ACID 2 Face"</a> in I8 Standards mode. This is <strong>HUGE!! </strong>Finally no more workarounds or hacks on your CSS. Passing the <a href="http://en.wikipedia.org/wiki/Acid2" target="_blank">ACID 2</a> test basically means that the browser follows the <a href="http://www.w3.org/MarkUp" target="_blank">W3C HTML </a>and <a href="http://www.w3.org/TR/REC-CSS2" target="_blank">CSS 2.0</a> specifications. The announcement also talked about supporting the many different types of users and older web pages. I think the IE8 Team has another trick up its sleeve and will later reveal a backward compatibility mode for older sites so that standards and nonstandard sites will work in IE8.<br /><br />Good job IE8 Team!Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com3tag:blogger.com,1999:blog-633173826903291234.post-63300002835631680882007-12-11T09:40:00.001-05:002007-12-11T10:11:50.704-05:00SharpDevelop IDEAbout 2 years ago I went on a search for a <a href="http://www.icsharpcode.net/OpenSource/SharpZipLib" target="_blank">zip library </a>because the .NET Framework at the time did not have one. I found this really nice zip library that came from the <a href="http://www.icsharpcode.net/OpenSource/SD/Default.aspx" target="_blank">SharpDevelop IDE project</a>. At the time the SharpDevelop project was pretty basic and they were at version 1.1. Well things have really changed since then. They have added some really cool features such as multiple framework support, refactoring, Subversion integration and <strong>Mono support</strong>.<br /><br />Here's a list of some of the features...<br /><ul><br /><li>Open source, LGPL licensed </li><br /><li>Write C#, ASP.NET, ADO.NET, XML, HTML code </li><br /><li>Forms designer for C#, VB.NET and Boo</li><br /><li>Code completion for C#, VB.NET and Boo (including Ctrl+Space support)</li><br /><li>Integrated NUnit support plus code coverage (NCover) </li><br /><li>Multi-framework support (.NET 1.1 and 2.0, Mono, Compact Framework) </li><br /><li>XML Editing (source and tree view) with XPath search</li><br /><li>Subversion integration</li><br /><li>Code template support</li><br /><li>Easily extensible with external tools </li><br /><li>Re-host SharpDevelop with SDA </li><br /><li>Easily extensible with Plug-Ins </li><br /></ul><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyI8fn7kzR-TmJYwL5DTrfFeOCUwaDWVNs400i8THNAyOAXrFP8SCNpmm5_ZHvn80TSYK6CApOx7XR2L8KcKhAoCV8WcV3QXDeOdsmeuzYAiX1fNCy-bvuYHnsPUf3cJ9xLfQJ36XL8kY/s1600-h/SharpDevelop.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyI8fn7kzR-TmJYwL5DTrfFeOCUwaDWVNs400i8THNAyOAXrFP8SCNpmm5_ZHvn80TSYK6CApOx7XR2L8KcKhAoCV8WcV3QXDeOdsmeuzYAiX1fNCy-bvuYHnsPUf3cJ9xLfQJ36XL8kY/s400/SharpDevelop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5142732646077366722" /></a><br /><br />If your looking for a Free alternative to Visual Studio or even a Windows Mono IDE this is a very good alternative.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com3tag:blogger.com,1999:blog-633173826903291234.post-91617285321875955692007-11-30T09:39:00.000-05:002007-12-20T09:16:48.717-05:00Silverlight 1.1 upgraded to Silverlight 2.0<a href="http://silverlight.net" target="_blank"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand; border:0px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiteFQAyRoFnDgsZAjoiUlgR8qhveFgZo9yi_Mj55y-cZV4J8R-CntcAsvskLS79Jt-sqceZSgY-eg6xGYp8w9h7aDgRHWU-7WCnFFOboWnud6zq23w6-WxflCuR5Bpmm9kf2Xov603cWk/s400/silverlight.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5138645728637268338"/></a><br />Microsofts Silverlight is a cross platform and cross browser version of the .NET Framework. That's right folks it runs on Windows,Mac & Linux.<br /><br />First quarter of 2008 they will be releasing Silverlight 2.0. This release has so many new features that they decided to up the number from 1.1 to 2.0.<br /><br />Here is a break down of the new features...<br /><br /><strong>WPF UI Framework:</strong> The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing. The next public Silverlight preview will add support for the higher level features of the WPF UI framework. These include: the extensible control framework model, layout manager support, two-way data-binding support, and control template and skinning support. The WPF UI Framework features in Silverlight will be a compatible subset of the WPF UI Framework features in last week's .NET Framework 3.5 release.<br /><br /><strong>Rich Controls:</strong> Silverlight will deliver a rich set of controls that make building Rich Internet Applications much easier. The next Silverlight preview release will add support for core form controls (textbox, checkbox, radiobutton, etc), built-in layout management controls (StackPanel, Grid, etc), common functionality controls (TabControl, Slider, ScrollViewer, ProgressBar, etc) and data manipulation controls (DataGrid, etc).<br /><br /><strong>Rich Networking Support:</strong> Silverlight will deliver rich networking support. The next Silverlight preview release will add support for REST, POX, RSS, and WS* communication. It will also add support for cross domain network access (so that Silverlight clients can access resources and data from any trusted source on the web).<br /><br /><strong>Rich Base Class Library Support:</strong> Silverlight will include a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc). The next Silverlight preview release will also add built-in support for LINQ to XML and richer HTML DOM API integration.<br /><br />This should spur a major migration from applications that would have been built on the desktop to be moved to the web. I'm really interested in what kind of performance this new framework will have and how far you can push it in terms of size. I wonder if there is a built in asynchronous framework to handle calls to different web services.<br /><br />The blurry line between desktop application and web app has gotten a lot bigger.Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com4tag:blogger.com,1999:blog-633173826903291234.post-6173883915171883402007-11-04T12:14:00.014-05:002010-02-19T16:05:50.414-05:00Single & Multiline TextBox with MaxLength ValidationAfter doing a bit of searching online I couldn't find an easy way to control the character length in a text box and a multi line text box. Plus the limit is defined by the schema of the table in a database. So I did what any developer would do with this problem. I used it as an excuse to write some code!<br /><br />Here is one example of limiting characters in a text box or a multi line text box in a asp.net form. This example will also show how to add a dynamic warning message once the limit has been reached.<br /><br />This example has 3 parts.<br /><ul style="MARGIN: 0px"><br /><li>A Stored Procedure</li><br /><li>Some C# code</li><br /><li>A Javascript function</li><br /></ul><br /><br />Lets get into the code!<br /><br /><h3>Create the stored procedure</h3><pre name="code" class="sql">CREATE PROCEDURE [dbo].[GetFieldWidths]<br />(<br /> @TableName nvarchar(40)<br />)<br />AS<br />BEGIN<br /> SELECT COLUMN_NAME,<br /> CHARACTER_MAXIMUM_LENGTH,<br /> DATA_TYPE<br /> FROM<br /> INFORMATION_SCHEMA.COLUMNS<br /> WHERE<br /> TABLE_NAME = @TableName<br />END<br />RETURN<br /></pre><br /><h3>Create a C# function to read all valid fields widths into a Generic Dictionary Collection.</h3><br /><pre name="code" class="csharp"><br />// helper function<br />public static Dictionary FieldWidths<br />{<br /> get<br /> {<br /> System.Web.HttpApplicationState ApplicationState = HttpContext.Current.Application;<br /> if (ApplicationState["cDatabase.Tables.tblUsers.FieldWidths"] == null)<br /> {<br /> ApplicationState["cDatabase.Tables.tblUsers.FieldWidths"] = cDbaseFunc.FieldWidths(tblUsers.TableName);<br /> }<br /><br /> return ApplicationState["cDatabase.Tables.tblUsers.FieldWidths"] as Dictionary;<br /> }<br />}<br /><br />// main function<br />public static Dictionary FieldWidths(string Table)<br />{<br /> //Load field types<br /> string[] aryStringTypes = new string[6] { "char", "nchar", "ntext", "nvarchar", "text", "varchar" };<br /> List StringTypes = new List(aryStringTypes);<br /><br /> Database db = DatabaseFactory.CreateDatabase();<br /> DbCommand dbCommand = db.GetStoredProcCommand(cDatabase.StoredProcedure.GetFieldWidths);<br /> db.AddInParameter(dbCommand, "@TableName", DbType.String, Table);<br /> IDataReader dr = db.ExecuteReader(dbCommand);<br /><br /> string FieldName = string.Empty;<br /> int FieldLength;<br /> string FieldType = string.Empty;<br /><br /> Dictionary FW = new Dictionary();<br /> while (dr.Read())<br /> {<br /> FieldType = dr.GetString(2).ToLower();<br /> if (StringTypes.Contains(FieldType))<br /> {<br /> FieldName = dr.GetString(0);<br /> FieldLength = dr.GetInt32(1);<br /> FW.Add(FieldName, FieldLength);<br /> }<br /> }<br /> dr.Close();<br /><br /> return FW;<br />}<br /></pre><br /><h3>Create the Javascript function that limits the characters and creates the dynamic message.</h3><br /><pre name="code" class="javascript"><br />function CheckCharMaxLenLimit(control,maxlength)<br />{<br /> var ErrorMsgID = control.id + "_$MAXLENGTH_ERROR_MSG$";<br /> var ErrorMsg = document.getElementById(ErrorMsgID);<br /><br /> var MaxLength;<br /> if(maxlength != null)<br /> {<br /> MaxLength = maxlength;<br /> }<br /> else<br /> MaxLength = control.maxLength - 1;<br /><br /> var TextLength = control.value.length;<br /> if(TextLength > MaxLength)<br /> {<br /> control.value = control.value.substring(0,MaxLength);<br /><br /> if(ErrorMsg == null)<br /> {<br /> control.outerHTML = control.outerHTML + MaxLength + " character limit!";<br /> }<br /> }<br /> else<br /> {<br /> if(ErrorMsg != null)<br /> ErrorMsg.parentNode.removeChild(ErrorMsg);<br /> }<br />}<br /></pre><br />The final step is too attach the javascript function to your text box control "onkeyup" event.<br />You can do this in the code behind like so....<div><pre name="code" class="csharp">this.txtUserName.Attributes["onkeyup"] = "CheckCharMaxLenLimit(this," + this.FieldWidths["Username"] + ");";<br /></pre><br /><h3>Summary</h3><br />The nice thing about the C# function is that it caches the returning list of fields and widths into an Application State variable. If your tables schema changes allot you could always cache it in a session state variable. This reduces the hits to SQL server which improves performance.<br /><br />The character limiting and checking is handled on the client side using the javascript function. This function also supports the "maxLength" attribute of the text box control. The dynamic message is also created on the client side by using the DOM to attach a child element to the text box. This creates a very quick UI response. Lastly the dynamic message can be formatted using standard CSS.<br /><br />Like so...</div><div><pre name="code" class="css">.MAXLENGTH_ERROR_MSG<br />{<br />color:red;<br />}<br /></pre><br />This method uses SQL2005 but I'm sure it could easily be used with any database platform. I hope this helps someone out there with the same problem.</div>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com1tag:blogger.com,1999:blog-633173826903291234.post-73386353811726753642007-09-24T14:05:00.000-04:002007-09-24T17:25:46.406-04:00Top 10 IIS 7 changesIf you don't already know Microsoft uses there own applications while still in beta on there production servers. Right now www.microsoft.com is running on the beta 3 Windows Server 2008 and the beta 3 of IIS 7. The 2 products are very stable and are in a functional release.<br /><br />Here are the top 10 major changes in IIS 7...<br /><br /><ul style="list-style-type:decimal;font-weight:bold;"><br /><li>Simple, Configurable Command Line Setup</li><br /><li>Great Compatibility with older asp apps</li><br /><li>No More Metabase!</li><br /><li>Centralized Configuration</li><br /><li>Delegated Configuration</li><br /><li>AppCmd and Other New Management Options</li><br /><li>Failed Request Tracing</li><br /><li>Request Filtering</li><br /><li>UNC Content</li><br /><li>Output Caching of Dynamic Content</li><br /></ul><br /><br /><br />IIS 7 Totally modular<br /><a href="http://picasaweb.google.com/DonnyV/PublicPhotos/photo#5113878738436953298"><img src="http://lh4.google.com/DonnyV/Rvglnjz1FNI/AAAAAAAAAgQ/Ypx90G8Wfeo/s400/IIS7Big.jpg" /></a><br /><br />Get more details <a href="http://blogs.technet.com/mscom/archive/2007/09/07/the-tasty-morsels-found-in-dogfood-mscom-ops-top-10-changes-in-iis7-0.aspx" target="_blank">here..</a>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com2tag:blogger.com,1999:blog-633173826903291234.post-42752631379887291342007-09-19T17:48:00.001-04:002007-09-19T19:06:29.029-04:00SQL Server 2008 Spec sheets are OUT!!Well it looks like Microsoft has released the new spec sheets on SQL Server 2008 and man there is a lot of sweet stuff they have added.<br /><br />Here are the highlights..<br /><ul><br /><li><b>Policy-based Management</b> <br />A framework that enables policies to be defined for explicit and automated administration of server entities across one or multiple servers.<br /></li><br /><br /><li><b>New Language Integrated Query (LINQ) extensions</b><br />This enables developers to be more productive by working with logical data entities that align with business requirements instead of programming directly with tables and columns.<br /></li><br /><br /><li><b>Beyond relational data</b><br />New data types such as a geospatial type, filestream type, 4 new data & time types and a Hierarchy ID type have been added.<br /></li><br /></ul><br /><br />Another really cool feature that will help in the swelling of database sizes is the addition of Sparse columns. Its a highly efficient way of managing empty data in a database by enabling NULL data to consume no physical space.<br /><br />I'm sure all the GIS nerds out there are chopping at the bit to get there hands on the new geospatial functionality. Well its here and it looks very promising.<br /><br />Check out some of the features below...<br /><br /><b>Comprehensive Spatial Support</b><br /><ul><br /><li><b>Work with geodetic and planar data types</b><br />Implement Round Earth solutions with the geography data type; using latitude <br />and longitude coordinates to define areas on the Earth’s surface. Implement <br />Flat Earth solutions with the geometry data type; storing polygons, points, <br />and lines that are associated with projected planar surfaces and naturally <br />planar data, such as interior spaces. </li><br /><br /><li><b>Build on industry standards</b><br />Import and export spatial data in industry-standard formats, such as Well <br />Known Text, Well Known Binary, and Geographic Markup Language (GML). </li><br /><br /><li><b>Perform spatial operations</b><br />Use the methods provided by SQL Server 2008 spatial data types to write <br />Transact-SQL code that performs operations on spatial data, such as finding <br />intersections between geospatial objects and distances between locations.<br /></li><br /></ul><br /><b>High Performance Spatial Data Capabilities</b><br /><ul><br /><li><b>Store large and complex spatial objects</b><br />Use the spatial types in SQL Server 2008 to accommodate spatial objects, <br />regardless of whether the objects are simple or very complex. </li><br /><br /><li><b>Build high-performance solutions with spatial data indexing</b><br />Enhance query performance by using indexes for spatial data that are <br />integrated into the SQL Server database engine. Take advantage of accurate <br />query optimizer cost assessment for spatial queries that can determine the <br />optimal query plan and identify appropriate index selection. </li><br /><br /><li><b>Consolidate relational and spatial data in business applications</b><br />Use the native support for spatial data types in SQL Server 2008 to <br />seamlessly incorporate spatial data into line-of-business applications. </li><br /></ul><br /><br /><b>Geospatial Application Extensibility</b><br /><ul><br /><li><b>Build spatial solutions of any scale</b><br />Take advantage of spatial support in multiple editions of SQL Server 2008, <br />from SQL Server Express to SQL Server Enterprise Edition. </li><br /><br /><li><b>Use spatial standards support to integrate applications</b><br />Leverage a .NET-based geometry library that supports OGC standards. Build <br />applications that consume and manipulate spatial data. Integrate with <br />geospatial services, such as Microsoft Virtual Earth™, to build <br />comprehensive location-enabled solutions that render your spatial data for <br />display. </li><br /><br /><li><b>Benefit from spatial community support</b><br />Take advantage of spatial products and services offered by Microsoft <br />partners that integrate with SQL Server 2008. </li><br /></ul><br />These are just the highlights. There is a ton of additional enhancements and features they've added that's really worth looking at. <br />Get more info here...<a href="http://www.microsoft.com/sql/2008/default.mspx" target="_blank">SQL Server 2008</a>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com2tag:blogger.com,1999:blog-633173826903291234.post-18358737307066802442007-08-13T16:41:00.000-04:002007-08-13T17:09:26.563-04:00AJAX LoadingRecently I was building an AJAX site and needed an animated gif. To show that something was processing in the background. I ran across this gem of a site that lets you create custom animated gifs. <a href="http://www.ajaxload.info" target="_blank">www.ajaxload.info</a> You can pick up to 35 different kinds of animations and choose there background color and foreground color. Plus make them transparent.<br /><br />Check some of these out...<br /><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/00/00/ff/1-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/00/00/ff/12-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/00/00/ff/3-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/00/00/ff/4-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/ff/00/00/5-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/00/00/ff/8-0.gif" style="border:0;"/><br /><img src="http://www.ajaxload.info/top/ff/ff/ff/ff/00/00/8-1.gif" style="border:0;"/><br /><br />Pretty cool!Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-43444334763941927142007-07-29T18:22:00.000-04:002007-09-20T09:26:17.114-04:00Singularity v1.0Looks like Singularity has reached the first release stage.<br />This is a project that Microsoft has been working on for a while, since 2003.<br />It’s basically a research OS prototype answering the question, "what if you built an OS with dependability and trustworthiness at its core from the ground up". <br /><br />Here are some of the items the Singularity team is working on.<br /><div style="background-color:#CCCCCC; font-style:italic;"><br />For example, Singularity uses type-safe languages and an abstract instruction set to enable what we call Software Isolated Processes (SIPs). SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel’s address space.<br /></div><br /><br />I think the best thing about this new OS is the SIPs (Software Isolated Process).<br />Every program, device and system extension gets its own SIP.<br /><br />Imagine this scenario...<br />You go out and buy some cheap ass web cam, printer or any external device and plug it into your machine. You install the drivers and restart your pc.....<B>BAM!!! Blue Screen of Death<br /></B> <br /><img src="http://lh4.google.com/DonnyV/Rq0gdCP6MaI/AAAAAAAAAdU/fEcZ_urvT3k/s400/blue_screen_still.jpg" /><br /><br />Your new cheap ass device just killed your OS because drivers are first class citizens and have hooks into the kernel. This scenario could not happen in a Singularity based system. In a Singularity based system the device would have its own memory space. There is no memory sharing or modifying of its own code. Every SIP gets its own data layouts, run-time system, and garbage collector. If this happened, in a Singularity based system, it would just die in its own little memory space and the rest of the OS would not be affected. Once the system finish booting, the OS can just tell you which devices have not booted and would you like to uninstall them.<br /><br />I guess the other coolest part about this OS is the new language built for it called Sing#, which is an extension of C#. This language has first-class support for OS communication primitives as well as strong support for systems programming and code factoring.<br /><br />Too get more info on Singularity check out their page... <a href="http://research.microsoft.com/os/singularity" target="_blank">Singularity</a><br /><br />Also here’s a really good white paper that goes into the specs of the whole system <a href="http://research.microsoft.com/os/singularity/publications/OSR2007_RethinkingSoftwareStack.pdf" target="_blank" >here.</a>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0tag:blogger.com,1999:blog-633173826903291234.post-70103443396989620112007-07-18T09:53:00.000-04:002007-07-29T19:28:10.821-04:00Interview with Linus TorvaldsI just read this interview with Linus Torvalds over at <a href="http://www.oneopensource.it">www.oneopensource.it</a> . <br />One of the questions that really stood out for me was this one.<br /><br /><div style="background-color:#CCCCCC; font-style:italic;"><br /><strong>A curiosity: which is your favourite distribution, and which on e do you consider more secure?</strong><br /><br />I don’t really tend to care much, I’ve changed distributions over the years, and to me the most important thing tends to be that they are easy to install and upgrade, and allow me to do the only part I really care about - the kernel.<br /><br />So the only major distribution I’ve never used has actually been Debian, exactly because that has traditionally been harder to install. Which sounds kind of strange, since Debian is also considered to be the “hard-core technical” distribution, but that’s literally exactly what I personally do <strong>not</strong> want in a distro. I’ll take the nice ones with simple installers etc, because to me, that’s the whole and only point of using a distribution in the first place.<br /><br />So I’ve used SuSE, Red Hat, Ubuntu, YDL (I ran my main setup on PowerPC-based machines for a while, and YDL - Yellow Dog Linux - ended up the easiest choice). Right now, most of my machines seem to have Fedora 7 on then, but that’s only a statement of fact, not meant to be that I think it’s necessarily “better” than the other distros.<br /></div><br /><br />I thought this to be a very funny comment, coming from a major kernel developer. Allot of Linux zealots bash windows users because of there dependence on so called dumb down user interfaces and lack of knowledge of the command line. When at the end of the day one of the main creators of Linux likes to use the distro that is the easiest to install with the dumb down GUI. <br /><br />Now I know this question is talking about system installations. But I want to take it a step further to application installs. One of the major missing features that I think is holding back Linux is a standard install and uninstall service across all distros. This would make the lift to switching to Linux, for first time users, allot easier.<br /><br /><a href="http://www.oneopensource.it/interview-linus-torvalds" target="_blank">Full interview here...</a>Donnyhttp://www.blogger.com/profile/02429956857444687386noreply@blogger.com0