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

<channel>
	<title>Vlad Alexa&#039;s Blog &#187; software</title>
	<atom:link href="http://blog.vladalexa.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vladalexa.com</link>
	<description>software , networks , apple , open source</description>
	<lastBuildDate>Thu, 15 Jul 2010 22:38:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>iphone signal testing with code</title>
		<link>http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=iphone-signal-testing-with-code</link>
		<comments>http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 16:39:48 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[CoreTelephony]]></category>
		<category><![CDATA[deathgrip]]></category>
		<category><![CDATA[signal]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=354</guid>
		<description><![CDATA[Closest cell tower 1 Km, iPhone 3G, Wi-fi mode, iOS 4.0, Orange network. With device held gently by edges: signal avg 90 (outdoors, line of sight to cell tower, same altitude) signal avg 8O (indoors, line of sight to cell tower, same altitude) signal avg 60 (indoors, no line of sight to cell tower, same [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-356" title="Icon@2x" src="http://blog.vladalexa.com/wp-content/uploads/2010/07/Icon@2x.png" alt="" width="114" height="114" /></p>
<p>Closest cell tower 1 Km, iPhone 3G, Wi-fi mode, iOS 4.0, Orange network.</p>
<p>With device held gently by edges:</p>
<p>signal avg 90 (outdoors, line of sight to cell tower, same altitude)<br />
signal avg 8O (indoors, line of sight to cell tower, same altitude)<br />
signal avg 60 (indoors, no line of sight to cell tower, same altitude)<br />
signal avg 4O (outdoors, no line of sight to cell tower, ground level)</p>
<p>With device cradled in hand a average decrease of signal by about 20 in all cases and whatever finger configuration.</p>
<p>Turning 3G on causes a average decrease of signal by 5 in all cases.</p>
<p>The connection strength bars shows 5 bars in all cases.</p>
<p>Absolute minimum experienced : 19, absolute maximum 96.</p>
<p>The thing to take away from all this is that if  you already had a very bad connection under 20 and subtract the hand attenuation of about 20 you are left with no signal, and it did not hep that until iOS 4.0.1  a bad connection with a 20 strength would have shown 4 or even 5 bars.</p>
<p>The application used to test gets the signal strength from private calls to apple&#8217;s CoreTelephony framework, in a effort to help the iphone signal testing going on share a common base i am providing the application to anyone, please let me know what are the results of your tests and feel free to contribute to the code on github.</p>
<p>The application is named  VAFieldTest , it&#8217;s code is under a open source license and can be found at <a href="http://github.com/valexa/VAFieldTest">http://github.com/valexa/VAFieldTest</a> , you need Xcode and a iPhone developer account to compile and run it.</p>
<p><strong>iOS 4.0.1 update<br />
<span style="font-weight: normal;">same behavior as before, with the difference that now the connection bars properly reflect changes in the strength (I 1-19, II 20-29, III 30-39, IIII 40-49, IIIII 50-99 ) , with previous versions they just show 5 bars for any signal strengths above 25.</span></strong></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;title=iphone+signal+testing+with+code" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;t=iphone+signal+testing+with+code" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=iphone+signal+testing+with+code&amp;body=Link: http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0A%0D%0AClosest%20cell%20tower%201%20Km%2C%20iPhone%203G%2C%20Wi-fi%20mode%2C%20iOS%204.0%2C%20Orange%20network.%0D%0A%0D%0AWith%20device%20held%20gently%20by%20edges%3A%0D%0A%0D%0Asignal%20avg%2090%20%28outdoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%208O%20%28indoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%2060%20%28indoors%2C%20no%20line%20of%20sight%20to%20" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;title=iphone+signal+testing+with+code&amp;srcUrl=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;srcTitle=iphone+signal+testing+with+code&amp;snippet=%0D%0A%0D%0AClosest%20cell%20tower%201%20Km%2C%20iPhone%203G%2C%20Wi-fi%20mode%2C%20iOS%204.0%2C%20Orange%20network.%0D%0A%0D%0AWith%20device%20held%20gently%20by%20edges%3A%0D%0A%0D%0Asignal%20avg%2090%20%28outdoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%208O%20%28indoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%2060%20%28indoors%2C%20no%20line%20of%20sight%20to%20" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;t=iphone+signal+testing+with+code" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;title=iphone+signal+testing+with+code&amp;summary=%0D%0A%0D%0AClosest%20cell%20tower%201%20Km%2C%20iPhone%203G%2C%20Wi-fi%20mode%2C%20iOS%204.0%2C%20Orange%20network.%0D%0A%0D%0AWith%20device%20held%20gently%20by%20edges%3A%0D%0A%0D%0Asignal%20avg%2090%20%28outdoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%208O%20%28indoors%2C%20line%20of%20sight%20to%20cell%20tower%2C%20same%20altitude%29%0D%0Asignal%20avg%2060%20%28indoors%2C%20no%20line%20of%20sight%20to%20&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;title=iphone+signal+testing+with+code" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=iphone+signal+testing+with+code+-+http://tinyurl.com/2wnceer&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/&amp;title=iphone+signal+testing+with+code" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2010/07/07/iphone-signal-testing-with-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enforcing iAd implementations</title>
		<link>http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=enforcing-iad-implementations</link>
		<comments>http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 18:29:57 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[iAd]]></category>
		<category><![CDATA[IAP]]></category>
		<category><![CDATA[Storekit]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=337</guid>
		<description><![CDATA[There seems to be a significant issue with the iAd implementation at the moment, the ads themselves are not cached on the operating system, and that has two major implications: 1 &#8211; ads can be disabled by the user by just turning off the network connection 2 &#8211; the user has incentive to disable ads [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-338" title="deadiad" src="http://blog.vladalexa.com/wp-content/uploads/2010/07/deadiad.png" alt="" width="196" height="185" /><br />
There seems to be a significant issue with the iAd implementation at the moment, the ads themselves are not cached on the operating system, and that has two major implications:<br />
1 &#8211; ads can be disabled by the user by just turning off the network connection<br />
2 &#8211; the user has incentive to disable ads under pricy data plans as every load adds to their data quota</p>
<p>To a developer this gives a strong incentive to both give the user the ability to purchase a removal of ads and make sure the user does not turn adds off otherwise (i am even starting to see <a href="http://ipadtimes.tumblr.com/post/763677233/why-youll-pay-to-watch-ads-on-the-iphone-and-ipad">places</a> advising users to do so) i will go on showing how to do both and all the code is given as a xcode project attached.</p>
<p>Wether you have a free application and your business model depends solely on iAd&#8217;s or you monetize in other ways, if you implemented iAd you have to acknowledge the next thing:<br />
People will want to remove the ads if at all possible, if you implemented iAd you should also allow the user to make an in app purchase for removing the ads, i will also show you how to do that in the code attached as a xcode project.</p>
<p><img class="alignright size-full wp-image-339" title="block screen" src="http://blog.vladalexa.com/wp-content/uploads/2010/07/block.png" alt="" width="209" height="378" /><br />
Do not get me wrong, i believe that some of the users will make the right choice and pay compensation in return of removing the ads if you give them that option, but a lot of the people will make the choice of depriving you of your ad income if they can make them stop loading.<br />
So i will also show you how to implement a way to check if a ad was loaded after a amount of time and effectively disable the application otherwise, you can find the code in the xcode project attached.</p>
<p>I want to end with saying that this is clearly not a ideal situation and i hope that Apple will move quickly to address both issues 1 and 2 from within the operating system which would make a lot of sense and is a case of how they should have leveraged the fact that they built it within the operating system in the first place.</p>
<p>Now i will give you some details about the code, it supports all interface orientations, all devices, it requires 2 frameworks (iAd and StoreKit with iAd being weak linked) , the bulk of the code is in iAdAppViewController, this is the only one you need to edit to suit your interface and change <em>com.foo.bar.removeads</em> to your ProductID, besides that there is a PaymentObserver class that handles the in-app purchasing.</p>
<p>AdAppViewController must implement the PaymentObserverDelegate and ADBannerViewDelegate protocols, it subclasses <strong>viewDidLoad</strong> to do the initializations, <strong>viewDidAppear</strong> to position the elements, <strong>adLoadCheck</strong> to check if the ad was loaded, <strong>adsButtonPressed </strong>for when the user buys, <strong>removedAdsPurchased </strong>for when the purchase is confirmed, <strong>bannerViewDidLoadAd </strong>fires when an ad loads and <strong>willAnimateRotationToInterfaceOrientation </strong>when the device orientation is changed, <strong>resizeBanner</strong> is the code called to position/reposition the ad and the other elements in your interface.</p>
<p>ADBannerView *adBanner is the banner itself,  UIButton *adButton is the button above the ad to purchase ad removal, UIView *adBlockView is the view presented over the interface as shown in the image to the right.</p>
<p>I will not go into more detail than this other than to say it was all tested and should work as expected, but i did not implement this myself and i give no absolute guarantees , if you have any specific question leave it as a comment.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;title=enforcing+iAd+implementations" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;t=enforcing+iAd+implementations" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=enforcing+iAd+implementations&amp;body=Link: http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0AThere%20seems%20to%20be%20a%20significant%20issue%20with%20the%20iAd%20implementation%20at%20the%20moment%2C%20the%20ads%20themselves%20are%20not%20cached%20on%20the%20operating%20system%2C%20and%20that%20has%20two%20major%20implications%3A%0D%0A1%20-%20ads%20can%20be%20disabled%20by%20the%20user%20by%20just%20turning%20off%20the%20network%20connection%0D%0A2%20-%20the%20user%20has%20incentive%20to%20disable%20ad" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;title=enforcing+iAd+implementations&amp;srcUrl=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;srcTitle=enforcing+iAd+implementations&amp;snippet=%0D%0AThere%20seems%20to%20be%20a%20significant%20issue%20with%20the%20iAd%20implementation%20at%20the%20moment%2C%20the%20ads%20themselves%20are%20not%20cached%20on%20the%20operating%20system%2C%20and%20that%20has%20two%20major%20implications%3A%0D%0A1%20-%20ads%20can%20be%20disabled%20by%20the%20user%20by%20just%20turning%20off%20the%20network%20connection%0D%0A2%20-%20the%20user%20has%20incentive%20to%20disable%20ad" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;t=enforcing+iAd+implementations" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;title=enforcing+iAd+implementations&amp;summary=%0D%0AThere%20seems%20to%20be%20a%20significant%20issue%20with%20the%20iAd%20implementation%20at%20the%20moment%2C%20the%20ads%20themselves%20are%20not%20cached%20on%20the%20operating%20system%2C%20and%20that%20has%20two%20major%20implications%3A%0D%0A1%20-%20ads%20can%20be%20disabled%20by%20the%20user%20by%20just%20turning%20off%20the%20network%20connection%0D%0A2%20-%20the%20user%20has%20incentive%20to%20disable%20ad&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;title=enforcing+iAd+implementations" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=enforcing+iAd+implementations+-+http://tinyurl.com/23unrrc&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/&amp;title=enforcing+iAd+implementations" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

<div class="attachments"><dl class="attachments attachments-large"><dt class="icon"><a title="iAdApp" href="?aid=340&pid=337&sa=0"><img src="http://blog.vladalexa.com/wp-content/plugins/eg-attachments/images/zip.png" width="48" height="48" alt="" /></a></dt><dd class="caption"><strong>Title: </strong><a title="iAdApp" href="?aid=340&pid=337&sa=0">iAdApp</a><br /><strong>Caption: </strong>source code<br /><strong>File: </strong>iAdApp.zip<br /><strong>Size: </strong>59 kB</dd></dl></div>]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2010/07/04/enforcing-iad-implementations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>what the sparkle doc&#8217;s won&#8217;t tell you</title>
		<link>http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=what-the-sparkle-docs-wont-tell-you</link>
		<comments>http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 23:21:40 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[sparkle]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=270</guid>
		<description><![CDATA[Sparkle is the updates framework for cocoa that &#8220;just works&#8221; , yea ok it does , however the documentation for it is a bit lacking on some very important aspects that i discovered over time : 1 &#8211; the preferences for your application must have SUAutomaticallyUpdate TRUE for autoupdates to happen , just setting SUEnableAutomaticChecks [...]]]></description>
			<content:encoded><![CDATA[<p>Sparkle is the updates framework for cocoa that &#8220;just works&#8221; , yea ok it does , however the documentation for it is a bit lacking on some very important aspects that i discovered over time :</p>
<p>1 &#8211; the preferences for your application must have SUAutomaticallyUpdate  TRUE for autoupdates to happen , just setting SUEnableAutomaticChecks TRUE in the app&#8217;s Info.plist is not enough ,</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #7332a8;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>NSUserDefaults<span style="color: #000000;"> *defaults = [</span>NSUserDefaults<span style="color: #000000;"> </span><span style="color: #410d80;">standardUserDefaults</span><span style="color: #000000;">];</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #cc2324;"><span style="color: #000000;"><span style="white-space: pre;"> </span>[defaults </span><span style="color: #410d80;">setBool</span><span style="color: #000000;">:</span><span style="color: #b80ca1;">YES</span><span style="color: #000000;"> </span><span style="color: #410d80;">forKey</span><span style="color: #000000;">:</span>@"SUAutomaticallyUpdate"<span style="color: #000000;">];<span style="white-space: pre;"> </span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;"> </span>[defaults <span style="color: #410d80;">synchronize</span>];<span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;">OR</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #7332a8;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>SUUpdater<span style="color: #000000;"> *updater = [</span>SUUpdater<span style="color: #000000;"> </span><span style="color: #410d80;">updaterForBundle</span><span style="color: #000000;">:[</span>NSBundle<span style="color: #000000;"> </span><span style="color: #410d80;">mainBundle</span><span style="color: #000000;">]];</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="color: #000000;"><span style="white-space: pre;"> </span>[updater </span>setAutomaticallyChecksForUpdates<span style="color: #000000;">:</span><span style="color: #b80ca1;">YES</span><span style="color: #000000;">];</span></p>
<p>OR</p>
<p>create a checkbox in the preferences of your app to toggle it on , unless you do that you have to use one of the methods above directly in code.</p>
<p><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">2 &#8211; since 1.0 sparkle implemented sparkle:shortVersionString to match CFBundleShortVersionString , the problem however is that it is only used when it also sees a different version in sparkle:version , for example if your app has</span></p>
<p><strong> CFBundleVersion 1<br />
CFBundleShortVersionString 1.1</strong><br />
and the appcast has<br />
<strong> sparkle:version=&#8221;1&#8243;<br />
sparkle:shortVersionString=&#8221;1.2&#8243;<br />
<span style="font-weight: normal;">sparkle will say you have the latest version , it only uses shortVersionString if  version differs from CFBundleVersion</span></strong></p>
<p>3 &#8211; some times you might also want to force a update , either when the user clicks a Update Now button or when the application launches</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #7332a8;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>SUUpdater<span style="color: #000000;"> *updater = [</span>SUUpdater<span style="color: #000000;"> </span><span style="color: #410d80;">updaterForBundle</span><span style="color: #000000;">:[</span>NSBundle<span style="color: #000000;"> </span><span style="color: #410d80;">mainBundle</span><span style="color: #000000;">]];<span style="white-space: pre;"> </span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="color: #000000;"><span style="white-space: pre;"> </span>[updater </span>checkForUpdates<span style="color: #000000;">:</span><span style="color: #b80ca1;">nil</span><span style="color: #000000;">];</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="white-space: pre;"><span style="color: #000000;">OR</span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="color: #000000;"><span style="white-space: pre;"> </span>[updater </span>setAutomaticallyDownloadsUpdates<span style="color: #000000;">:</span><span style="color: #b80ca1;">NO</span><span style="color: #000000;">];</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="color: #000000;"><span style="white-space: pre;"> </span>[updater </span>checkForUpdatesInBackground<span style="color: #000000;">];</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #410d80;"><span style="color: #000000;"><br />
</span></p>
<p>Both check for a update , however the first way also notifies the user if the current version is the latest one , so should only be triggered from a user action.</p>
<p>The second can be ran transparently on startup as it will not alert the user unless there is a new update , remember to set automaticallydownloadupdates off , or else the updates will only get downloaded and never installed (bug in Sparkle 1.5 b6)</p>
<p>EDIT: the bug has been confirmed for 1.5 b6 by Andy Matuschak , it is fixed in the github sources however <a href="http://github.com/andymatuschak/Sparkle/">http://github.com/andymatuschak/Sparkle/</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;title=what+the+sparkle+doc%27s+won%27t+tell+you" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;t=what+the+sparkle+doc%27s+won%27t+tell+you" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=what+the+sparkle+doc%27s+won%27t+tell+you&amp;body=Link: http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A Sparkle%20is%20the%20updates%20framework%20for%20cocoa%20that%20%22just%20works%22%20%2C%20yea%20ok%20it%20does%20%2C%20however%20the%20documentation%20for%20it%20is%20a%20bit%20lacking%20on%20some%20very%20important%20aspects%20that%20i%20discovered%20over%20time%20%3A%0D%0A%0D%0A1%20-%20the%20preferences%20for%20your%20application%20must%20have%20SUAutomaticallyUpdate%20%20TRUE%20for%20autoupdates%20to%20happen%20%2C" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;title=what+the+sparkle+doc%27s+won%27t+tell+you&amp;srcUrl=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;srcTitle=what+the+sparkle+doc%27s+won%27t+tell+you&amp;snippet=Sparkle%20is%20the%20updates%20framework%20for%20cocoa%20that%20%22just%20works%22%20%2C%20yea%20ok%20it%20does%20%2C%20however%20the%20documentation%20for%20it%20is%20a%20bit%20lacking%20on%20some%20very%20important%20aspects%20that%20i%20discovered%20over%20time%20%3A%0D%0A%0D%0A1%20-%20the%20preferences%20for%20your%20application%20must%20have%20SUAutomaticallyUpdate%20%20TRUE%20for%20autoupdates%20to%20happen%20%2C" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;t=what+the+sparkle+doc%27s+won%27t+tell+you" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;title=what+the+sparkle+doc%27s+won%27t+tell+you&amp;summary=Sparkle%20is%20the%20updates%20framework%20for%20cocoa%20that%20%22just%20works%22%20%2C%20yea%20ok%20it%20does%20%2C%20however%20the%20documentation%20for%20it%20is%20a%20bit%20lacking%20on%20some%20very%20important%20aspects%20that%20i%20discovered%20over%20time%20%3A%0D%0A%0D%0A1%20-%20the%20preferences%20for%20your%20application%20must%20have%20SUAutomaticallyUpdate%20%20TRUE%20for%20autoupdates%20to%20happen%20%2C&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;title=what+the+sparkle+doc%27s+won%27t+tell+you" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=what+the+sparkle+doc%27s+won%27t+tell+you+-+http://tinyurl.com/39eqybk&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/&amp;title=what+the+sparkle+doc%27s+won%27t+tell+you" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2009/12/13/what-the-sparkle-docs-wont-tell-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>netbeans jarsigner woes</title>
		<link>http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=netbeans-jarsigner-woes</link>
		<comments>http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 11:12:10 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[jarsigner]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=239</guid>
		<description><![CDATA[Ok so this is about the dreaded jarsigner error : unable to sign jar: java.util.zip.ZipException: invalid entry compressed size 99% of the time what that means is your jar is already signed However jarsigner has no way to remove signatures from a jar , but you can do that manually since a jar file is [...]]]></description>
			<content:encoded><![CDATA[<p>Ok so this is about the dreaded jarsigner error :</p>
<blockquote><p>unable to sign jar: java.util.zip.ZipException: invalid entry compressed size</p></blockquote>
<p>99% of the time what that means is your jar is already signed</p>
<p>However jarsigner has no way to remove signatures from a jar , but you can do that manually since a jar file is a zip archive all you have to do is extract it , delete the META-INF directory and repack it.</p>
<p>Personally i use muCommander , you have to do this : shift+F6 (rename to .zip) &gt; enter &gt; del META-INF &gt; enter &gt; shift+F6 (rename back)<br />
It treats archives as standard directories so it automatically handles the unpacking and repacking of the archive transparently</p>
<p>If you are a terminal lover you can run this for the same results:</p>
<blockquote><p>zip -d YourJar.ext &#8220;META-INF*&#8221;</p></blockquote>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 18px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">deleting: META-INF/MANIFEST.MF</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 18px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">deleting: META-INF/CERT.SF</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 18px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">deleting: META-INF/CERT.RSA</div>
<p>Which is going to result in this :<br />
deleting: META-INF/MANIFEST.MF<br />
deleting: META-INF/CERT.SF<br />
deleting: META-INF/CERT.RSA</p>
<div>The reason why i have to go into all this is because unlike Eclipse , Netbeans has no way of building a unsigned android apk (unless you mess about with -sign in nbproject/build-impl.xml) but this should apply and work with any kind of java package signing scenario (except the Maven jarsigner which blissfully has a unsign feature)</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;title=netbeans+jarsigner+woes" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;t=netbeans+jarsigner+woes" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=netbeans+jarsigner+woes&amp;body=Link: http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A Ok%20so%20this%20is%20about%20the%20dreaded%20jarsigner%20error%20%3A%0D%0Aunable%20to%20sign%20jar%3A%20java.util.zip.ZipException%3A%20invalid%20entry%20compressed%20size%0D%0A99%25%20of%20the%20time%20what%20that%20means%20is%20your%20jar%20is%20already%20signed%0D%0A%0D%0AHowever%20jarsigner%20has%20no%20way%20to%20remove%20signatures%20from%20a%20jar%20%2C%20but%20you%20can%20do%20that%20manually%20since%20a%20jar%20f" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;title=netbeans+jarsigner+woes&amp;srcUrl=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;srcTitle=netbeans+jarsigner+woes&amp;snippet=Ok%20so%20this%20is%20about%20the%20dreaded%20jarsigner%20error%20%3A%0D%0Aunable%20to%20sign%20jar%3A%20java.util.zip.ZipException%3A%20invalid%20entry%20compressed%20size%0D%0A99%25%20of%20the%20time%20what%20that%20means%20is%20your%20jar%20is%20already%20signed%0D%0A%0D%0AHowever%20jarsigner%20has%20no%20way%20to%20remove%20signatures%20from%20a%20jar%20%2C%20but%20you%20can%20do%20that%20manually%20since%20a%20jar%20f" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;t=netbeans+jarsigner+woes" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;title=netbeans+jarsigner+woes&amp;summary=Ok%20so%20this%20is%20about%20the%20dreaded%20jarsigner%20error%20%3A%0D%0Aunable%20to%20sign%20jar%3A%20java.util.zip.ZipException%3A%20invalid%20entry%20compressed%20size%0D%0A99%25%20of%20the%20time%20what%20that%20means%20is%20your%20jar%20is%20already%20signed%0D%0A%0D%0AHowever%20jarsigner%20has%20no%20way%20to%20remove%20signatures%20from%20a%20jar%20%2C%20but%20you%20can%20do%20that%20manually%20since%20a%20jar%20f&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;title=netbeans+jarsigner+woes" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=netbeans+jarsigner+woes+-+http://tinyurl.com/33eo49r&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/&amp;title=netbeans+jarsigner+woes" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2009/10/28/netbeans-jarsigner-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apple &#8220;magic&#8221; mouse testing</title>
		<link>http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=apple-magic-mouse-testing</link>
		<comments>http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 18:24:06 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[gestures]]></category>
		<category><![CDATA[magic mouse]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[swipe]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=232</guid>
		<description><![CDATA[Personally i think a gesture enabled mouse is a great move , and am looking forward to seeing it implemented in more mice , besides the mighty mouse i have been using a Logitech Air mouse which has a touch scroll with momentum which i miss dearly when using the mighty mouse , i am [...]]]></description>
			<content:encoded><![CDATA[<p>Personally i think a gesture enabled mouse is a great move , and am looking forward to seeing it implemented in more mice , besides the mighty mouse i have been using a Logitech Air mouse which has a touch scroll with momentum which i miss dearly when using the mighty mouse , i am sure the same will be true about gestures.</p>
<p>But for now i want to touch on some issues with the magic mouse , when it was announced i was hoping a old issue with te apple mouses might have been addressed , that is the inability to hold down both buttons , the mouse registers a left click when a user clicks with both the right and the left fingers pressing.</p>
<p>While the swipe functionality alleviates this a bit there are still a number of 3d applications , games , and browsers that need the old &#8220;poorman&#8217;s swipe&#8221; a left swipe being similar to pressing and holding the right button then pressing the left and vice-versa , but this way of clicking can not be entirely replaced by the swipe feature as you can not swipe and drag for example.</p>
<p>What i do hope is that software developers will start to be aware of gesture enabled mice and of mice lacking 2button hold functionality , or even better mice manufacturers start making mice that implement both features , in any event here is a osx application i wrote for the purpose of testing mouse functionality.<a href="http://blog.vladalexa.com/wp-content/uploads/2009/10/clicktest.png"><img class="aligncenter size-medium wp-image-234" title="clicktest" src="http://blog.vladalexa.com/wp-content/uploads/2009/10/clicktest-413x400.png" alt="clicktest" width="413" height="400" /></a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;title=apple+%22magic%22+mouse+testing" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;t=apple+%22magic%22+mouse+testing" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=apple+%22magic%22+mouse+testing&amp;body=Link: http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A Personally%20i%20think%20a%20gesture%20enabled%20mouse%20is%20a%20great%20move%20%2C%20and%20am%20looking%20forward%20to%20seeing%20it%20implemented%20in%20more%20mice%20%2C%20besides%20the%20mighty%20mouse%20i%20have%20been%20using%20a%20Logitech%20Air%20mouse%20which%20has%20a%20touch%20scroll%20with%20momentum%20which%20i%20miss%20dearly%20when%20using%20the%20mighty%20mouse%20%2C%20i%20am%20sure%20the%20same%20will" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;title=apple+%22magic%22+mouse+testing&amp;srcUrl=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;srcTitle=apple+%22magic%22+mouse+testing&amp;snippet=Personally%20i%20think%20a%20gesture%20enabled%20mouse%20is%20a%20great%20move%20%2C%20and%20am%20looking%20forward%20to%20seeing%20it%20implemented%20in%20more%20mice%20%2C%20besides%20the%20mighty%20mouse%20i%20have%20been%20using%20a%20Logitech%20Air%20mouse%20which%20has%20a%20touch%20scroll%20with%20momentum%20which%20i%20miss%20dearly%20when%20using%20the%20mighty%20mouse%20%2C%20i%20am%20sure%20the%20same%20will" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;t=apple+%22magic%22+mouse+testing" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;title=apple+%22magic%22+mouse+testing&amp;summary=Personally%20i%20think%20a%20gesture%20enabled%20mouse%20is%20a%20great%20move%20%2C%20and%20am%20looking%20forward%20to%20seeing%20it%20implemented%20in%20more%20mice%20%2C%20besides%20the%20mighty%20mouse%20i%20have%20been%20using%20a%20Logitech%20Air%20mouse%20which%20has%20a%20touch%20scroll%20with%20momentum%20which%20i%20miss%20dearly%20when%20using%20the%20mighty%20mouse%20%2C%20i%20am%20sure%20the%20same%20will&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;title=apple+%22magic%22+mouse+testing" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=apple+%22magic%22+mouse+testing+-+http://tinyurl.com/385bg45&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/&amp;title=apple+%22magic%22+mouse+testing" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

<div class="attachments"><dl class="attachments attachments-large"><dt class="icon"><a title="ClickTest.app" href="?aid=233&pid=232&sa=0"><img src="http://blog.vladalexa.com/wp-content/plugins/eg-attachments/images/zip.png" width="48" height="48" alt="" /></a></dt><dd class="caption"><strong>Title: </strong><a title="ClickTest.app" href="?aid=233&pid=232&sa=0">ClickTest.app</a><br /><strong>Caption: </strong>(universal binary , requires OSX 1.5+)<br /><strong>File: </strong>ClickTest.app.zip<br /><strong>Size: </strong>61 kB</dd></dl></div>]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2009/10/22/apple-magic-mouse-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>midnight commander for snow leopard</title>
		<link>http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=midnight-commander-for-snow-leopard</link>
		<comments>http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 12:43:18 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=203</guid>
		<description><![CDATA[Wether you like to have a file manager running as root , need a file manager that can really dig into the guts of the os or are just nostalgic for the good ole 2 pane commanders , either way you got to have mc handy on your brand new 64 bit osx. There are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.vladalexa.com/wp-content/uploads/2009/09/midnight-commander-snow-leopard.png"><img class="alignright size-thumbnail wp-image-206" title="midnight commander snow leopard" src="http://blog.vladalexa.com/wp-content/uploads/2009/09/midnight-commander-snow-leopard-400x265.png" alt="midnight commander snow leopard" width="400" height="265" /></a></p>
<p>Wether you like to have a file manager running as root , need a file manager that can really dig into the guts of the os or are just nostalgic for the good ole 2 pane commanders , either way you got to have mc handy on your brand new 64 bit osx.</p>
<p>There are a number of ways to install it , you can go all out downloading the source and dependences and compile , or take a easy road by means of the macports or fink  packages , however there you might find this way the easiest .</p>
<p>Attached to this post is a zip file with the compiled sources, download and extract it to the root directory of /mc , then open a terminal with 5 tabs , type &#8220;cd&#8221; in each then drag each of the folders to a different tab , press enter in each , then type &#8220;sudo make install&#8221; in each tab , in this order : gettext &gt; pkgconfig &gt; glib &gt; slang &gt; mc.</p>
<p>That&#8217;s all there is to it, delete /mc, now type mc to get your native 64bit mc fix.<a href="http://blog.vladalexa.com/wp-content/uploads/2009/09/mcsl.png"><img class="aligncenter size-medium wp-image-205" title="mcsl" src="http://blog.vladalexa.com/wp-content/uploads/2009/09/mcsl-500x114.png" alt="mcsl" width="500" height="114" /></a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;title=midnight+commander+for+snow+leopard" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;t=midnight+commander+for+snow+leopard" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=midnight+commander+for+snow+leopard&amp;body=Link: http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0A%0D%0AWether%20you%20like%20to%20have%20a%20file%20manager%20running%20as%20root%20%2C%20need%20a%20file%20manager%20that%20can%20really%20dig%20into%20the%20guts%20of%20the%20os%20or%20are%20just%20nostalgic%20for%20the%20good%20ole%202%20pane%20commanders%20%2C%20either%20way%20you%20got%20to%20have%20mc%20handy%20on%20your%20brand%20new%2064%20bit%20osx.%0D%0A%0D%0AThere%20are%20a%20number%20of%20ways%20to%20install%20it%20%2C%20you%20" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;title=midnight+commander+for+snow+leopard&amp;srcUrl=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;srcTitle=midnight+commander+for+snow+leopard&amp;snippet=%0D%0A%0D%0AWether%20you%20like%20to%20have%20a%20file%20manager%20running%20as%20root%20%2C%20need%20a%20file%20manager%20that%20can%20really%20dig%20into%20the%20guts%20of%20the%20os%20or%20are%20just%20nostalgic%20for%20the%20good%20ole%202%20pane%20commanders%20%2C%20either%20way%20you%20got%20to%20have%20mc%20handy%20on%20your%20brand%20new%2064%20bit%20osx.%0D%0A%0D%0AThere%20are%20a%20number%20of%20ways%20to%20install%20it%20%2C%20you%20" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;t=midnight+commander+for+snow+leopard" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;title=midnight+commander+for+snow+leopard&amp;summary=%0D%0A%0D%0AWether%20you%20like%20to%20have%20a%20file%20manager%20running%20as%20root%20%2C%20need%20a%20file%20manager%20that%20can%20really%20dig%20into%20the%20guts%20of%20the%20os%20or%20are%20just%20nostalgic%20for%20the%20good%20ole%202%20pane%20commanders%20%2C%20either%20way%20you%20got%20to%20have%20mc%20handy%20on%20your%20brand%20new%2064%20bit%20osx.%0D%0A%0D%0AThere%20are%20a%20number%20of%20ways%20to%20install%20it%20%2C%20you%20&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;title=midnight+commander+for+snow+leopard" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=midnight+commander+for+snow+leopard+-+http://tinyurl.com/3xen5pe&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/&amp;title=midnight+commander+for+snow+leopard" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

<div class="attachments"><dl class="attachments attachments-large"><dt class="icon"><a title="mc" href="?aid=211&pid=203&sa=0"><img src="http://blog.vladalexa.com/wp-content/plugins/eg-attachments/images/zip.png" width="48" height="48" alt="" /></a></dt><dd class="caption"><strong>Title: </strong><a title="mc" href="?aid=211&pid=203&sa=0">mc</a><br /><strong>Caption: </strong>archive<br /><strong>File: </strong>mc.zip<br /><strong>Size: </strong>53 MB</dd></dl></div>]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2009/09/30/midnight-commander-for-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ogg in safari woes</title>
		<link>http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogg-in-safari-woes</link>
		<comments>http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 20:00:59 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=162</guid>
		<description><![CDATA[On the heels of the Firefox 3.5 release that brings HTML5 video embedding support the following pattern of embedding video files emerges (including on mozilla.com and openvideoalliance.org) that is two distinct sources for the video , one encoded with ogg , one with mpeg4 , using html code as follows : &#60;video&#62; &#60;source src=&#8221;thefile.m4v&#8221; type=&#8221;video/mp4&#8243;&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>On the heels of the Firefox 3.5 release that brings HTML5 video embedding support the following pattern of embedding video files emerges (including on mozilla.com and openvideoalliance.org) that is two distinct sources for the video , one encoded with ogg , one with mpeg4 , using html code as follows :</p>
<blockquote><p>&lt;video&gt;<br />
&lt;source src=&#8221;thefile.m4v&#8221; type=&#8221;video/mp4&#8243;&gt;<br />
&lt;source src=&#8221;thefile.ogg&#8221; type=&#8221;video/ogg&#8221;&gt;<br />
&lt;/video&gt;</p></blockquote>
<p>What this does is show the mp4 file in safari and the ogg file in firefox , and it is all well and dandy except in the cases where a lot of media is involved it is unpractical at least to have 2 formats for every video file .</p>
<p>So let&#8217;s chose just one format then ,  because ogg is a open standard and endorsed by the One Video Alliance it is a safe bet  , sites like Dailymotion are already <a href="http://blog.dailymotion.com/2009/05/27/watch-videowithout-flash/">migrating to it</a> .</p>
<p>Ok , how about browsers besides firefox , well safari for example can also support ogg video with a codec plugin namely <a href="http://www.xiph.org/quicktime/download.html">Xiph Quicktime Component</a> , but a simple test reveals a problem with the mime types , safari will not play the ogg file if  it has type=&#8221;video/ogg&#8221; in the html tag , works just when embeded ogg files have no type  defined.</p>
<p>At this point i am not certain whether it&#8217;s a bug or just a misconfiguration in osx or safari, apparently safari uses system wide mime-type settings that are accessible with System Preferences plugins like <a href="http://www.rubicode.com/Software/RCDefaultApp/" target="_blank">RCDefaultApp</a> and <a href="http://mac.clauss-net.de/misfox/" target="_blank">MisFox</a> but they do not help this cause a lot.</p>
<p>The point i am trying to make is that if you want to use a single format for embedding video and want it to work in all html5 compatible browsers (with ogg plugins) you best not define the type in the html tag if you want the video to work in safari.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;title=ogg+in+safari+woes" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;t=ogg+in+safari+woes" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=ogg+in+safari+woes&amp;body=Link: http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A On%20the%20heels%20of%20the%20Firefox%203.5%20release%20that%20brings%20HTML5%20video%20embedding%20support%20the%20following%20pattern%20of%20embedding%20video%20files%20emerges%20%28including%20on%20mozilla.com%20and%20openvideoalliance.org%29%20that%20is%20two%20distinct%20sources%20for%20the%20video%20%2C%20one%20encoded%20with%20ogg%20%2C%20one%20with%20mpeg4%20%2C%20using%20html%20code%20as%20follow" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;title=ogg+in+safari+woes&amp;srcUrl=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;srcTitle=ogg+in+safari+woes&amp;snippet=On%20the%20heels%20of%20the%20Firefox%203.5%20release%20that%20brings%20HTML5%20video%20embedding%20support%20the%20following%20pattern%20of%20embedding%20video%20files%20emerges%20%28including%20on%20mozilla.com%20and%20openvideoalliance.org%29%20that%20is%20two%20distinct%20sources%20for%20the%20video%20%2C%20one%20encoded%20with%20ogg%20%2C%20one%20with%20mpeg4%20%2C%20using%20html%20code%20as%20follow" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;t=ogg+in+safari+woes" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;title=ogg+in+safari+woes&amp;summary=On%20the%20heels%20of%20the%20Firefox%203.5%20release%20that%20brings%20HTML5%20video%20embedding%20support%20the%20following%20pattern%20of%20embedding%20video%20files%20emerges%20%28including%20on%20mozilla.com%20and%20openvideoalliance.org%29%20that%20is%20two%20distinct%20sources%20for%20the%20video%20%2C%20one%20encoded%20with%20ogg%20%2C%20one%20with%20mpeg4%20%2C%20using%20html%20code%20as%20follow&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;title=ogg+in+safari+woes" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=ogg+in+safari+woes+-+http://tinyurl.com/29ljppf&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/&amp;title=ogg+in+safari+woes" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2009/06/30/ogg-in-safari-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>osx and movies</title>
		<link>http://blog.vladalexa.com/2008/05/08/osx-and-movies/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=osx-and-movies</link>
		<comments>http://blog.vladalexa.com/2008/05/08/osx-and-movies/#comments</comments>
		<pubDate>Thu, 08 May 2008 04:09:25 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=135</guid>
		<description><![CDATA[OSX is nice , and not because it has no shortcomings , but because you can fix them as opposed to windows.This has a lot to do with the power of osx that stems from it having applescript and a posix compliant shell. Here is how to change metadata of files so you can play [...]]]></description>
			<content:encoded><![CDATA[<p>OSX is nice , and not because it has no shortcomings , but because you can fix them as opposed to windows.This has a lot to do with the power of osx that stems from it having applescript and a posix compliant shell.</p>
<p>Here is how to change metadata of files so you can play divx movies with itunes for example , with terminal and devtools</p>
<blockquote><p>find /path/toyour/movies/directory -name &#8220;*.avi&#8221; -print0 | xargs -0 /developer/tools/SetFile -t &#8220;MooV&#8221;</p></blockquote>
<p>, with applescript <a style="color: #cc3333; font-weight: normal; text-decoration: underline;" href="http://forums.ilounge.com/showthread.php?t=214705" target="_blank">http://forums.ilounge.com/showthread.php?t=214705</a></p>
<p>Now that you can play those files with itunes how about having them show and play in Front Row from the confort of your remote , without even adding them to the itunes library , it is just a matter of making symbolic links in your ~/Movies folder to the directories containing your movies , you can use the shell or just alt+cmd drag them to ~/Movies to make the links.</p>
<p>If yo do not know by now you can download movies from youtube just by selecting the file in Safari &gt; Activity &gt; Copy &gt; Paste into downloads window.</p>
<p>How about playing every movie format there is including the flash movies you just downloaded from youtube in anything you like , quicktime , itunes , frontrow etc , well then just download <a style="color: #cc3333; font-weight: normal; text-decoration: underline;" href="http://perian.org/" target="_blank">http://perian.org/</a> and never care about formats of movies ever again.</p>
<p>To top it off i have a script for those times when you do want to know what are your movie files encoded with , this is a extremely fast shell script , with basic info , you can get it packaged as a osx app to drag folders to or directly as a cross-platform script.</p>
<p><img class="aligncenter size-medium wp-image-139" title="vlad_videntify" src="http://blog.vladalexa.com/wp-content/uploads/2008/05/vlad_videntify-500x398.gif" alt="vlad_videntify" width="500" height="398" /></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;title=osx+and+movies" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;t=osx+and+movies" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=osx+and+movies&amp;body=Link: http://blog.vladalexa.com/2008/05/08/osx-and-movies/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A OSX%20is%20nice%20%2C%20and%20not%20because%20it%20has%20no%20shortcomings%20%2C%20but%20because%20you%20can%20fix%20them%20as%20opposed%20to%20windows.This%20has%20a%20lot%20to%20do%20with%20the%20power%20of%20osx%20that%20stems%20from%20it%20having%20applescript%20and%20a%20posix%20compliant%20shell.%0D%0A%0D%0AHere%20is%20how%20to%20change%20metadata%20of%20files%20so%20you%20can%20play%20divx%20movies%20with%20itunes%20f" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;title=osx+and+movies&amp;srcUrl=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;srcTitle=osx+and+movies&amp;snippet=OSX%20is%20nice%20%2C%20and%20not%20because%20it%20has%20no%20shortcomings%20%2C%20but%20because%20you%20can%20fix%20them%20as%20opposed%20to%20windows.This%20has%20a%20lot%20to%20do%20with%20the%20power%20of%20osx%20that%20stems%20from%20it%20having%20applescript%20and%20a%20posix%20compliant%20shell.%0D%0A%0D%0AHere%20is%20how%20to%20change%20metadata%20of%20files%20so%20you%20can%20play%20divx%20movies%20with%20itunes%20f" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;t=osx+and+movies" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;title=osx+and+movies&amp;summary=OSX%20is%20nice%20%2C%20and%20not%20because%20it%20has%20no%20shortcomings%20%2C%20but%20because%20you%20can%20fix%20them%20as%20opposed%20to%20windows.This%20has%20a%20lot%20to%20do%20with%20the%20power%20of%20osx%20that%20stems%20from%20it%20having%20applescript%20and%20a%20posix%20compliant%20shell.%0D%0A%0D%0AHere%20is%20how%20to%20change%20metadata%20of%20files%20so%20you%20can%20play%20divx%20movies%20with%20itunes%20f&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;title=osx+and+movies" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=osx+and+movies+-+http://tinyurl.com/2azv63e&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2008/05/08/osx-and-movies/&amp;title=osx+and+movies" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

<div class="attachments"><dl class="attachments attachments-large"><dt class="icon"><a title="vlad_videntify.dmg" href="?aid=138&pid=135&sa=0"><img src="http://blog.vladalexa.com/wp-content/plugins/eg-attachments/images/zip.png" width="48" height="48" alt="" /></a></dt><dd class="caption"><strong>Title: </strong><a title="vlad_videntify.dmg" href="?aid=138&pid=135&sa=0">vlad_videntify.dmg</a><br /><strong>File: </strong>vlad_videntify.dmg.zip<br /><strong>Size: </strong>26 kB</dd></dl><dl class="attachments attachments-large"><dt class="icon"><a title="vlad_videntify.sh" href="?aid=140&pid=135&sa=0"><img src="http://blog.vladalexa.com/wp-content/plugins/eg-attachments/images/zip.png" width="48" height="48" alt="" /></a></dt><dd class="caption"><strong>Title: </strong><a title="vlad_videntify.sh" href="?aid=140&pid=135&sa=0">vlad_videntify.sh</a><br /><strong>File: </strong>vlad_videntify.sh.zip<br /><strong>Size: </strong>4 kB</dd></dl></div>]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2008/05/08/osx-and-movies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On MS VC++ 2005 reinventing the wheel</title>
		<link>http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=on-ms-vc-2005-reinventing-the-wheel</link>
		<comments>http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/#comments</comments>
		<pubDate>Mon, 20 Feb 2006 03:51:54 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[rants]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=110</guid>
		<description><![CDATA[It comes as no surprise too , microsoft&#8217;s paradigm for adding new features is reinventing the wheel , and they overengineer it just to the point where it is inevitable to break , and impossible to determine why it did so. Without further adieu let me present MicroSoft Visual C++ 2005 and it&#8217;s brand new [...]]]></description>
			<content:encoded><![CDATA[<p>It comes as no surprise too , microsoft&#8217;s paradigm for adding new features is reinventing the wheel , and they overengineer it just to the point where it is inevitable to break , and impossible to determine why it did so.</p>
<p>Without further adieu let me present MicroSoft Visual C++ 2005 and it&#8217;s brand new &#8216;wheel&#8217; , i mean deployment model , dll&#8217;s now have to come with manifests and policies , and rely on the Side-by-Side service and this is is just a rough sketch , you can see<a style="color: #cc3333; font-weight: normal; text-decoration: underline;" href="http://msdn2.microsoft.com/en-us/library/ms235342.aspx" target="_blank">http://msdn2.microsoft.com/en-us/library/ms235342.aspx</a> for in depth details , there is a method to this madness you know , as always.</p>
<p>To put it bluntly however what you have are :<br />
2 files in %windir%\WinSxS\Manifests\ , a .cat file (security catalog , for the policy) and a .manifest file (xml file for describing the libraries)<br />
then you have a directory in %windir%\WinSxS\ where you need to put your actual libraries (directory name and filenames being a mix of the name , version , hash , and architecture so you wind up with something like x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50608.0_x-ww_6262d37f<br />
, nice )</p>
<p>Ok , so now to the explanation , all that is microsoft striving to accomplish with all this is so we can have different version of the same library for our programs that were built with and require a specific version of it , when all you had to do to achieve this since windows 3.1 till 2000 was drop the library in the same location with the program , as a windows program will always try to load a library from its parent folder first , then start looking in every path for it , so you had different versions of the same library , each with the program that required that version.</p>
<p>There can be much more to be said but i rest my case for now , what are the platforms that are &#8216;vulnerable&#8217; , i mean capable of this new deployment model you might ask , why it&#8217;s NT 5.2 and it&#8217;s older brother NT 5.1 (vulgarly known as Windows 2003 and XP respectively)</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;title=On+MS+VC%2B%2B+2005+reinventing+the+wheel" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;t=On+MS+VC%2B%2B+2005+reinventing+the+wheel" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=On+MS+VC%2B%2B+2005+reinventing+the+wheel&amp;body=Link: http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A It%20comes%20as%20no%20surprise%20too%20%2C%20microsoft%27s%20paradigm%20for%20adding%20new%20features%20is%20reinventing%20the%20wheel%20%2C%20and%20they%20overengineer%20it%20just%20to%20the%20point%20where%20it%20is%20inevitable%20to%20break%20%2C%20and%20impossible%20to%20determine%20why%20it%20did%20so.%0D%0A%0D%0AWithout%20further%20adieu%20let%20me%20present%20MicroSoft%20Visual%20C%2B%2B%202005%20and%20it%27s%20bra" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;title=On+MS+VC%2B%2B+2005+reinventing+the+wheel&amp;srcUrl=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;srcTitle=On+MS+VC%2B%2B+2005+reinventing+the+wheel&amp;snippet=It%20comes%20as%20no%20surprise%20too%20%2C%20microsoft%27s%20paradigm%20for%20adding%20new%20features%20is%20reinventing%20the%20wheel%20%2C%20and%20they%20overengineer%20it%20just%20to%20the%20point%20where%20it%20is%20inevitable%20to%20break%20%2C%20and%20impossible%20to%20determine%20why%20it%20did%20so.%0D%0A%0D%0AWithout%20further%20adieu%20let%20me%20present%20MicroSoft%20Visual%20C%2B%2B%202005%20and%20it%27s%20bra" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;t=On+MS+VC%2B%2B+2005+reinventing+the+wheel" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;title=On+MS+VC%2B%2B+2005+reinventing+the+wheel&amp;summary=It%20comes%20as%20no%20surprise%20too%20%2C%20microsoft%27s%20paradigm%20for%20adding%20new%20features%20is%20reinventing%20the%20wheel%20%2C%20and%20they%20overengineer%20it%20just%20to%20the%20point%20where%20it%20is%20inevitable%20to%20break%20%2C%20and%20impossible%20to%20determine%20why%20it%20did%20so.%0D%0A%0D%0AWithout%20further%20adieu%20let%20me%20present%20MicroSoft%20Visual%20C%2B%2B%202005%20and%20it%27s%20bra&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;title=On+MS+VC%2B%2B+2005+reinventing+the+wheel" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=On+MS+VC%2B%2B+2005+reinventing+the+wheel+-+http://tinyurl.com/335jwrr&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/&amp;title=On+MS+VC%2B%2B+2005+reinventing+the+wheel" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2006/02/20/on-ms-vc-2005-reinventing-the-wheel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Perl and data manipulation</title>
		<link>http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=on-perl-and-data-manipulation</link>
		<comments>http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/#comments</comments>
		<pubDate>Sat, 14 Jan 2006 03:46:37 +0000</pubDate>
		<dc:creator>vlad</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.vladalexa.com/?p=108</guid>
		<description><![CDATA[It is common belief that Perl is the language of choice for the purpose of data processing and manipulation , and i couldn&#8217;t agree more , having been turning to it every time i needed some serious data processing , only to get the best results at each undertaking. However back then in 99 when [...]]]></description>
			<content:encoded><![CDATA[<p>It is common belief that Perl is the language of choice for the purpose of data processing and manipulation , and i couldn&#8217;t agree more , having been turning to it every time i needed some serious data processing , only to get the best results at each undertaking.</p>
<p>However back then in 99 when looking for a method of automating the calculation of my monthly online time from my dialup provider&#8217;s access logs , a task for which ASM just wouldn&#8217;t cut it , i had no other choice but to assume this thing about perl and data manipulation as the truth and have a go at the language without knowing for certain.</p>
<p>Today after quite a while and many data manipulation scripts , and quite coincidentally for the purpose of calculating the total downtime of my isp from my server&#8217;s access logs , i can not feel but pleased with the power you have with perl and it&#8217;s data manipulation drive , so i felt like evoking this wonderful side of perl myself too.</p>
<p>Now as to not make this article a dry reading , and because probably nobody likes staring at a program execution with no progress display for hours on end , or not even minutes , i am going to explain 2 simple progress display trick for your perl scripts.</p>
<p>Roughly the trick consists in using \r (carriage return) to write over the same line over and over, while also disabling output buffering where it is the case</p>
<p>The first example below is the simpler one , but memory buffers are sacrificed for this and do not use this example for files bigger than some dozens of megabytes or loading times will be drastic and memory usage intensive , that aside this should not present any other speed decreases given you write your script in a speed conscious manner.</p>
<blockquote><p>use POSIX;<br />
#disable output buffering<br />
$| = 1;</p>
<p>open (INFILE,&#8221;&lt; $infile&#8221;) or die &#8220;$infile file not found&#8221;;<br />
@data=&lt;INFILE&gt;;<br />
foreach $a (@data){<br />
$proc = floor((($#data &#8211; $.) / $#data) * 100);<br />
print &#8220;$. more lines to process ($proc% processed)\r&#8221;;<br />
$.&#8211;;<br />
}</p></blockquote>
<p>In this second script we are not buffering the whole file into memory , so loading speeds will be great even tho&#8217; we have to use a function to count the total line number of the file with clines() before starting to process it</p>
<blockquote><p>use POSIX;<br />
#disable output buffering<br />
$| = 1;</p>
<p>#reading line length<br />
print &#8220;Reading $infile&#8230;.&#8221;;<br />
$lines = clines($infile);<br />
print &#8220;done ($lines lines)\n&#8221;;</p>
<p>#processing data<br />
open (INFILE,&#8221;&lt; $infile&#8221;) or die &#8220;$infile file not found&#8221;;<br />
$out = 0;<br />
while(&lt;INFILE&gt;) {<br />
$proc = floor(($out / $lines) * 100);<br />
print $lines-$out.&#8221; more lines to process ($proc% processed)\r&#8221;;<br />
$out++;<br />
}<br />
sub clines {<br />
my ($filename) = @_;<br />
$lines = 0;<br />
open(FILE, $filename) or die &#8220;Can&#8217;t open `$filename&#8217;: $!&#8221;;<br />
while (sysread FILE, $buffer, 4096) {<br />
$lines += ($buffer =~ tr/\n//);<br />
}<br />
close FILE;<br />
return $lines<br />
}</p></blockquote>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;title=On+Perl+and+data+manipulation" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;t=On+Perl+and+data+manipulation" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=On+Perl+and+data+manipulation&amp;body=Link: http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A It%20is%20common%20belief%20that%20Perl%20is%20the%20language%20of%20choice%20for%20the%20purpose%20of%20data%20processing%20and%20manipulation%20%2C%20and%20i%20couldn%27t%20agree%20more%20%2C%20having%20been%20turning%20to%20it%20every%20time%20i%20needed%20some%20serious%20data%20processing%20%2C%20only%20to%20get%20the%20best%20results%20at%20each%20undertaking.%0D%0A%0D%0AHowever%20back%20then%20in%2099%20when%20loo" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;title=On+Perl+and+data+manipulation&amp;srcUrl=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;srcTitle=On+Perl+and+data+manipulation&amp;snippet=It%20is%20common%20belief%20that%20Perl%20is%20the%20language%20of%20choice%20for%20the%20purpose%20of%20data%20processing%20and%20manipulation%20%2C%20and%20i%20couldn%27t%20agree%20more%20%2C%20having%20been%20turning%20to%20it%20every%20time%20i%20needed%20some%20serious%20data%20processing%20%2C%20only%20to%20get%20the%20best%20results%20at%20each%20undertaking.%0D%0A%0D%0AHowever%20back%20then%20in%2099%20when%20loo" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;t=On+Perl+and+data+manipulation" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;title=On+Perl+and+data+manipulation&amp;summary=It%20is%20common%20belief%20that%20Perl%20is%20the%20language%20of%20choice%20for%20the%20purpose%20of%20data%20processing%20and%20manipulation%20%2C%20and%20i%20couldn%27t%20agree%20more%20%2C%20having%20been%20turning%20to%20it%20every%20time%20i%20needed%20some%20serious%20data%20processing%20%2C%20only%20to%20get%20the%20best%20results%20at%20each%20undertaking.%0D%0A%0D%0AHowever%20back%20then%20in%2099%20when%20loo&amp;source=Vlad Alexa&#039;s Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;title=On+Perl+and+data+manipulation" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=On+Perl+and+data+manipulation+-+http://tinyurl.com/369k4qg&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/&amp;title=On+Perl+and+data+manipulation" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.vladalexa.com/2006/01/14/on-perl-and-data-manipulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
