<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Michael Koby</title>
	
	<link>http://www.mkoby.com</link>
	<description>Commentary on Technology, Media, News &amp; More</description>
	<lastBuildDate>Mon, 16 Nov 2009 18:30:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>29.767921</geo:lat><geo:long>-95.743138</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/AlmostNotYet" type="application/rss+xml" /><feedburner:emailServiceId>AlmostNotYet</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>iPhone vs. Droid, Consumer Wins</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/dJPlvSXIKj8/</link>
		<comments>http://www.mkoby.com/2009/11/16/iphone-vs-droid-consumer-wins/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:30:39 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[smartphones]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1410</guid>
		<description>I've been reading a lot about the Verizon's new smartphone, the Motorola Droid.  You've probably have seen the iDon't commercials from Verizon about all the things the Droid does that the iPhone doesn't do.  And we're seeing a small uptick in online flame wars on Droid versus iPhone.  The fanboys have certainly been out in force so I want to take a look at things from a broader perspective because with the Droid, Motorola has shown that Android should be taken seriously.</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading a lot about the Verizon&#8217;s new smartphone, the Motorola Droid.  You&#8217;ve probably have seen the iDon&#8217;t commercials from Verizon about all the things the Droid does that the iPhone doesn&#8217;t do.  And we&#8217;re seeing a small uptick in online flame wars on Droid versus iPhone.  The fanboys have certainly been out in force so I want to take a look at things from a broader perspective because with the Droid, Motorola has shown that Android should be taken seriously.</p>
