<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CodeUtopia - The blog of Jani Hartikainen &#187; ASP.NET</title>
	<atom:link href="http://codeutopia.net/blog/tag/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeutopia.net/blog</link>
	<description>Software development with a focus on web-related technologies</description>
	<lastBuildDate>Thu, 02 Sep 2010 14:25:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Benefits of Developing With Microsoft AND Open Source</title>
		<link>http://codeutopia.net/blog/2010/02/26/benefits-of-developing-with-microsoft-and-open-source/</link>
		<comments>http://codeutopia.net/blog/2010/02/26/benefits-of-developing-with-microsoft-and-open-source/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 18:06:44 +0000</pubDate>
		<dc:creator>Jani Hartikainen</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://codeutopia.net/blog/2010/02/26/benefits-of-developing-with-microsoft-and-open-source/</guid>
		<description><![CDATA[The Internet seems to be the latest battleground for the computer age-old struggle between Microsoft and open source solutions. For some reason, many web developers like to engage in holy wars over various web site hosting solutions and development platforms, fiercely defending their beloved vendor&#8217;s suite of products. They battle over their particular setup so [...]]]></description>
			<content:encoded><![CDATA[<p>The Internet seems to be the latest battleground for the computer age-old struggle between Microsoft and open source solutions. For some reason, many web developers like to engage in holy wars over various <a href="http://www.netfirms.ca">web site hosting</a> solutions and development platforms, fiercely defending their beloved vendor&#8217;s suite of products. They battle over their particular setup so much they block out any new ideas they might gain had they kept their minds open to how things are done on the other side of the castle walls.</p>
<p><span id="more-281"></span></p>
<p>Different platforms are developed by different groups, each with their own mindsets and ways of doing things. If you take the time to step outside your own world, you might be able to learn new ways of doing stuff you never would have if you stuck to the familiar toolsets of your current platform. Take PHP and ASP, for example. Although very similar in nature, much of the &#8220;nitty gritty&#8221; implementation details are considerably different.</p>
<p>It&#8217;s actually in a developer&#8217;s best interests to know the best of both worlds. The Internet is heavily intertwined, with many companies seeking out <a href="http://www.hosting.com/cloudhosting/">cloud hosting</a> solutions while integrating more than one vendor&#8217;s product. Besides, whether you like it or not, Microsoft maintains a huge presence in the computing world, and they aren&#8217;t going anywhere anytime soon. Plus with today&#8217;s mergers and acquisitions, many companies are no longer homogeneous with their technologies even if they originally started out that way. Knowing more than one technology would put you in a good career position for interfacing and merging new in-house technologies. </p>
<p>In today&#8217;s lackluster economy, what&#8217;s more important to you anyway: platform snobbery or job security? Let&#8217;s say you&#8217;re working in a code shop that&#8217;s totally dependent upon some open source LAMP flavor. But one day that place, like many dot coms of recent past, goes belly-up. It sure would be nice to be able to immediately jump ship to another place dependent mostly on ASP.NET, wouldn&#8217;t it?</p>
<p>So break out of the mold. Stop thinking whatever IDE you&#8217;re using is the best thing since pre-sliced bagels. Besides, &#8220;real&#8221; programmers don&#8217;t cling do their toolset. Real programmers don&#8217;t brag about how good they are at using &#8220;x&#8221; text editor or &#8220;y&#8221; compiler. Real programmers aren&#8217;t clueless like the recruiters who land them their jobs, mindlessly performing keyword scanning for the latest technology buzzwords. Real programmers are supposed to know how to determine/evaluate requirements, design systems, and write the code necessary for the task at hand, finding the right tools for the job instead of turning every problem into a nail for their only hammer.</p>
<p><strong>Disclaimer:</strong> This is a sponsored post not written by the blogger. </p>
<p>Please leave your thoughts on this, and whether you found it an interesting read in the comments. I wanted to publish this one to see how it works out. Depending on your comments I may or may not run more sponsored articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeutopia.net/blog/2010/02/26/benefits-of-developing-with-microsoft-and-open-source/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Put Excel on the net with ASP.NET</title>
		<link>http://codeutopia.net/blog/2008/06/18/put-excel-on-the-net-with-aspnet/</link>
		<comments>http://codeutopia.net/blog/2008/06/18/put-excel-on-the-net-with-aspnet/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 07:39:50 +0000</pubDate>
		<dc:creator>Jani Hartikainen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://codeutopia.net/blog/2008/06/18/put-excel-on-the-net-with-aspnet/</guid>
		<description><![CDATA[Remember when I introduced the idea of cloning Google Spreadsheets with ASP.NET using Excel? Well, it turns out to be a perfectly feasible task, and I have a working prototype too! The idea and the implementation The idea was to look at Microsoft Excel COM interop with ASP.NET &#8211; I had seen examples of generating [...]]]></description>
			<content:encoded><![CDATA[<p>Remember when I introduced <a href="http://codeutopia.net/blog/2008/06/09/google-spreadsheets-aspnet-and-excel/">the idea of cloning Google Spreadsheets with ASP.NET using Excel</a>?</p>
<p>Well, it turns out to be a perfectly feasible task, and I have a working prototype too!</p>
<p><span id="more-110"></span></p>
<h3>The idea and the implementation</h3>
<p>The idea was to look at Microsoft Excel COM interop with ASP.NET &#8211; I had seen examples of generating spreadsheets using interop, but it seemed no one had actually done anything more.</p>
<p>Since I haven&#8217;t really done any ASP.NET stuff from the ground up, and it was mostly cobbled together to just see if it could be done, so it involved software development methodologies such as &#8220;Copy and Paste&#8221;. </p>
<p>There was initially a problem with talking to Excel, as the Windows version I&#8217;m using is in Finnish, and my Office 2007 is the English version. Every time I tried doing something to the spreadsheet, such as getting a value from a cell, it would throw an exception. Luckily some Googling gave me an answer to change the currently executing thread&#8217;s locale to en-US, which fixed it and let me continue.</p>
<p>Eventually I found ways to do all I needed: Getting and setting specific cells&#8217; values and their formulas. Then it was on to creating a JavaScript-based interface for it, which is essentially a very bare-bones inline editable table, which sends the modifications to the server with Ajax.</p>
<h3>A demonstration</h3>
<p>I sadly do not have a server which can run ASP.NET, and it is not actually a very good idea to run it on a live server for real users either due to things I&#8217;ll tell you about in a bit&#8230; however, here&#8217;s a screencast I made of it, which should give you an idea:</p>
<p><object id  ="flashMovie" codeBase ="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"  height   ="416"   width    ="640"   classid  ="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" VIEWASTEXT>   <PARAM NAME="FlashVars"          VALUE="csConfigFile=http://zomg.thegroup.fi/aspnet/webxcel_config.xml&#038;csColor=FFFFFF&#038;csPreloader=http://zomg.thegroup.fi/aspnet/webxcel_preload.swf">   <PARAM NAME="Movie"              VALUE="http://zomg.thegroup.fi/aspnet/webxcel_controller.swf">         <PARAM NAME="WMode"              VALUE="Window">   <PARAM NAME="Quality"            VALUE="best">   <PARAM NAME="SAlign"             VALUE="TL">   <PARAM NAME="Menu"               VALUE="FALSE">   <PARAM NAME="BGColor"            VALUE="FFFFFF">	   <EMBED id          ="EmbedflashMovie"       flashvars   ="csConfigFile=http://zomg.thegroup.fi/aspnet/webxcel_config.xml&#038;csColor=FFFFFF&#038;csPreloader=http://zomg.thegroup.fi/aspnet/webxcel_preload.swf"           src         ="http://zomg.thegroup.fi/aspnet/webxcel_controller.swf"                     quality     ="best"           bgcolor     ="FFFFFF"           width       ="640"           height      ="416"           pluginspace ="http://www.macromedia.com/go/getflashplayer" >	   </EMBED></OBJECT></p>
<p>From the screencast, you can see how it first loads the Excel spreadsheet&#8217;s current data into the grid, and then when edits are made, any changes that happen to the values in the spreadsheet are reflected in the grid as well.</p>
<h3>So is this a Google Spreadsheets killer?</h3>
<p>Well&#8230; Maybe.</p>
<p>As you can see from the above, it is a feasible concept. However, it has several issues, because Excel is not a &#8220;server&#8221; type of application.</p>
<p>Excel is built as something that the user interacts with directly, as in a desktop application. If you typed a formula wrong, it would show you a popup and you&#8217;d close it and things like that. </p>
<p>If you type a formula wrong in the JS grid, it will go to Excel, which will display a popup&#8230; but it will have no one to close it. It will effectively <i>stop the whole app</i> with the pop: It will not reply to messages until the popup is closed, and any actions done before that will throw an exception.</p>
<p>In theory you could set up the server so, that it runs an application which would automatically click any popups Excel shows to close them&#8230; but I&#8217;m not sure if that would work out so well.</p>
<p><br/><br/><br />
Finally, <b>if you want to play with the code</b>, <a href="http://codeutopia.net/code/aspnet/Webxcel">the code for Webxcel is available in my SVN.</a> To run the code you&#8217;ll probably need Visual Studio 2005 Web Developer and Excel 2007. Run an instance of Excel first, and then access the webpage.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeutopia.net/blog/2008/06/18/put-excel-on-the-net-with-aspnet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