<h4>iPhone Changes the Game</h4>
<p>Lets start at the beginning, when the iPhone came out it drastically changed out the consumer market thought about phones, smartphones specifically.  Before the iPhone, smartphones were the Treo, BlackBerry, and Windows Mobile.  They weren&#8217;t really for the consumer market and general consumers largely ignored them in favor of phones like the Motorola RAZR and other small cell phones.  The iPhone was a revolution.  It made smartphones interesting to the average person.  &#8221;You mean I can have my email, internet, and cool apps with my phone? Sweet!&#8221; is probably what normal people started to think and those RAZRs started to look less cool, even if they were thin.</p>
<p>So the iPhone changed the smartphone world.  It turned it upside down.  All of sudden it wasn&#8217;t just enough to be functional, it had to be at least a little flashy too, it had to be fairly easy to use, and it definitely couldn&#8217;t be bulky.</p>
<h4>Enter Android</h4>
<p>Google, never to be out of a market for very long released it&#8217;s Android mobile operating system soon after the iPhone&#8217;s release.  One could argue that Google was planning this move long before the iPhone was announced.  But it was everything the iPhone wasn&#8217;t with a little bit of what the iPhone was.  It could have the flash and usability of the iPhone but with the openness of the Linux operating system.</p>
<p>That&#8217;s what Android represents.  Openness.  The ability to completely customize the user experience for the device, the ability to dig into the internals and make it work well with your hardware.  It means that developers can develop applications for it regardless of platform.  But there&#8217;s a downside.  With Google releasing an OS it relinquishes the control on the hardware the operating system can go on.  This is why the iPhone works as well as it does.  Apple doesn&#8217;t just control the software, but the hardware too.  Apple works to ensure that their software runs well on their hardware.  They limit the points of failure because they control both elements completely.  But that doesn&#8217;t mean Android is destined for failure.</p>
<h4>Hello Moto.. I Mean Droid</h4>
<p>Motorola has taken a different approach with Android that HTC and others haven&#8217;t yet.  They&#8217;ve really worked to control the software on their hardware.  They&#8217;ve proven (quite well I might add) that if you really work with Android on your hardware, you can bring a really nice device to the market.  Does it beat the iPhone? No, it doesn&#8217;t but it does show that Android is a nice contender and that Apple and Microsoft need to worry.</p>
<p>What Motorola has done is something similar to Apple in that they&#8217;re releasing solid hardware and taking serious control of the software that goes on that hardware.  Rather than spending money on R&amp;D to write their own mobile OS, they are spending time ensuring that Android runs well on their hardware.  This is going to save them money in the long run because Android is a complete OS that&#8217;s ready to go. Motorola just has to worry about tweaking it to run on their hardware.  And because of the openness of Android, they can really control the software just like Apple does.  Motorola proved with the RAZR that they can design nice, flashy, consumer friendly hardware, it was the software that was never perfect.</p>
<h4>In the End</h4>
<p>When it&#8217;s all said and done, the Droid doesn&#8217;t beat the iPhone.  It&#8217;s a nice device though, regardless of what the iPhone fanboys say on the internet.  Motorola has proven that Android is a force to be reckoned with.  No, Android still isn&#8217;t all the way there, but with each successive release it comes with notable improvements and Google isn&#8217;t looking to put Android to rest.  Motorola itself has bet the farm on Android, almost literally (there isn&#8217;t an ACTUAL farm).  I would keep an eye on Android devices over the next few years, Apple&#8217;s got some competition and they would be doing themselves a disservice if they didn&#8217;t try to keep the iPhone relevant and moving forward.  Yes Apple, you changed the game, but you can&#8217;t rest on that forever,  you have to keep moving forward.  Android&#8217;s getting there and Google has shown that they&#8217;re serious, and Motorola has shown Android can be a nice mobile operating system.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=dJPlvSXIKj8:d3sQnBGkPZ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=dJPlvSXIKj8:d3sQnBGkPZ4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=dJPlvSXIKj8:d3sQnBGkPZ4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=dJPlvSXIKj8:d3sQnBGkPZ4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/dJPlvSXIKj8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/11/16/iphone-vs-droid-consumer-wins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/11/16/iphone-vs-droid-consumer-wins/</feedburner:origLink></item>
		<item>
		<title>Boxee Review</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/pg2i2KOCdZQ/</link>
		<comments>http://www.mkoby.com/2009/11/08/boxee-review/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 05:03:32 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Television]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1406</guid>
		<description>Boxee is a piece of downloadable software that runs on Linux, Windows, and Mac OSX.  Boxee allows you to watch videos off your network, and gives you easy access to videos from online sources like Revision3, ABC, other video sources online.  It's designed with the use of a remote in mind and is based on the popular XBMC (XBox Media Center) project.</description>
			<content:encoded><![CDATA[<p>Over the last couple of weeks I have been making an effort to really finish out my home entertainment center.  This required the purchase of a few things (I&#8217;ll cover those in another series of posts), today I want to give some attention to my new home theater PC (HTPC) running the popular <a title="Boxee" href="http://www.boxee.tv">Boxee</a> software.</p>
<h4>What is Boxee</h4>
<p>Boxee is a piece of downloadable software that runs on Linux, Windows, and Mac OSX.  Boxee allows you to watch videos off your network, and gives you easy access to videos from online sources like Revision3, ABC, other video sources online.  It&#8217;s designed with the use of a remote in mind and is based on the popular <a title="XBMC" href="http://xbmc.org/">XBMC (XBox Media Center)</a> project.</p>
<h4>The Goods</h4>
<p>Boxee is very easy to use.  I was able to get it installed (on Linux), was quickly able to point it at my network shares containing videos and music files.  It index my videos, grabbing information about them from various online places (like TheTVDB and IMDB).  It comes with some nice default installed plugins and applications, my favorite among those is the Pandora application which is quite nice.  The fact that Boxee automatically downloads video information and reviews for various albums it finds is quite nice and means that a new user needs to spend no time on organizing their collection with things like NFO files and thumbnails.</p>
<p>Navigation through the application is nice, simple, and if you&#8217;re using a remote it is easy.  When browsing movies or TV shows you can see nice thumbnails for the movie or TV show.  You also can see summaries for those movies and television show episodes.  They also grab reviews and ratings so you have a good idea of what you&#8217;re getting ready to watch or listen to.</p>
<p>The plugins are extremely nice and if you are willing to add third party application repositories, you can really fill out your Boxee experience with a large amount of content from all of the internet.  Things from CBS, Revision3, Cartoon Network, even MIT&#8217;s Open Courseware.  There&#8217;s lots of content here and as Boxee grows in popularity, the amount of plugins will continue to grow.</p>
<h4>The Bad</h4>
<p>While Boxee might be based on XBMC, it pulls some of it&#8217;s best features out.  For one thing if you&#8217;ve set up your video collection and have it all ready for XBMC with fanart, NFO files, and thumbnails: Boxee doesn&#8217;t use these files at all.  So when Boxee starts loading up your movies it ignores the NFO file and will on many occasions find info for the wrong movie.  For example, my wife purchased the current Rob Zombie remake of &#8220;Halloween&#8221; but Boxee insists on showing the poster and info for the original film from 1978, even after telling Boxee that it is the recent remake.  It doesn&#8217;t use DVD order for TV shows (example, Firefly).  It also completely ignores some movies (like in my case &#8220;1408&#8243;).  And the recommended &#8220;naming conventions&#8221; are just about worthless.</p>
<p>Why on earth would you gut XBMC and take out one of it&#8217;s best features.  Considering that XBMC was designed for exactly the kind of thing Boxee wants to do, to have Boxee turn off or rip out such an important piece seems like a poor decision.</p>
<p>Another thing that seems to be missing is XBMC&#8217;s ability to skin the interface.  There are some really nice skins for XBMC (see <a title="Aeon: XBMC Skin Designed for HDTVs" href="http://www.aeonproject.com/">Aeon</a>).  I guess one reason to not allow skinning is to control the UI completely and on some level I get that, but the kind of people that would use an alpha product are the kind of people that want to customize.  I would personally love an Aeon like skin, it really impresses when showing off.  This isn&#8217;t really a deal killer, just kind of a &#8220;nice to have&#8221; because customizing the experience is kind of nice.</p>
<h4>Overall</h4>
<p>In the end, Boxee offers a lot, and the fact that it&#8217;s in alpha means that one can kind of forgive some of these things that I consider drastic oversights.  Hopefully the beta (due next month) will resolve some of these issues.  I think as the product grows and matures it has the possibility to bring something nice to the area of HTPC software.  However, if XBMC gets a nice Pandora app/plug-in, I&#8217;ll probably switch back to using that full time as I&#8217;m more familiar with it and like it&#8217;s skinning abilities.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=pg2i2KOCdZQ:oJ0C4AyvQzo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=pg2i2KOCdZQ:oJ0C4AyvQzo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=pg2i2KOCdZQ:oJ0C4AyvQzo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=pg2i2KOCdZQ:oJ0C4AyvQzo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/pg2i2KOCdZQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/11/08/boxee-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/11/08/boxee-review/</feedburner:origLink></item>
		<item>
		<title>Hulu to Start Charging, Viewers to Stop Watching</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/CHaP7FdKTUc/</link>
		<comments>http://www.mkoby.com/2009/10/22/hulu-to-start-charging-viewers-to-stop-watching/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 22:15:40 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[Television]]></category>
		<category><![CDATA[video streaming]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1404</guid>
		<description>Earlier today, news made the rounds that Hulu, an online television show streaming website, will begin charging for their service in 2010 (EW Article).</description>
			<content:encoded><![CDATA[<p>Earlier today, news made the rounds that Hulu, an online television show streaming website, will begin charging for their service in 2010 (<a title="Hulu to start charging in 2010" href="http://news-briefs.ew.com/2009/10/22/hulu-to-start-charging-in-2010/">EW Article</a>).</p>
<p>If you&#8217;ve never used Hulu before, here&#8217;s the basic premise.  Shows from the major networks (ABC, Fox, CBS, NBC, etc) can be watched in both standard and high definition via the Hulu website.  The catch is there are some small (less than 30 second) commercials inserted through out the show.  The commercials are shorter than those you&#8217;d watch on regular TV and less frequent.  Giving people a nice way to catch the shows they missed the night before, and give TV people a way to make money.  <span style="background-color: #ffffff;">The idea behind Hulu was to eliminate the need for people to illegally download shows through things like BitTorrent.  The good news is, it mostly worked.  Yes, people still download torrents, but Hulu as an idea worked quite well.  People, in general, were willing to put up with the short commercials in trade for the ability to watch their favorite shows online when they wanted.</span></p>
<p><span style="background-color: #ffffff;">However, announcing that you&#8217;re going to start charging people without a lot details is a bad idea.  If you are going to remove the commercials and charge your users, then you might have an argument.  However, if you&#8217;re going to charge me money and make me sit through commercials, then I&#8217;ll have a serious problem (and so will most Hulu users).  It is a bad move to start charging for something people have come to expect to be free, and then on top of that still subject them to the commercials.</span></p>
<p><span style="background-color: #ffffff;">It is important to note that Hulu hasn&#8217;t announced how a subscription service will work or what it will look like so we will all just have to wait and see.  Personally Hulu&#8217;s content providers need to wake up and realize that they&#8217;ll send people back to torrents and other illegal means of getting their favorite shows if they back a bad subscription model.  They already lost favor when they made Hulu block things like Boxee, so they really don&#8217;t need to earn themselves anymore bad ire.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=CHaP7FdKTUc:1KNlTlmsRUs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=CHaP7FdKTUc:1KNlTlmsRUs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=CHaP7FdKTUc:1KNlTlmsRUs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=CHaP7FdKTUc:1KNlTlmsRUs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/CHaP7FdKTUc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/10/22/hulu-to-start-charging-viewers-to-stop-watching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/10/22/hulu-to-start-charging-viewers-to-stop-watching/</feedburner:origLink></item>
		<item>
		<title>TwitterNET Project: A .NET Twitter Library</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/EqNJm_50UEQ/</link>
		<comments>http://www.mkoby.com/2009/10/19/twitternet-project-a-net-twitter-library/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:45:58 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1402</guid>
		<description>Over the weekend, I finally finished a large chunk of wrapping the Twitter API into a .NET 3.5 library using C#.  With the exception of the OAuth &amp;#038; Search methods, this most of the REST methods are complete (only 3 are not done at this time but should be done soon).  The project is located on Github by clicking here.</description>
			<content:encoded><![CDATA[<p>Over the weekend, I finally finished a large chunk of wrapping the Twitter API into a .NET 3.5 library using C#.  With the exception of the OAuth &amp; Search methods, this most of the REST methods are complete (only 3 are not done at this time but should be done soon).  The project is located on Github by clicking <a title="TwitterNET on Github" href="http://github.com/mkoby/TwitterNET">here</a>.</p>
<p>The reason for the lack of OAuth and Search being complete is due mainly to 2 simple facts:</p>
<ol>
<li>The search methods return types only come back in the JSON format, and my experience in parsing JSON pretty much non-existent.</li>
<li>I don&#8217;t understand OAuth enough to feel I can implement it correctly.  I&#8217;ll get to this eventually but it&#8217;s not overly necessary to do everyday Twitter stuff (update status, read friends timeline, etc)</li>
</ol>
<p>Also, there is a wiki with some more information as well as some example code to get folks started, so be sure to check that out as well.</p>
<p>Again her are the links to the project and its wiki:  <a title="TwitterNET on Github" href="http://github.com/mkoby/TwitterNET">TwitterNET on Github</a> &amp; <a title="TwitterNET Wiki" href="http://wiki.github.com/mkoby/TwitterNET">TwitterNET Wiki</a>.</p>
<p>I&#8217;m hoping to see some forks and some user contributions, I currently have the project under the GPL 2.0, but  I&#8217;ll probably change this to a more friendly BSD style license in the future.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=EqNJm_50UEQ:5eHyzFl7aOI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=EqNJm_50UEQ:5eHyzFl7aOI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=EqNJm_50UEQ:5eHyzFl7aOI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=EqNJm_50UEQ:5eHyzFl7aOI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/EqNJm_50UEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/10/19/twitternet-project-a-net-twitter-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/10/19/twitternet-project-a-net-twitter-library/</feedburner:origLink></item>
		<item>
		<title>JetBrains IntelliJ IDEA Goes Open Source &amp; Misses the Point a Little</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/MzIWdZHBhRY/</link>
		<comments>http://www.mkoby.com/2009/10/17/jetbrains-intellij-idea-goes-open-source/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 17:08:58 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[intellij]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jetbrains]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1400</guid>
		<description>There was big news in the Java world this week.  JetBrains released their popular IntelliJ IDEA as an open source community edition.  While, this has been heralded as a great move (and to some extent I agree with that), I feel that JetBrains kind of missed the point a little.  Before I go any further, you should look at the Edition Comparison Chart.

If you look at the chart, you'll notice that some of the features they need t</description>
			<content:encoded><![CDATA[<p>There was big news in the Java world this week.  JetBrains released their popular IntelliJ IDEA as an open source community edition.  While, this has been heralded as a great move (and to some extent I agree with that), I feel that JetBrains kind of missed the point a little.  Before I go any further, you should look at the <a title="IntelliJ IDEA Editions Comparison Matrix" href="http://www.jetbrains.com/idea/nextversion/editions_comparison_matrix.html">Edition Comparison Chart</a>.</p>
<p>If you look at the chart, you&#8217;ll notice that some of the features they need to really compete with the free (also open source) Java IDE has been stripped out and is only available in their pay for Ultimate Edition.  So if you download the free version of IntelliJ IDEA you won&#8217;t get Android development support, which is one of the main reasons I would have seriously considered IntelliJ.  But also there is no support of web development and the technologies involved in that area.  So no Ruby, PHP, HTML, or Javascript.  Basically, you get the ability to develop basic java applications and that&#8217;s it.  This might be okay for some people.  But the only reason I&#8217;m currently doing Java development at them moment is for Android, so the lack of Android support in the Community Edition means one simple thing: I won&#8217;t use it.  Not because I don&#8217;t want to, but because I can&#8217;t.</p>
<p>I still think the availability of this Community Edition is important to the community, but I feel that they kind of missed out and that people are still going to look at Eclipse and Netbeans for their Java development, especially if they&#8217;re doing web development.  Both Eclipse and Netbeans are free and have large corporate pockets behind them (though Sun&#8217;s acquisition by Oracle might change that for Netbeans).  I know that for my personal development, I&#8217;ll still use Eclipse because I can&#8217;t get stuff I want out of the IntelliJ Community Edition.  I think that if JetBrains really wants to bring people to this new Community Edition, then they need to open up some of the web development stuff and also Android.  Android is free and open source so I see no reason to pay for an IDE to do development on that platform.</p>
<p>So, JetBrains, if you guys are listening, you need to add some features back into this Community Edition if you want to seriously compete with the likes of Eclipse or Netbeans.  Other than that, I commend you on this move, I think it&#8217;s a nice step in the right direction.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=MzIWdZHBhRY:ccsCghvwsvM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=MzIWdZHBhRY:ccsCghvwsvM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=MzIWdZHBhRY:ccsCghvwsvM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=MzIWdZHBhRY:ccsCghvwsvM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/MzIWdZHBhRY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/10/17/jetbrains-intellij-idea-goes-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/10/17/jetbrains-intellij-idea-goes-open-source/</feedburner:origLink></item>
		<item>
		<title>C# Partial Keyword</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/-Ivt8rKDxBA/</link>
		<comments>http://www.mkoby.com/2009/10/14/c-partial-keyword/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:30:48 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[partial]]></category>
		<category><![CDATA[solid principles]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1394</guid>
		<description>This is where the partial keyword comes into play.  I can organize my methods so that related methods are in their own files but are still accessible in the same class.  This came in real handy in my Twitter library (linked above).</description>
			<content:encoded><![CDATA[<p>This past weekend, while refactoring some of my <a title="TwitterNET at Github" href="http://github.com/mkoby/TwitterNET">Twitter library&#8217;s code</a>, I discovered the &#8220;partial&#8221; keyword in C#.  Granted this things probably been around for a while, it really helped me organize my methods in my Twitter class into an organizational scheme that made more sense and followed the structure that <a title="Twitter API Documentation" href="http://apiwiki.twitter.com/Twitter-API-Documentation">Twitter uses in their API documentation</a>.</p>
<p>Lets take a look at the partial keyword in a little more detail.<span id="more-1394"></span>Lets say I have a single class that will contain a log of methods.  Opening this one class file every time I need to make a change means I have to see a bunch of unrelated methods every time my code breaks or I have to edit it.</p>
<p>If you&#8217;ve heard about the SOLID principles then you know that the &#8220;S&#8221; stands for &#8220;Single Responsibility&#8221; which means that a class should have a single reason to change.  Now there are times when a class is going to contain a lot of methods because those methods are in fact related a higher level but might not directly relate.  This is where the partial keyword comes into play.  I can organize my methods so that related methods are in their own files but are still accessible in the same class.  This came in real handy in my Twitter library (linked above).</p>
<p>Lets look an example using some code excerpts from my project.  We&#8217;ll start with looking at all the methods in a single class.</p>
<pre class="brush: csharp;">
public class Twitter
{
    public IList&lt;StatusMessage&gt; GetFavorites(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommited
    }

    public StatusMessage MarkAsFavorite(long statusId)
    {
        //Code Ommited
    }

    public StatusMessage DeleteFavorite(long StatusID)
    {
        //Code Ommited
    }

    public IUser TurnDeviceNotificationsOn(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommitted
    }

    public IUser TurnDeviceNotificationsOff(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommitted
    }
}
</pre>
<p>You can see that I have two different areas of interests here: Favorites and Device Notifications.  If Twitter makes a change to their device notification API section, I shouldn&#8217;t have to worry about the Favorites related methods and if I leave all of this in the same file I&#8217;ll see the Favorites methods when I make changes to the Device Notification methods.  This is mentally taxing and should be avoided.   Lets look at my newly refactored code that takes advantage of the partial keyword.  I now have two files: FavoritesMethods.cs and NotificationMethods.cs.</p>
<p>FavoritesMethods.cs looks like:</p>
<pre class="brush: csharp;">
public partial class Twitter
{
    public IList&lt;StatusMessage&gt; GetFavorites(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommited
    }

    public StatusMessage MarkAsFavorite(long statusId)
    {
        //Code Ommited
    }

    public StatusMessage DeleteFavorite(long StatusID)
    {
        //Code Ommited
    }
}
</pre>
<p>And the NotificationMethods.cs will look like:</p>
<pre class="brush: csharp;">
public partial class Twitter
{
    public IUser TurnDeviceNotificationsOn(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommitted
    }

    public IUser TurnDeviceNotificationsOff(StatusRequestOptions statusRequestOptions)
    {
        //Code Ommitted
    }
}
</pre>
<p>As you can see, this is much easier to keep track of.  It also organizes the methods into files containing related methods.  So when I have a problem or need to make a change, I&#8217;m only concerning myself with the methods at hand and not 50 or 60 other unrelated methods.  Sure, you can probably keep the other methods out of your head if they&#8217;re all in the same file, but you&#8217;ll see them and thus you&#8217;ll become aware of them mentally.  Using the partial keyword on your class will allow you to organize your methods in a way that makes sense while maintaining that they are part of a much larger class when being used in an application.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=-Ivt8rKDxBA:ITIqOsKexRQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=-Ivt8rKDxBA:ITIqOsKexRQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=-Ivt8rKDxBA:ITIqOsKexRQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=-Ivt8rKDxBA:ITIqOsKexRQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/-Ivt8rKDxBA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/10/14/c-partial-keyword/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/10/14/c-partial-keyword/</feedburner:origLink></item>
		<item>
		<title>Gowalla Over Foursquare</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/kW9LwE7fcTI/</link>
		<comments>http://www.mkoby.com/2009/09/25/gowalla-over-foursquare/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 17:15:18 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[dodgeball]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[gowalla]]></category>
		<category><![CDATA[location based networks]]></category>
		<category><![CDATA[social games]]></category>
		<category><![CDATA[social networks]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1392</guid>
		<description>Enter Gowalla.  Gowalla is similar to Foursquare in that it is a location based social network with a game element.  You can get points for visiting certain places and there are "trips" you can take that involve checking in at multiple locations.  Successfully completing a trip earns you points.</description>
			<content:encoded><![CDATA[<p>I like to try social networks.  I find them fun.  So when you combine a social network with a game element, it should be a sure fire hit with me right?  That&#8217;s why I tried <a title="Foursquare" href="http://www.foursquare.com">Foursquare</a>.  It&#8217;s a location based social network game.  This should be fun, I check in at places see who else is there, and the more places you check in over the course of a night, the more points you get.  Well, I don&#8217;t go out nearly as much as I used to (being married and having kids does that do a person), so I wasn&#8217;t so interested in the points.  But the idea intrigued me.</p>
<p>So I tried to make use of Foursquare.  Whenever I went somewhere I&#8217;d try to check in.  This is where the problems started.  The Foursquare iPhone app, is horrible.  It doesn&#8217;t do one of the things it should do, search for locations based on your current GPS or cell signal location.  If I&#8217;m in my home town of Katy and do a search for Jason&#8217;s Deli (because that&#8217;s where I am with my family), it should find the Jason&#8217;s Deli on Mason Road.  Nope, it pulls up the Jason&#8217;s Deli location that&#8217;s in downtown Houston, 27 miles away from where I&#8217;m at.  In internet meme terms, this is known as &#8220;FAIL&#8221; (ie broken).</p>
<p>Enter <a title="Gowalla" href="http://www.gowalla.com">Gowalla</a>.  Gowalla is similar to Foursquare in that it is a location based social network with a game element.  You can get points for visiting certain places and there are &#8220;trips&#8221; you can take that involve checking in at multiple locations.  Successfully completing a trip earns you points.</p>
<p>But Gowalla does something that Foursquare can&#8217;t seem to do (at least for me).  When I go to check in, it pulls up surrounding spots based on my GPS or cell signal location.  In other words, it actually uses my location to determine where I might be.  I have found one bug (but I haven&#8217;t check to see if its fixed in the latest version).  That bug is if I check in from inside a building (no GPS signal), if the cell tower it&#8217;s getting my location from is not on top of the building I&#8217;m in, then it won&#8217; t let me check in, it tells me that I&#8217;m not actually at that location.  While I understand what the point of this is, there should be some leeway to say if you&#8217;re within a certain radius, allow the check in.</p>
<p>But that&#8217;s not all that Gowalla handles better.  If you try to check in at a place that isn&#8217;t in their list, you can add a new place to the GPS coordinates for where you are at.  In Foursquare, you need to have the address of where you are at (very annoying).  You simply type the name of the place, assign it a category and it adds the location to Gowalla&#8217;s database and then you can check in there.</p>
<p>In the end, I have chosen to go with Gowalla over Foursquare.  There are some elements of Foursquare that are fun and it definitely is more fun for people that go out all the time.  But the lack of ability to check in based on my location and needing to know the address to add a new place is a huge hindrance for me.  Gowalla suits my lifestyle a lot better and to me their iPhone app is just flat out better.  Foursquare is riding Dodgeball coat tails (the same people are behind both services), but it needs to get its act together when it comes to its iPhone app because for a location based service it kind of stinks.</p>
<p>My Gowalla Profile: <a title="Michael on Gowalla" href="http://gowalla.com/users/mkoby">mkoby</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=kW9LwE7fcTI:CjmPwqEY1ks:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=kW9LwE7fcTI:CjmPwqEY1ks:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=kW9LwE7fcTI:CjmPwqEY1ks:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=kW9LwE7fcTI:CjmPwqEY1ks:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/kW9LwE7fcTI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/25/gowalla-over-foursquare/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/25/gowalla-over-foursquare/</feedburner:origLink></item>
		<item>
		<title>Why You Want to Learn C in Today’s Programming World</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/gspZ3fE3NQI/</link>
		<comments>http://www.mkoby.com/2009/09/22/why-learn-c/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:10:56 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1387</guid>
		<description>But could you write an operating system in C# or Java?  Even if you could, should you?  If you need something to run its fastest, shouldn't it talk to the hardware as directly as possible?  This is where languages like C (and even C++) come in.</description>
			<content:encoded><![CDATA[<p>If you flip through some of the &#8220;I want to learn C&#8221; questions on <a title="StackOverflow: Questions Tagged C" href="http://stackoverflow.com/questions/tagged/c">StackOverflow</a>, you&#8217;ll find an interesting trend.  That trend, is that at least one person will try to disuade the user from learning C, siting that languages like C# and Java are better, and don&#8217;t require the programmer to worry about memory management.  A good example is this <a title="StackOverflow: Good book on Programming C in Unix environment?" href="http://stackoverflow.com/questions/1453209/good-book-on-programming-c-in-unix-environment">question</a>.</p>
<p>Before we go any further, I think it is important to mention that I make a living doing development in C# and that I have also recently picked Java backup so i could write some programs for phones running Google&#8217;s Android OS.  So I have experience in both of these popular &#8220;managed&#8221; languages.  And I should also note that both languages are very good languages and allow a developer to accomplish things a lot quicker (and sometimes easier) than in a language like C.  With that disclaimer out of the way, lets move on.</p>
<h3>The Importance of C</h3>
<p>I think to understand why C is important as a language you have to look back to when C first came about.  When C first came out there were languages like Assembly, Pascal, and FORTRAN.  All of these, while nice were either hard to use or understand.  When C came along the idea of &#8220;high level&#8221; was still pretty foreign.  The C language changed that.  It was easy to understand, allowed low level access to things like memory, and was fast.  C did a lot to change how people looked at programming and made it slightly easier for people to write code.  One might equate going from Assembly to C is like going from C to Java (or C#).  There&#8217;s just that much difference in how easy it is to get things done that a whole new level of people can program.</p>
<h3>Why C is Still Relevant</h3>
<p>So in today&#8217;s languages, a programmer does not have to concern themselves (too much) with memory management, or even performance (not like before anyway).  Computers are so much faster and come with so much more memory than before that things like memory management and maximizing performance are not top considerations anymore.  Use to be, you had to pay attention to memory because you had less than 1 megabyte of it.  Your processor weren&#8217;t as fast so every computation had to count in a big way.  But in languages like C# or Java, these aren&#8217;t top concerns.  Both have garbage collectors (that you as a programmer can&#8217;t directly control), they both run on top of their own runtime so there&#8217;s an added layer when it comes to running the application.  Both C# and Java are extremely high level languages, a lot of stuff is written for the developer already and so both have awesome libraries ready for use.</p>
<p>But could you write an operating system in C# or Java?  Even if you could, should you?  If you need something to run its fastest, shouldn&#8217;t it talk to the hardware as directly as possible?  This is where languages like C (and even C++) come in.  The C language doesn&#8217;t run on top of a runtime.  It compiles into machine code, not Java Byte Code or IL code (C#).  There are performance gains to using a language like C when writing drivers, massive computation programs, and even libraries.  The less your program as to go through to talk to the hardware, the faster it&#8217;s going to be.</p>
<h3>Caveats</h3>
<p>Of course, a language like C comes with its own set of problems.  For starters, there is no such thing as garbage collection.  When writing applications in C, you have to make sure you take care of your memory, and you have to do so in an efficient and correct way.  Otherwise you get memory leaks which can cause performance to degrade.</p>
<p>Working with C is no different than working in any other language, you have to know how to use it.  You have to make sure you write good clean code, handle your memory correctly, and make your calculations count.  You can write bad C code, just like you can write by Java code.</p>
<h3>Conclusion</h3>
<p>I think to tell someone that they shouldn&#8217;t bother with C does a disservice to programmers.  Programmers should know and understand where their languages come from.  The Java and C# languages are heavily rooted in C.  But I think the idea that it is better to code something in C# rather than C (or C++) is a misnomer, and other facts need to be considered before such a statement is made.  If you&#8217;re interested, I found some <a href="http://www.ddj.com/cpp/184401976;jsessionid=5R3WAXOT0TZ3JQE1GHPSKHWATMY32JVN?_requestid=313598">benchmarks at Dr Dobb&#8217;s website</a> for Java, C#, and C++.  Give them a look to see what kind of performance you get out of the various languages.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=gspZ3fE3NQI:PZ7qwbLGhiM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=gspZ3fE3NQI:PZ7qwbLGhiM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=gspZ3fE3NQI:PZ7qwbLGhiM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=gspZ3fE3NQI:PZ7qwbLGhiM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/gspZ3fE3NQI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/22/why-learn-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/22/why-learn-c/</feedburner:origLink></item>
		<item>
		<title>Continuous Integration Workshop</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/eeRjsiZcE_c/</link>
		<comments>http://www.mkoby.com/2009/09/21/continuous-integration-workshop/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 17:14:44 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[alt.net]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[houston alt.net]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1383</guid>
		<description>This past Saturday I had the (scary) privilege of running a workshop on Continuous Integration.  The workshop was put on by the Houston Alt.NET Group at the Houston Microsoft office.
The workshop covered many topics including Martin Fowler&amp;#8217;s CI Principles, source control using Subversion and Git, NAnt, and TeamCity.  While there wasn&amp;#8217;t a ton of &amp;#8220;workshop&amp;#8221; related [...]</description>
			<content:encoded><![CDATA[<p>This past Saturday I had the (scary) privilege of running a workshop on Continuous Integration.  The workshop was put on by the <a title="Houston Alt.NET" href="http://houstonaltnet.pbworks.com/">Houston Alt.NET Group</a> at the Houston Microsoft office.</p>
<p>The workshop covered many topics including Martin Fowler&#8217;s CI Principles, source control using Subversion and Git, NAnt, and TeamCity.  While there wasn&#8217;t a ton of &#8220;workshop&#8221; related activities for the participants to do, all the topics mentioned were covered in-depth.  With lots of on screen demonstrations (so some of the slides from the presentation are lacking in actual content).</p>
<p>Video was taken of the event and if that ever makes in online, I&#8217;ll be sure to post it for everyone to see.  In the meantime, you can look at the presentation slides in either PDF or Powerpoint formats by click on the links below.</p>
<p>Houston Alt.NET Continuous Integration Workshop (<a title="PDF Format" href="http://www.mkoby.com/wp-content/uploads/2009/09/Houston_Alt_NETContinuous_Integration_Workshop.pdf">PDF</a>) (<a title="Powerpoint Format" href="http://www.mkoby.com/wp-content/uploads/2009/09/Houston_Alt_NETContinuous_Integration_Workshop.ppt">PPT</a>)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=eeRjsiZcE_c:LijCg0aD748:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=eeRjsiZcE_c:LijCg0aD748:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=eeRjsiZcE_c:LijCg0aD748:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=eeRjsiZcE_c:LijCg0aD748:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/eeRjsiZcE_c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/21/continuous-integration-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/21/continuous-integration-workshop/</feedburner:origLink></item>
		<item>
		<title>C Bitwise Operators</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/WyqCbavf5rI/</link>
		<comments>http://www.mkoby.com/2009/09/17/c-bitwise-operators/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 17:15:13 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[c]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1366</guid>
		<description>When I got laid off I decided that I had some extra time to finally go through the book &amp;#8220;The C Programming Language&amp;#8221; by Kerninghan and Ritchie (aka &amp;#8220;K&amp;#38;R C Book&amp;#8221;).  I got through the first chapter without too much issue but the section on bitwise operators in the second chapter had left me [...]</description>
			<content:encoded><![CDATA[<p>When I got laid off I decided that I had some extra time to finally go through the book <a title="C Programming Language" href="http://www.amazon.com/gp/product/0131103628?ie=UTF8&amp;tag=almosnotyet-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0131103628">&#8220;The C Programming Language&#8221; by Kerninghan and Ritchie</a> (aka &#8220;K&amp;R C Book&#8221;).  I got through the first chapter without too much issue but the section on bitwise operators in the second chapter had left me stumpped.  Most of the stuff on bitwise operators is easy to understand, but when you start trying to do the exercises you realize that the book&#8217;s content on this subject is a little lacking for what the exercises want you to do.  I&#8217;m going to spend some time today going over bitwise operators and hopefully help any future would-be C developers understand this subject.<span id="more-1366"></span></p>
<h3>What Are Bitwise Operators</h3>
<p>Bitwise operators are operators that allow you to manipulate data at the bit level.  Just to be upfront, an little understanding of binary numbers is going to help in a bit way as we talk about these operators.  There are six operators that we&#8217;re going to focus on: AND, OR (inclusive), OR (exclusive), NOT, left shift and finally right shift.</p>
<h3>Binary Numbers</h3>
<p>Before we jump right in though, lets look at binary numbers.  Since we&#8217;re dealing with bitwise operators and dealing with things at a bit level, it&#8217;s helpful to make the distinction between a bit and byte.  A bit is a single binary digit that can be a 1 or a zero (0).  A byte is made up of 8 bits.  So lets look at a byte of integer data.</p>
<p>Below is the number 30 in binary form.</p>
<pre class="brush: plain;">
Postition #: 7  6  5  4  3  2  1  0
Bit:         0  0  0  1  1  1  1  0
</pre>
<p>It&#8217;s important to note that the &#8220;Position #&#8221; represents the value of 2 to the power of the number (2^#) so position 3 is 8 because 2 to third power (2^3) is equal to 8.  So in this case we add (16+8+4+2) to equal 30.  Lets look at the other number we&#8217;ll be using in our examples, 115.</p>
<pre class="brush: plain;">
Postition #: 7  6  5  4  3  2  1  0
Bit:         0  1  1  1  0  0  1  1
</pre>
<p>Now we have to the two numbers (30 &amp; 115) that we&#8217;ll be spending most of our time looking at. So lets move on to the actual operators themselves.</p>
<h3>AND Operator</h3>
<p>The AND operator (&amp;) will take any bits where both bits are set to 1.  So in the case of 30 &amp; 115 we&#8217;ll get 18.</p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;

main() {
    i = 115;
    j = 30;
    k = i &amp; j;

    printf(&quot;\n%d &amp; %d = %d\n&quot;, i, j, k);
}
</pre>
<pre class="brush: plain;">
Output:  115 &amp; 30 = 18
</pre>
<p>So lets look at this at the bit level:</p>
<pre class="brush: plain;">
76543210 -- Position
01110011 &amp;
00011110
--------------
00010010
</pre>
<p>As we can see, we only saved the bits where both bits in both numbers were set to 1.</p>
<h3>OR (inclusive) Operator</h3>
<p>There are two kinds of OR operators, inclusive and exclusive and we will be looking at both today.  First we&#8217;ll look at the inclusive OR operator (pipe, |).  The inclusive OR operator will take bits from both numbers where either bit is set to 1.</p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;

main() {
    i = 115;
    j = 30;
    k = i | j;

    printf(&quot;\n%d | %d = %d\n&quot;, i, j, k);
}
</pre>
<pre class="brush: plain;">
Output:  115 | 30 = 127
</pre>
<p>And at the bit level:</p>
<pre class="brush: plain;">
76543210 -- Position
01110011 |
00011110
--------------
01111111
</pre>
<p>As you can see, in the case of using the inclusive OR on 115 and 30, we get 127.</p>
<h3>OR (exclusive) Operator</h3>
<p>Now lets have a look at the exclusive OR operator (carrot, ^).  Here the only bits carried over are those where only one of the two bits is set to 1.  Lets look at an example.</p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;

main() {
    i = 115;
    j = 30;
    k = i ^ j;

    printf(&quot;\n%d ^ %d = %d\n&quot;, i, j, k);
}
</pre>
<pre class="brush: plain;">
Output:  115 ^ 30 = 109
</pre>
<p>And what happens at the actual bit level:</p>
<pre class="brush: plain;">
76543210 -- Position
01110011 ^
00011110
--------------
01101101
</pre>
<h3>NOT Operator</h3>
<p>The final bitwise operator I want to look at is the NOT operator.  This is represented by the tilde sign (~).  What this operator does is reverse the settings of all the bits.  If a bit is set to 1 it gets set to 0 and vice versa.  This one is tricky though and it took me a a while to fully understand it because it doesn&#8217;t act the way you expect in all circumstances.</p>
<p>If you use signed ints, the result of ~115 is actually -116 (or -115-1).  If you used unsigned ints, the result will be the same.  But if you use unsigned short ints (and you actually specify as such in your code), the result of ~115 is actually 65420.  Now you might be wondering what happened there.  Well, when you do &#8220;unsigned short&#8221; integers, you&#8217;re actually using 2 byte integers (or 16 bit integers), those look like</p>
<pre class="brush: plain;">
76543210 76543210 -- Position
11111111 10001100
</pre>
<p>You&#8217;ll notice that the last 8 bits are the reverse of the bits for 115?  Well, that&#8217;s what the NOT operator does remember?  It flips all the bits.  After 128 (or 2^7), you just continue multiplying by two, so the second set of bits starts as 256, then 512, then 1024, and so on.</p>
<p>Here&#8217;s some basic things you need to know.</p>
<pre class="brush: cpp;">
~0 = 65535
~(~0) = 0
</pre>
<p>The first one takes a byte where all the values are 0 and changes them all to 1&#8217;s.  So every bit is on, thus ~0 will be the maximum value of the integer type.  The reverse, ~(~0) is fliping the flipped bits, and thus those bits are being flipped twice.  Once to the &#8220;ON&#8221; position (all 1&#8217;s) and then again to the &#8220;OFF&#8221; position (all 0&#8217;s).</p>
<h3>Left Shift Operator</h3>
<p>The final two operators we will look at today are the left and right shift operators.  We&#8217;ll start by looking at the left shift operator (&lt;&lt;).</p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;

main() {
    i = 4;
    j = i &lt;&lt; 2;

    printf(&quot;\n%d &lt;&lt; 2 = %d\n&quot;, i, j);
}
</pre>
<pre class="brush: plain;">
Output:  4 &lt;&lt; 2 = 16
</pre>
<p>So lets look at this at the bit level:</p>
<pre class="brush: plain;">
76543210 -- Position
00000100 &lt;&lt; 2
--------------
00010000
</pre>
<h3>Right Shift Operator</h3>
<p>Finally, we&#8217;re going to peek at the right shift operator (&gt;&gt;) and if you guessed that this does the exact opposite of the left shift operator, you&#8217;d be one hundred percent correct.</p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;

main() {
    i = 4;
    j = i &gt;&gt; 2;

    printf(&quot;\n%d &lt;&lt; 2 = %d\n&quot;, i, j);
}
</pre>
<pre class="brush: plain;">
Output:  4 &gt;&gt; 2 = 1
</pre>
<p>So lets look at this at the bit level:</p>
<pre class="brush: plain;">
76543210 -- Position
00000100 &gt;&gt; 2
--------------
00000001
</pre>
<h3>Conclusion</h3>
<p>There you have it, all the bitwise operators in the C programming language.  Note that these can be used in other languages as well, in fact there are several questions over on StackOverflow about when a good time to use bitwise operators is and in different languages.  In the near future I&#8217;ll look at doing some complex things with these operators (specifically one of the exercises from the K&#038;R book).  But this should at least give you a nice overview of bitwise operators.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=WyqCbavf5rI:qNsbdp7Am7A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=WyqCbavf5rI:qNsbdp7Am7A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=WyqCbavf5rI:qNsbdp7Am7A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=WyqCbavf5rI:qNsbdp7Am7A:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/WyqCbavf5rI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/17/c-bitwise-operators/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/17/c-bitwise-operators/</feedburner:origLink></item>
		<item>
		<title>Properly Using Twitter &amp; FriendFeed</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/2adwvnLK9tQ/</link>
		<comments>http://www.mkoby.com/2009/09/09/properly-using-twitter-friendfeed/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:09:53 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[friendfeed]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1360</guid>
		<description>Basically to boil it down, I keep my Twitter stream fairly focused while my FriendFeed stream is anything but focused.  FriendFeed is for those that desire information overload.</description>
			<content:encoded><![CDATA[<p>Over the last few months I&#8217;ve been using <a title="FriendFeed" href="http://www.friendfeed.com">FriendFeed</a> more.  It took me some time (as it did with <a title="Twitter" href="http://www.twitter.com">Twitter</a>) to figure out how to utilize the service in a way that worked for me.  Here&#8217;s what I found worked for me.  Use Twitter to follow those you know, sprinkle in a few that you don&#8217;t but mainly keep for those you really know or are related to your field.  What you want to use FriendFeed for is everything else.</p>
<p>I&#8217;m a .NET developer by trade, its my job and software development as a whole is a general interest.  So as a result I&#8217;ve kept my Twitter follow list closely to those in that field.  Sure there are people I know personally, people I work(ed) with, and a few social media people I find interesting.  But if you were to look at my following list, you&#8217;d see mostly developers if it&#8217;s not someone I know.  This keeps my Twitter feed relevent to me because it&#8217;s my friends and my field.  But since programming isn&#8217;t my only interest, I use FriendFeed to fill in the holes for my other interests.</p>
<p>I like keeping up with social media, Web 2.0, general technology that&#8217;s not necessarily related to software development.  So I use FriendFeed to follow highly prolific folks who would otherwise overrun my Twitter stream.  People like Robert Scoble, Louis Gray, Om Malik, Michael Arrington, and other bloggers and writers that if I were to follow on Twitter would cause my friends and those in my specific field to be lost in the mix because they just post so much stuff.  I don&#8217;t want to miss that stuff though, so I use FriendFeed to see it and comment on it.  FriendFeed also has &#8220;groups&#8221; which allow you to follow things in a more organized manner should you need it.  There are several user created groups so you can follow areas of interest which brings in more items.</p>
<p>Basically to boil it down, I keep my Twitter stream fairly focused while my FriendFeed stream is anything but focused.  FriendFeed is for those that desire information overload.  When I don&#8217;t have time for the information, I can simply not go to the FriendFeed page or open the desktop application I&#8217;m using for it.  When I&#8217;m done with work I can log into FriendFeed and the more popular stuff is going to be towards the top so I will always get the best or most controversial news items because FriendFeed moves them to the top when new likes or comments appear on a specific item.</p>
<p>FriendFeed is a nice service but its purpose is vastly different than Twitter and that can take some getting used to.  Hopefully this helps a few people use FriendFeed more since it can be a little hard to figure out, especially if you&#8217;re coming from Twitter.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=2adwvnLK9tQ:ukU3qmoE0BE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=2adwvnLK9tQ:ukU3qmoE0BE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=2adwvnLK9tQ:ukU3qmoE0BE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=2adwvnLK9tQ:ukU3qmoE0BE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/2adwvnLK9tQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/09/properly-using-twitter-friendfeed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/09/properly-using-twitter-friendfeed/</feedburner:origLink></item>
		<item>
		<title>Git Resources</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/TKMbbeoUoaU/</link>
		<comments>http://www.mkoby.com/2009/09/07/git-resources/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 19:25:05 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Lists]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[source control system]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1357</guid>
		<description>Over the last couple of months I have been working on moving all of my personal projects over to Git based source control.  I have moved all of my source code to GitHub.  The reason I did this was because I had been hearing a lot of good things about Git, I was tired of [...]</description>
			<content:encoded><![CDATA[<p>Over the last couple of months I have been working on moving all of my personal projects over to <a title="Git" href="http://git-scm.com/">Git</a> based source control.  I have moved all of my source code to <a title="GitHub - mkoby" href="http://github.com/mkoby">GitHub</a>.  The reason I did this was because I had been hearing a lot of good things about Git, I was tired of using Subversion, and I figured if the Linux Kernel developers were using it then I should give it some consideration.</p>
<p>I like the concepts of Git, especially the whole &#8220;distributed&#8221; concept that is one of its main selling points (even if I didn&#8217;t understand 100% of the time what it meant).  But what I&#8217;ve really come to love about Git is the fact that it really allows you to do what&#8217;s called &#8220;branch per feature&#8221; when developing code.  There are some other nice features that make working with Git so much better than working with Subversion, even in a more corporate environment.  The downside to Git is the lack of graphical tools for the Windows users.  The most powerful tool for Git is it&#8217;s command line.  While tools like <a title="TortoiseGit" href="http://code.google.com/p/tortoisegit/">TortoiseGit</a> do exist, there is still more power in using the command line.</p>
<p>But if you are interested in Git, I have collected some Git resources here below for you.</p>
<p><a title="Git Website" href="http://git-scm.com/">Git Website</a> &#8211; The Git website.  This contains the latest Git source downloads, a free &#8220;getting started&#8221; book, and other information about Git.</p>
<p><a title="Los Techies - Git for Windows Series" href="http://www.lostechies.com/blogs/jason_meridth/archive/2009/06/01/git-for-windows-developers-git-series-part-1.aspx">Git For Windows</a> &#8211; This wonderful series from Los Techies, is a must read for any windows developer looking to get started with Git.</p>
<p><a title="Git: Your New Best Friend" href="http://www.sitepoint.com/article/version-control-git/">Git: Your New Best Friend</a> &#8211; This is another nice intro to Git that will walk you through several key Git concepts.</p>
<p><a title="GitHub Guides" href="http://github.com/guides/home">GitHub Guides</a> &#8211; These guides range from beginners level to more advanced topics.  There are also a couple of GitHub specific guides here.  If you&#8217;re looking to get started with Git, you&#8217;ll need a Git repository and you can get one at GitHub.</p>
<p><a title="Git Cheatsheet" href="http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html">Git Cheatsheet</a> &#8211; A nice Git Cheatsheet</p>
<p><a title="Pro Git Book" href="http://progit.org/">Pro Git Book</a> &#8211; This is a complete online book, it is also available for purchase.  If you find value in using the online edition, please support the author and buy the book.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=TKMbbeoUoaU:iGxFMncTaYc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=TKMbbeoUoaU:iGxFMncTaYc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=TKMbbeoUoaU:iGxFMncTaYc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=TKMbbeoUoaU:iGxFMncTaYc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/TKMbbeoUoaU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/07/git-resources/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/07/git-resources/</feedburner:origLink></item>
		<item>
		<title>NAnt Cross Platform Build Scripts</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/FStZ_D8vibA/</link>
		<comments>http://www.mkoby.com/2009/09/06/nant-cross-platform-build-scripts/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 16:07:32 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[nant]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1347</guid>
		<description>Yesterday I spent a great deal of time getting my build script for my TwitterNET project to run successfully under Linux on Mono.  My build script was already worked nicely on Windows but since I&amp;#8217;ve moved to Linux and didn&amp;#8217;t really have a Windows computer sitting around I needed to make it work for Linux.  [...]</description>
			<content:encoded><![CDATA[<p>Yesterday I spent a great deal of time getting my build script for my <a title="TwitterNET - .NET Twitter Library" href="http://wiki.github.com/mkoby/TwitterNET">TwitterNET</a> project to run successfully under Linux on <a title="Mono - Cross-Platform .NET Runtime" href="http://www.go-mono.com">Mono</a>.  My build script was already worked nicely on Windows but since I&#8217;ve moved to Linux and didn&#8217;t really have a Windows computer sitting around I needed to make it work for Linux.  The good news here is that NAnt gives us the ability to build stuff against the Mono runtime and find out what operating system we&#8217;re running on.</p>
<p>The first thing we need to do is to find out what operating system the build script is running on.  We also need to set that to a property so that we can run tests against it later in the script.</p>
<pre class="brush: xml;">&lt;property name=&quot;build.os&quot; value=&quot;${operating-system::get-platform(
          environment::get-operating-system())}&quot; /&gt;</pre>
<p>As you can see, we create a property called &#8216;build.os&#8217; which contains the PlatformID of the operating system we&#8217;re running the build script on.  With that in mind, we need to also create a new property for our folder/file separator, because Linux uses the forward slash (/) while Windows uses the backward slash (\).</p>
<pre class="brush: xml;">&lt;property name=&quot;file.sep&quot; value=&quot;&quot; /&gt;

  &lt;if test=&quot;${build.os == 'Unix'}&quot; &gt;
     &lt;property name=&quot;file.sep&quot; value=&quot;/&quot; /&gt;
  &lt;/if&gt;</pre>
<p>Pay attention to the if statement in the above code sample, the test part contains a reference to our &#8216;build.os&#8217; property we defined earlier.  We default the slash to the backward slash (backslash), and then if we&#8217;re running on Linux (the PlatformID refers to Unix when running on Linux), change the &#8216;file.sep&#8217; property the forward slash.</p>
<p>So how do we tell it do something that&#8217;s for a Windows build only? Well, we just modify the test part of the if task slightly with:</p>
<pre class="brush: xml;">&lt;if test=&quot;${build.os != 'Unix'}&quot;&gt; &lt;!-- Build on Windows --&gt;</pre>
<p>We&#8217;re just changing the &#8216;==&#8217; to &#8216;!=&#8217; (which means &#8220;not equals&#8221;).  So now you can go through a build script, and put anything that is Windows specific under the appropriate IF tests, and do the same with the Linux specific stuff.</p>
<p>If you want to look at my build script to see how I handled things, please feel free to look at it, you can find a copy over on the <a href="http://github.com/mkoby/TwitterNET/blob/ab1f999c16dd14a0403e2058032d0910fd05918b/TwitterNET.build">TwitterNet GitHub page</a>.</p>
<p>There are a couple of gotchas though when doing builds on Linux with Mono.  The first is that there is no msbuild equivalent in Mono.  There is <a href="http://www.mono-project.com/Microsoft.Build">xbuild</a>, but I was unable to get it to work, I think this was because my solution and csproj files are from Visual Studio 2008.  What this means for you the user is that you have to make a direct call to the mono compiler (usually &#8216;gmcs&#8217; on Ubuntu) and pass the references and each individual file.  So anytime you add a file to the project, you have to manually add it to the Linux part of the build script.</p>
<p>Another gotcha is the fact that things like NUnit need to be run using Mono, so you have to have different &#8216;exec&#8217; tasks to handle the differences.  This also means you&#8217;ll have to make the &#8216;mono&#8217; command the program that gets run in your &#8216;exec&#8217; task and the name of the program being run will become a command line argument.  This does however work nicely, once you have it configured correctly.  I advise looking at my build script to see what I did to make it work.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=FStZ_D8vibA:rZiSoY54U40:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=FStZ_D8vibA:rZiSoY54U40:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=FStZ_D8vibA:rZiSoY54U40:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=FStZ_D8vibA:rZiSoY54U40:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/FStZ_D8vibA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/06/nant-cross-platform-build-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/06/nant-cross-platform-build-scripts/</feedburner:origLink></item>
		<item>
		<title>Question Your Government</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/zC8VCBcdYco/</link>
		<comments>http://www.mkoby.com/2009/09/02/question-your-government/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 23:02:48 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1343</guid>
		<description>A democracy in which the leaders do not fear their constituants (the citizenry) is not a democracy.</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been chewing on some things the past few days.  One of those is Glenn Beck and his recent run in with the liberal left and their smear campaign over the fact that he called Obama a &#8220;racist&#8221; but this is just one piece of a much larger problem.  I think the main issue people have with people like Glenn Beck, myself, and others is that we question our government.  With the government wanting to start socialized health care, people like me ask &#8220;why do we need that, there&#8217;s such a small percentage of people without insurance?&#8221;  People like Glenn Beck wonder why our president, who is in control of deomocratic republic has people who are communists, radicals, and people of questionable pasts in charge of things.  People like me wonder why we have &#8220;czars&#8221; (synonomous with &#8220;emperors&#8221;).</p>
<p>There is a reason why the first amendment of the United States Constitution gives the right of freedom of speech and press (also religion but that&#8217;s not part of today&#8217;s discussion).  It is so that we as citizens can stand up in public and question our government, our leaders, and those spending our tax dollars.  It is the press&#8217;s job to poke, prod, and question our leaders decisions, pasts, and acquantinces.  However, the media, especially outlets like the New York Times, CNN, MSNBC, and other television and newspaper outlets have become little more than mouth pieces of the liberal left.  This isn&#8217;t just my opinion but the opinions of others I know, several who would be decidedly liberal left.  It&#8217;s no secret that the media has a liberal slant.  It&#8217;s no secret the right wingers hate it.  It&#8217;s no secret that people like Glenn Beck, and Bill O&#8217;Reilly give in to sensationalism.  But they aren&#8217;t the only ones.</p>
<p>What I want to see more of is informed debate.  We have so many people yelling and arguing from both sides and they have zero clue what they&#8217;re talking about.  The left say the right&#8217;s uninformed, and the right says the same of the left.  Problem is, they&#8217;re both right and neither side wants to admit it, become educated, and have intelligent conversation that is helpful and informative.  When I go political on this blog, I really try to be informative and not just in attack mode.  I&#8217;m not saying I&#8217;m always successful at it, but I know that I make a concentrated effort to inform, debate, and listen to the other side.  People who know me, know this to be true.</p>
<p>But it all comes back to basic point.  How much do you trust your leaders, especially politicans.  We all know politicans are stereotypically double speakers, yet people who question the president (any president mind you) are looked at as crazy right-wingers, or leftist nutballs.  It is our job as the citizenery to question our government about everything, it is our right to protest publically against that which we don&#8217;t agree with.  We&#8217;re all different and not everyone is going to agree on everything.  I don&#8217;t agree with socialized healthcare, but you might not agree with teaching abstitence in public schools.  We all have different things we&#8217;re passionate about, but it&#8217;s those difference that lead us to compromise.  Problem is, we can&#8217;t compromise if everyone is name calling and yelling at each other.  So instead of yelling at each other as citizens, why don&#8217;t we target our energies at our politicians and leaders and make them understand what&#8217;s important to us.  Question your government, your leaders, make them scared of us (the citizens), we have control.  If you don&#8217;t like what your senators and representatives are doing, vote them out.  Speak with your vote, your petitions, your public assemblies, and your letters.  Call them on their double speak, call them on their indiscrestions, call them on their past affiliations, this stuff needs to take place on both sides.  A democracy in which the leaders do not fear their constituants (the citizenry) is not a democracy.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=zC8VCBcdYco:0P_WP-2Rhus:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=zC8VCBcdYco:0P_WP-2Rhus:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=zC8VCBcdYco:0P_WP-2Rhus:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=zC8VCBcdYco:0P_WP-2Rhus:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/zC8VCBcdYco" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/09/02/question-your-government/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/09/02/question-your-government/</feedburner:origLink></item>
		<item>
		<title>Social Networks &amp; Job Hunting</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/SmDvhX_s-T4/</link>
		<comments>http://www.mkoby.com/2009/08/27/social-networks-job-hunting/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 15:25:36 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1340</guid>
		<description>This really goes to show the power of social networks and having good followers.  I would not have some of the opportunities if it wasn't for my Twitter followers who retweeted my resume and LinkedIn links like wildfire yesterday.  And on Facebook, I was given instructions for no less than 2 companies on how to apply and send my resume, from real people that I know. Not bots or spam people that can you deal with on places like Monster.</description>
			<content:encoded><![CDATA[<p>As noted yesterday, I was laid off from my job recently (yesterday).  After I was laid off, I posted a note to Twitter and Facebook that linked to the <a title="Michael Koby's Resume" href="http://www.mkoby.com/michaelkoby_resume.pdf">PDF version of my resume</a>.  The idea was to cast the widest net possible so I had stuff to look at and people to talk to when I began my job search today.  That link was re-tweeted no less than 7 times by friends and colleagues.  The end result was that, as of this morning 111 people have clicked on that link.  That&#8217;s 111 people that have downloaded and/or viewed my resume.  Since it was a direct PDF link, it can be assumed a large percentage of those people actually saw my resume, because their web browser opened the PDF for view in the web browser itself.</p>
<p>While I haven&#8217;t uploaded my new resume to places like Monster.com or HotJobs, in the past I was lucky if 10-12 people clicked on my resume on those sites.  The difference it has made in my search for a job is this, when I began to call people back, return emails, and Twitter direct messages I had 2 phone calls from two different recruiters, 1 email from a corporate recruiter for a consulting company, and 2 Twitter direct messages about possible jobs.  I went from having zero opportunities at 8am yesterday (when I was laid off) to having at least 4 real possible job opportunities in 24 hours.</p>
<p>This really goes to show the power of social networks and having good followers.  I would not have some of the opportunities if it wasn&#8217;t for my Twitter followers who retweeted my resume and LinkedIn links like wildfire yesterday.  And on Facebook, I was given instructions for no less than 2 companies on how to apply and send my resume, from real people that I know. Not bots or spam people that can you deal with on places like Monster.</p>
<p>Remember, next time you&#8217;re looking for a job, look to your social networks, a lot of good can come from them.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=SmDvhX_s-T4:t029HViUE1o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=SmDvhX_s-T4:t029HViUE1o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=SmDvhX_s-T4:t029HViUE1o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=SmDvhX_s-T4:t029HViUE1o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/SmDvhX_s-T4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/27/social-networks-job-hunting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/27/social-networks-job-hunting/</feedburner:origLink></item>
		<item>
		<title>Laid Off Today</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/m5nUshPMz5Y/</link>
		<comments>http://www.mkoby.com/2009/08/26/laid-off-today/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 18:52:55 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[job hunting]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[unemployment]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1336</guid>
		<description>This morning at 8am, I was officially laid off from my job with Sogeti USA (Houston office).  To say it was a shock would be a lie, things just weren&amp;#8217;t going well where I was involved (lack of billing, hard to place, etc) and I saw the writing on the wall long before this proverbial [...]</description>
			<content:encoded><![CDATA[<p>This morning at 8am, I was officially laid off from my job with Sogeti USA (Houston office).  To say it was a shock would be a lie, things just weren&#8217;t going well where I was involved (lack of billing, hard to place, etc) and I saw the writing on the wall long before this proverbial axe came down.  I hold no ill will towards them, and this lay off had nothing to do with me personally.</p>
<p>So tomorrow I begin the hunt for the ever elusive animal known as &#8220;employment&#8221; and in these troubled times the animal might prove truely elusive.  Time will tell though.  The good news is, that after the layoff I sent my resume out to some people internally and out to some social networks via a link (<a title="Michael Koby's Resume" href="http://www.mkoby.com/michaelkoby_resume.pdf">Michael Koby&#8217;s Resume</a> in PDF), and this has already beared some fruit.  Hopfully that &#8220;fruit&#8221; will grow into interviews and eventually (and hopefully sooner rather than later) offers for employment.</p>
<p>In the mean time, I will get to spend a little more time with my 5 month old son, work on some Android programming, and continue to improve my development skills.</p>
<p>Again, you cam find my resume at the link below.  Please feel free to download it, review it, and pass it around.  Especially if you live in the Houston area.</p>
<p><a title="Michael Koby's Resume" href="http://www.mkoby.com/michaelkoby_resume.pdf">Michael Koby&#8217;s Resume</a> (PDF file)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=m5nUshPMz5Y:JRkgc5Dd9-A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=m5nUshPMz5Y:JRkgc5Dd9-A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=m5nUshPMz5Y:JRkgc5Dd9-A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=m5nUshPMz5Y:JRkgc5Dd9-A:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/m5nUshPMz5Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/26/laid-off-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/26/laid-off-today/</feedburner:origLink></item>
		<item>
		<title>Is Facebook Winning the OpenID War?</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/yfxByR6jPE8/</link>
		<comments>http://www.mkoby.com/2009/08/25/is-facebook-winning-the-openid-war/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 13:38:41 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[single signon]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1333</guid>
		<description>My question is, "Is Facebook winning the OpenID war?". Not that there is really a war going on persey.  I'm sure some people will make the argument that the two technologies are different (and on some level they very much are), but from a end user perspective they accomplish a similar goal and since a lot of people already have Facebook accounts the userbase for Facebook Connect is larger than OpenID.</description>
			<content:encoded><![CDATA[<p>I surf the internet a lot.  It&#8217;s not really a secret.  I read a lot of sites on a variety of topics.  One thing I have noticed more of as I browse various sites is the &#8220;Facebook Connect&#8221; icon (<img class="alignnone" title="Facebook Connect icon" src="http://static.ak.fbcdn.net/rsrc.php/z6MJW/hash/9cymg7nd.gif" alt="" width="89" height="21" />).  It might be a small variation on that image, but I&#8217;m seeing in more and more places.</p>
<p>A few years ago, there was a large push behind <a title="OpenID" href="http://openid.net/">OpenID</a>.  OpenID, worked in  a similar way that Facebook does.  A website could set up a way to authenticate a user via an outside source, allowing the user to have a single password that they had to remember.  The idea behind this is that the one password that would be remembered would be incredibly strong.  But the user could connect to a website without having to signup for an account because the OpenID login was their login.  Facebook Connect works exactly like OpenID does, a person can log into a site using their Facebook credentials, thus allowing them to not have to remember a different password and create a new account on yet another webpage.</p>
<p>My question is, &#8220;Is Facebook winning the OpenID war?&#8221;. Not that there is really a war going on persey.  I&#8217;m sure some people will make the argument that the two technologies are different (and on some level they very much are), but from a end user perspective they accomplish a similar goal and since a lot of people already have Facebook accounts the userbase for Facebook Connect is larger than OpenID.  While some of the underlying technology is different, if the end result is the same from a user perspective, what incentive is there for a user to choose to get an OpenID when their Facebook credentials will work just fine?  Also, from a programmer&#8217;s perspective why implement OpenID when I can implement Facebook Connect and achieve a similar result?</p>
<p>Long term, I think Facebook might win out in this &#8220;single sign-on&#8221; war.  Microsoft tried but it really hasn&#8217;t won.  The only place you use your Live ID to log in is a Microsoft site.  Facebook Connect and OpenID are used in more places.  Time&#8217;s going to tell the true winner on this one but what do you think?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yfxByR6jPE8:j5ZzfZyE1x4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yfxByR6jPE8:j5ZzfZyE1x4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=yfxByR6jPE8:j5ZzfZyE1x4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yfxByR6jPE8:j5ZzfZyE1x4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/yfxByR6jPE8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/25/is-facebook-winning-the-openid-war/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/25/is-facebook-winning-the-openid-war/</feedburner:origLink></item>
		<item>
		<title>Michael Koby’s Most Used Paid iPhone Apps</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/yOOrydR_6K8/</link>
		<comments>http://www.mkoby.com/2009/08/24/michael-kobys-most-used-paid-iphone-apps/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 17:35:54 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1321</guid>
		<description>A few days ago we looked at the free iPhone apps I used the most, today we're going to look at the paid apps that I use.</description>
			<content:encoded><![CDATA[<p>A few days ago we looked at the free iPhone apps I used the most, today we&#8217;re going to look at the paid apps that I use.</p>
<p><a title="Tweetie - iPhone" href="http://www.atebits.com/tweetie-iphone/">Tweetie</a> ($2.99) &#8211; Hands down the most used app I have on my iPhone.  Not to mention, the best Twitter app on the iPhone.  I&#8217;ve tried all the more popular iPhone Twitter apps: Twitterific, TwitterFon, TweetDeck, Twitterlator Pro, etc and Tweetie wins hands down.  I&#8217;m anxiously awaiting the newest version which the author of the app says will &#8220;awesome&#8221; (but you know developers, we like to say &#8220;awesome&#8221; a lot).  If you&#8217;re looking for a Twitter app, look no further than Tweetie.  It&#8217;s rock solid (I don&#8217;t recall it ever crashing on me).</p>
<p><a title="Beejive iPhone/iPod Touch" href="http://www.beejive.com/iphone/">Beejive IM</a> ($9.99) &#8211; If you do instant messaging like do, then you&#8217;ll need a good IM application for your iPhone.  Coming from the BlackBerry world, I was happy to learn that Beejive had an iPhone version of they&#8217;re application.  I was even more excited to learn that it was going to be one of the first to get push notifications.  Now my wife and my friends can get a hold me no matter where I am.</p>
<p><a title="Byline - iPhone RSS Reader" href="http://www.phantomfish.com/byline.html">Byline</a> ($4.99) &#8211; I read a lot of websites throughout the day and as such I subscribe to and watch a lot of RSS feeds.  A large part of my news reading takes place in <a title="Google Reader" href="http://www.google.com/reader">Google Reader</a> so it stands to reason that my iPhone RSS reader has to connect and sync with Google Reader.  Byline not only connects to Google Reader but will cache my starred items for future reading offline.  It will also cache unread articles for offline reading as well.  This makes it a must if you&#8217;re ever in a place where you can&#8217;t get cell or WiFi signal.  If you read RSS feeds and do so through Google Reader, then you really need to give Byline a shot.  It&#8217;s worth the price.</p>
<p><a title="BuddyFeed - iPhone FriendFeed Client" href="http://www.codewalrus.com/buddyfeed/">BuddyFeed</a> ($2.99) &#8211; As noted earlier, I twitter a lot, and having used and liked <a title="FriendFeed" href="http://www.friendfeed.com">FriendFeed</a> in the past I wanted to make more of an effort to use it regularly.  Enter BuddyFeed, the more popular FriendFeed client for the iPhone.  It allows you to do most of the basic features you&#8217;d need in a FriendFeed client like post a new item, comment, like, and profile lookups.  It&#8217;s very easy to navigate and allows one get value out of FriendFeed fairly easily.  While FriendFeed hasn&#8217;t caught on with the mainstream, this will change due to its recent purchase by Facebook.</p>
<p><a title="Peggle" href="http://www.popcap.com/games/peggle">Peggle</a> ($4.99) &#8211; I bought this game because it&#8217;s fun and it was on sale for two dollars.  This is an addicting game and if you&#8217;ve never played it, I suggest downloading the demo onto your computer and giving it a try.  It might seem hokey with the unicorns and other wooded creatures, but it&#8217;s addictive as all heck.  My wife even steals my iPhone on occasion so she can play this game.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yOOrydR_6K8:HTPDeQAPWag:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yOOrydR_6K8:HTPDeQAPWag:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=yOOrydR_6K8:HTPDeQAPWag:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=yOOrydR_6K8:HTPDeQAPWag:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/yOOrydR_6K8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/24/michael-kobys-most-used-paid-iphone-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/24/michael-kobys-most-used-paid-iphone-apps/</feedburner:origLink></item>
		<item>
		<title>Why Apple Should Fear (But Also Embrace) Google</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/Rgq_1wvBvWg/</link>
		<comments>http://www.mkoby.com/2009/08/24/why-apple-should-fear-but-also-embrace-google/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 13:30:41 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google voice]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1331</guid>
		<description>And with that in mind, there is this one simple fact: mobile application developers can survive without Apple and it's iPhone.  The did for years before there was an iPhone.  With more mobile platforms now than before, a mobile application developer has a lot of choices: Android, Windows Mobile, Palm's WebOS, and even Symbian.  What Apple can't do is support the App Store without it's application developers.</description>
			<content:encoded><![CDATA[<p>Late last week, both <a title="TechCrunch's Review of AT&amp;T's FCC Response on Google Voice iPhone App" href="http://www.techcrunch.com/2009/08/21/att-to-fcc-we-did-not-block-the-google-voice-app-on-the-iphone/">AT&amp;T</a> and <a title="TechCrunch's Review of Apple's FCC Response on Google Voice iPhone App" href="http://www.techcrunch.com/2009/08/21/apples-response-to-the-fcc-we-didnt-reject-the-google-voice-app-were-still-looking-at-it/">Apple</a> released there responses to the FCC inquiry regarding the Google Voice iPhone application.  Also, <a title="Apple Afraid Google is Taking Over the iPhone" href="http://www.theiphoneblog.com/2009/08/22/apple-afraid-google-iphone/">The iPhone Blog</a>, released an article about Apple being afraid that Google is taking over the iPhone.  It is an interesting concept, Apple being afraid of Google and it makes one question where things are going on a technology front.</p>
<p>Let&#8217;s review: Apple released an extremely popular phone, the iPhone.  It is used by both seasoned geeks and teenage hipsters looking to be &#8220;cool&#8221; to their friends and classmates.  It has gone from having zero market share to having a nice worldwide market share in just 3 years (still not beating Nokia but Apple still has some impressive numbers).  Google, in it&#8217;s &#8220;don&#8217;t be evil&#8221; way, managed to land 2 native iPhone applications at launch: Google Maps and YouTube.  Not only are these apps native, but they are extremely popular.  Also, Google has two top 50 apps in the iPhone App Store (Google Mobile and Google Earth), and the recent release of the Google Latitude web app Google has an impressive array of applications for use on the iPhone.</p>
<p>So is the rejection of the Google Voice iPhone app a result of fear from Apple about Google taking over the iPhone?  Could be.  But while Apple might be starting to fear Google&#8217;s apps on their platform, they should embrace Google.  Why?  Geeks (and the general public) love Google.  They like what they see Google doing.  People pay attention to Google.  Michael Arrington of TechCrunch recently dropped his iPhone over this whole Google Voice debacle.  Apple needs to realize that they have a platform that people like to develop for, and it behoves them to allow as many developers as possible onto that platform.  Aside from blocking obvious pornography apps (and that is another debate all together), Apple needs to stand aside and let people develop and release apps to their device.</p>
<p>It makes sense for Google to target the iPhone even though they have the Android platform.  The iPhone is a popular device, lots of people have one, so targeting apps at it has a good pay off.  And with that in mind, there is this one simple fact: mobile application developers can survive without Apple and it&#8217;s iPhone.  The did for years before there was an iPhone.  With more mobile platforms now than before, a mobile application developer has a lot of choices: Android, Windows Mobile, Palm&#8217;s WebOS, and even Symbian.  What Apple can&#8217;t do is support the App Store without it&#8217;s application developers.  Make enough of them angry, especially big ones like Google, Apple runs the risk of losing quality application developers and thus loses quality applications on their platform.</p>
<p>So while Apple might be scared that Google has so many good applications for the iPhone, they should just let it go and accept it.  Apple doesn&#8217;t want to lose Google as a App Store developer, because you treat a big company like Google badly, smaller developers will begin to question how viable developing for the iPhone is and move elsewhere. Apple needs to get over it, be more accepting of apps on their platform, and make everyone happy.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=Rgq_1wvBvWg:t4RNFfzgatc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=Rgq_1wvBvWg:t4RNFfzgatc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=Rgq_1wvBvWg:t4RNFfzgatc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=Rgq_1wvBvWg:t4RNFfzgatc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/Rgq_1wvBvWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/24/why-apple-should-fear-but-also-embrace-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/24/why-apple-should-fear-but-also-embrace-google/</feedburner:origLink></item>
		<item>
		<title>Daily Link Posts</title>
		<link>http://feedproxy.google.com/~r/AlmostNotYet/~3/PpO_dBkyyrc/</link>
		<comments>http://www.mkoby.com/2009/08/23/daily-link-posts/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 19:46:25 +0000</pubDate>
		<dc:creator>Michael Koby</dc:creator>
				<category><![CDATA[Daily Links]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[posting]]></category>
		<category><![CDATA[website updates]]></category>

		<guid isPermaLink="false">http://www.mkoby.com/?p=1328</guid>
		<description>As of this weekend, I have stopped the automatic daily posting of my Delicious bookmarks to this blog.  I did this for a couple of reasons.  The first being is that it was over-running my blog and covered a little less than one third of my total posts.  The second reason is I&amp;#8217;m not sure [...]</description>
			<content:encoded><![CDATA[<p>As of this weekend, I have stopped the automatic daily posting of <a title="mkoby's Delicious Bookmarks" href="http://delicious.com/mkoby">my Delicious bookmarks</a> to this blog.  I did this for a couple of reasons.  The first being is that it was over-running my blog and covered a little less than one third of my total posts.  The second reason is I&#8217;m not sure how much value it was bringing overall.  I know a couple of people that linked to my &#8220;Daily Links&#8221; category and they should not worry as the category is not going away.</p>
<p>What does this mean long term?  What I will probably do is move to doing a regular but less frequent link blog post.  I&#8217;m hoping for once a week, but it might be every 2-3 weeks depending on the amount of links I find that are post worthy.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=PpO_dBkyyrc:0AEadBnO_hY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=PpO_dBkyyrc:0AEadBnO_hY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?i=PpO_dBkyyrc:0AEadBnO_hY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlmostNotYet?a=PpO_dBkyyrc:0AEadBnO_hY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlmostNotYet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlmostNotYet/~4/PpO_dBkyyrc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mkoby.com/2009/08/23/daily-link-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mkoby.com/2009/08/23/daily-link-posts/</feedburner:origLink></item>
	</channel>
</rss>
