<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-7697508259585935327</atom:id><lastBuildDate>Thu, 29 Jul 2010 05:31:57 +0000</lastBuildDate><title>epdoc.com</title><description></description><link>http://blog.epdoc.com/</link><managingEditor>noreply@blogger.com (Jim Pravetz)</managingEditor><generator>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-8958239376378997413</guid><pubDate>Sun, 30 May 2010 21:32:00 +0000</pubDate><atom:updated>2010-06-11T10:43:57.430-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>iPad an Impediment to Document Innovation</title><description>The popularity of Apple's version of the web has the potential of stifling innovation in non obvious ways. Interactive document formats are a case in point. Here Apple has two sets of rules: if you are Apple you are free to innovate, if you are not Apple you must innovate on top of HTML5 and Javascript. But are official World Wide Web Consortium standard languages sufficient  tools to deliver cutting edge document functionality? The answer is no.&lt;br /&gt;&lt;br /&gt;Here is an excerpt of Apple's licensing limitations:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;3.3.2 An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s).&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We can conclude that rich, interactive document formats that require scripting must use a language that is already available on Apple's devices. If that language is not good enough or not tailored to the environment (e.g. 3D scripting) then you are out of luck. If another manufacturer has similar rules to Apple but supports different languages then making a cross device document solution is not possible.&lt;br /&gt;&lt;br /&gt;In fact the rules are even more stringent because the only built-in interpreter is Javascript, and it is only available from within Webkit, and you can't used it to manipulate your own document object model (DOM). Meaning the only content you are allowed to script is HTML. That means other interactive document formats are just plain &lt;i&gt;verbotten&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;There are some pretty reasonable and popular document formats out there that are &lt;i&gt;not&lt;/i&gt; HTML. PDF and Excel spreadsheets are but two examples. PDF actually supports interactivity in several ways, including embedding Javascript (a basic use is to do the math in PDF forms) and 3D. The forms Javascript is an older variation that is not compatible with the Apple-provided interpreter (you can't really update 10 year old documents nor call Adobe lazy for not doing so). Even if it were, the Javascript has to bind to a native DOM, and Apple's Javascipt interpreter does not allow this.&lt;br /&gt;&lt;br /&gt;Apple &lt;i&gt;Preview&lt;/i&gt; supports a subset of PDF but does not support embedded Javascript. Rule 3.3.2 forbids an application from supporting PDF with Javascript. This is really too bad, because I could have seen the iPad as being a great, portable platform for using PDFs with rich forms entry and calculations.&lt;br /&gt;&lt;br /&gt;Looking further at PDF, PDF has 3D capabilities that by their interactive nature require scripting. The existing scripting engines provided on Apple devices (Javascript) just don't cut it. 3D is the type of technology where developing the language is part of the innovation. Flash has similar, advanced rendering capabilities that are not available in HTML5 and Javascript. Essentially, therefore, innovation of this type becomes stifled. &lt;br /&gt;&lt;br /&gt;Excel spreadsheets are not allowed  because they use formulas that are not written in Javascript. iWorks gets away with providing excel support because, well, all iPhoneOS developers are equal, however Apple is more equal then  others. &lt;br /&gt;&lt;br /&gt;Apple is essentially killing these formats on their devices, which means the formats are not really universal any more. The only workaround is for the formats to avoid interpreted code, which is very limiting as well as impossible to do retroactively on already widely used formats (though, as the person responsible for digital signatures in Acrobat, I have to say I'd have welcomed a less-interactive version of PDF that was more stable when signed).&lt;br /&gt;&lt;br /&gt;Some argue that the iPad is open because it supports native apps. I hope I am showing you that this is not a wide open field for those native apps. The apps being written are &lt;i&gt;mainly&lt;/i&gt; web apps or other lighter weight apps that are content front ends. They &lt;i&gt;tend&lt;/i&gt; not to be innovative platform applications on the scale of iTunes, Acrobat, Excel or a browser (note the emphasis on &lt;i&gt;mainly&lt;/i&gt; and &lt;i&gt;tend&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;What about the next new document format? &lt;a href="http://www.thewavingcat.com/2010/05/28/ipad-wired-app-ecosystem-or-not/"&gt;Look at what Wired did with their first magazine app&lt;/a&gt;. They essentially took screenshots of the pages, created an XML manifest of the contents, and added a bit of animation. Some are accusing Wired of being lazy, saying that they should have used HTML5 and Javascript. Perhaps they should have, but the argument is that they required and could not achieve pixel perfect rendering with HTML5. As well, HTML5 and Javascript weren't decreed to be &lt;i&gt;the standard&lt;/i&gt; until this year, we might assume that they had legacy work that they needed to quickly rebuilt to a different format. Here the onus is on the Wired to adapt rather then what normally happens, which is for the platform provider to provide adequately for content generators. If Wired, or someone else, wants to innovate beyond what HTML5 + Javascript delivers, what do they do? The answer is that they are stuck.&lt;br /&gt;&lt;br /&gt;Unfortunately all this is more evidence of the control that Apple is exerting over software development and the internet, and getting away with it because they are so good at what they do. They are the first company to explicitly ban capabilities from a general computing device (rather then mobile phone). They have enough of a foot hold that content generators need to take heed. Wide success will serve to chop off any pre-existing non Apple file formats at the knees, and serve to ban future formats by pigeon holing developers to use HTML + Javascript.&lt;br /&gt;&lt;br /&gt;What we had all hoped for in the mobile market is that these devices would adopt the open PC model. That partially happened with Apple allowing a play-by-Apple-rules set of apps onto mobile. This was so much better then what existed before. Unfortunately what we are seeing is Apple's not-quite-open mobile model being extended to the PC. That is a scary vision and not my ideal vision for the future.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Update: See these blog posts &lt;a href="http://www.appleoutsider.com/2010/06/10/hello-lua/"&gt;The rules have changed&lt;/a&gt; and &lt;a href="http://whydoeseverythingsuck.com/2010/06/apple-fears-killer-app.html"&gt;Apple Fears the Killer App&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-8958239376378997413?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/05/ipad-spells-end-of-document-innovation.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-6149186295033630449</guid><pubDate>Fri, 28 May 2010 21:57:00 +0000</pubDate><atom:updated>2010-05-30T17:23:41.082-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Facebook</category><title>Somewhat Improved Facebook Privacy Controls</title><description>Facebook has made some reasonable, but not perfect, fixes to the user interface for changing privacy settings. A few things are better exposed, such as the list of applications that have access to your data, and what data you are sharing with who. But it's still broken because you can't, in one place, tighten your security settings. &lt;br /&gt;&lt;br /&gt;If you &lt;a href="http://www.facebook.com/settings/?tab=privacy"&gt;edit privacy settings&lt;/a&gt; and set the &lt;i&gt;Sharing on Facebook&lt;/i&gt; option to &lt;i&gt;Friends of Friends&lt;/i&gt;, this indicates that &lt;i&gt;Family and Relationships&lt;/i&gt; can only be seen by &lt;i&gt;Friends of Friends&lt;/i&gt;. But your list of friends remains public under &lt;i&gt;Basic Directory Information&lt;/i&gt;. You need to go into &lt;i&gt;Basic Directory Information&lt;/i&gt; and fix this manually. I don't see why the &lt;i&gt;Sharing on Facebook&lt;/i&gt; settings can't be used to determine the &lt;i&gt;Basic Directory Information&lt;/i&gt; sharing.&lt;br /&gt;&lt;br /&gt;A similar problem exists for sharing data on other sites. Under &lt;i&gt;Applications and Websites&lt;/i&gt; I am happy that I can "control what information is available to applications and websites when  your friends use them". I am less happy that this again is not under the umbrella of &lt;i&gt;Sharing on Facebook.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.facebook.com/settings/?tab=privacy"&gt;new top level privacy settings page&lt;/a&gt; is an improvement, but you still need to dig too deeply to protect yourself. If you can't describe to a non techie in memorable words what they need to do do protect themselves, then it's too complex.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-6149186295033630449?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/05/somewhat-improved-facebook-privacy.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-3337049173550415283</guid><pubDate>Tue, 04 May 2010 05:49:00 +0000</pubDate><atom:updated>2010-05-30T17:23:21.044-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Mac</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>MacRuby for Application Scripting</title><description>&lt;a href="http://www.macruby.org/blog/2010/04/30/macruby06.html"&gt;MacRuby 0.6 was released&lt;/a&gt; a few days ago (30 April 2010).  MacRuby is a version of Ruby 1.9, ported to run on the Mac OS X Objective-C common  runtime. You can write Cocoa apps and, interestingly, you can also use ruby as a scripting language to control applications running on your system. &lt;br /&gt;&lt;br /&gt;The MacRuby install includes macirb, the MacRuby equivalent of Ruby's irb command line interpreter.&lt;br /&gt;&lt;br /&gt;Here is an example script to read from and control iTunes via the scripting bridge.&lt;br /&gt;&lt;br /&gt;&lt;code&gt; framework 'ScriptingBridge&lt;br /&gt;itunes = SBApplication.applicationWithBundleIdentifier('com.apple.iTunes')&lt;br /&gt;itunes.playpause&lt;br /&gt;track = itunes.currentTrack&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;name = track.name&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Here is an example script for Photoshop.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;photoshop = SBApplication.applicationWithBundleIdentifier('com.adobe.photoshop')&lt;br /&gt;doc = photoshop.currentDocument&lt;br /&gt;n = doc.name&lt;br /&gt;doc.rotateCanvasAngle 45&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;To see a list of what methods are available for an object, call its methods method as follows, subtracting out the methods available to Object.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;photoshop.methods(true,true) - Object.methods(true,true)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Pretty cool stuff. I was never a big fan of AppleScript, and in fact stayed away from scripting applications because I didn't like using AppleScript. I can see MacRuby busting the doors off of scripting on the Mac!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-3337049173550415283?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/05/macruby-for-application-scripting.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-1450656526689067506</guid><pubDate>Thu, 29 Apr 2010 22:37:00 +0000</pubDate><atom:updated>2010-06-09T00:37:47.129-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>Look who's whining now?</title><description>Steve Jobs &lt;a href="http://www.apple.com/hotnews/thoughts-on-flash/"&gt;posted on Apple's web site&lt;/a&gt; today an unprecedented diatribe on Adobe's Flash technology. I know a lot of folks like to revel in the Flash bashing, and worship the flip flops Steve walks in. But I think it's way over the top when you are in a strong market position and yet feel the need to rip into another company and denigrate their technology. It's particularly true when the remarks are mostly wrong. What this really is is politics: one party labeling and name calling to make the other party look bad and deflect attention.&lt;br /&gt;&lt;br /&gt;Jobs states that Adobe has been late to port their apps to Cocoa. It so happens that's also true of many of Apple's own software products. Finder only finally shipped on Cocoa in late 2009, and iTunes hasn't made the switch yet?!? That's just how development cycles go. Why try to spin this as if Adobe is somehow not being a good citizen towards Apple?&lt;br /&gt;&lt;br /&gt;He claims that development environments that abstract the OS don't take full advantage of the OS. Well many apps don't need to (there are some pretty horrific apps on the app store). Take iTunes, as an example, which is off the same code base and runs on both Mac and Windows. Actually maybe it's iTunes performance on Windows that makes Steve make this generalized assumption? &lt;br /&gt;&lt;br /&gt;He says that Flash isn't for multi-touch (or touch). Why not? Why didn't Apple work with Adobe on that one? In fact Adobe &lt;i&gt;is&lt;/i&gt; working on touch, and you've already seen demos of this, and you'll see it in releases later this year. Regardless, there aren't really any web sites that have touch capability, and that is where Flash is used, and yet the iPad is for browsing the web, so why single Flash out here? [&lt;a href="http://www.mikechambers.com/blog/2010/02/22/flash-player-content-mouse-events-and-touch-input/"&gt;Read more about Flash and touch&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Jobs says a lot of content is going to h.264 so you don't need Flash, then says that a lot of Flash content isn't h.264 and burns compute cycles. Which is it Steve? Why not work this from a different angle? Work with Adobe to improve the performance of on2 and Sorenson. Then work to encourage hi def content to use h.264 (it could be that most of the on2 and Sorenson is probably older low def anyway).&amp;nbsp; Or just work with Adobe to disable these video formats. In summary, why don't you work well with others, Steve? What is ever so clear in all of this is that Apple had no intentions ever of working with Adobe on this, so what chance did Adobe have? And so don't blame Adobe on this!&lt;br /&gt;&lt;br /&gt;He says that Flash is not open. iPhone OS is open? Do you license them to anyone? Oh, it's only "the web" that is meant to be open. And &lt;i&gt;your&lt;/i&gt; web only includes h.264 video. I see. Perhaps this is more about forcing people to develop Apple-specific apps because they can't build rich enough apps in HTML5. And regaining control over video delivery, something that you lost when Flash first introduced video and put the Quicktime, Real Player, Windows Media Player wars behind us.&lt;br /&gt;&lt;br /&gt;He whines about Flash crashing. When do most of those crashes occur, Steve? Right after a Mac OS update? Could it be that you are changing code under the hood that ripples up to Flash? Flash tries to use the OS as much as possible. That's why it is able to be as light weight as it is for being a plug-in, but it also makes it susceptible to OS dependencies that can cause it to crash. My personal experience is that Flash does not crash very often, and the crashes do tend to occur more often when the OS is updated.&lt;br /&gt;&lt;br /&gt;Steve says that Flash is not secure. Heavens to Betsy, Flash has been on the forefront of both innovative, security-minded features and vulnerability response for years, and is pretty good about getting updates out there. They are popular and so they are a big target. They are not perfect, but then no one is, as apparently &lt;i&gt;&lt;a href="http://www.sans.org/top-cyber-security-risks/"&gt;QuickTime vulnerabilities account for most of the attacks that are being  launched against Apple software&lt;/a&gt;&lt;/i&gt;. The point is that I am not sure Flash is intrinsically less secure then any other software out there, and Jobs is short an argument.&lt;br /&gt;&lt;br /&gt;This is not to say that there aren't things to complain about when it comes to Adobe, and Flash. Or that Jobs doesn't have a &lt;i&gt;business&lt;/i&gt; position on excluding Flash. But my post is a response to Jobs' letter and his tactics, and not anything else. It's one thing to exclude Flash on business grounds, it's another to fabricate a story that is harmful in order to justify your position.&lt;br /&gt;&lt;br /&gt;Spin things how you like Steve. You're a good politician and adept at deflecting blame. You'll probably succeed for the same reasons that politicians do, and that is that they cater to people who like to take sides. Or maybe people will see through this latest move and start seeing you for the who you are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-1450656526689067506?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/04/look-whos-whining-now.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-5592171523282060534</guid><pubDate>Sun, 25 Apr 2010 22:31:00 +0000</pubDate><atom:updated>2010-05-30T17:23:41.083-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Facebook</category><title>Help me understand Facebook and Privacy?</title><description>Help me out here. I'm trying to understand how Facebook's new move to share my information with other sites is okay (Hint: I'm not a teenager, so aim your explanation accordingly). Take &lt;a href="http://likebutton.me/"&gt;LikeButton.me&lt;/a&gt; as an example.  I've never explicitly trusted this site with any information. Yet they  know the names of my friends, and &lt;i&gt;yet&lt;/i&gt; all I did was visit this site? Visit = type URL, click return.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9S_iRHhT7I/AAAAAAAAABQ/BLaZQe4HmHQ/s1600/likebutton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9S_iRHhT7I/AAAAAAAAABQ/BLaZQe4HmHQ/s320/likebutton.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Granted, giving out the names of my friends is not the same as giving out my credit card numbers, but it is still valuable information, right? And is it not just valuable to me, but maybe valuable to my friends as well? Shouldn't &lt;i&gt;they&lt;/i&gt; get a say in whether their names can be mined by these sites? Rather, shouldn't &lt;i&gt;I&lt;/i&gt; get a say in whether &lt;i&gt;my&lt;/i&gt; name gets mined by a site that my friends visit? Is that a stupid question? And yes, I know that Facebook has previously said that my list of friends is public. But I was waiting for the first exploit, not expecting it to come from Facebook itself.&lt;br /&gt;&lt;br /&gt;I feel so stupid right now. All those silly ideas I was working on relating to Identity 2.0 and &lt;i&gt;consent to release of information&lt;/i&gt; (which never included &lt;i&gt;friends&lt;/i&gt; information) were apparently wrong, apparently old fashioned and apparently &lt;i&gt;ideas that belong to people over 45&lt;/i&gt;, as one investor pointed out last week at an event I attended.&lt;br /&gt;&lt;br /&gt;Apparently there is great goodness that can come from these features. I can now discover the musical tastes of my friends, via &lt;a href="http://www.businessinsider.com/an-inch-closer-to-the-end-of-privacy-thanks-facebook-2010-4"&gt;services such as Pandora&lt;/a&gt;, and so the benefits far outweigh the concerns of the post 45 crowd. The old fashioned idea of asking my friends about their musical tastes just went poof!&lt;br /&gt;&lt;br /&gt;Facebook does provide tools to change your privacy settings, but this whole system is opt-in by default. If you look on Facebook's site the privacy settings are explained in words that I suspect most people would not bother to read (including my teenage daughter):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_x1wnZjY5s7s/S9TD-2PueYI/AAAAAAAAABo/0w0xXbYZijA/s1600/facebook2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="http://4.bp.blogspot.com/_x1wnZjY5s7s/S9TD-2PueYI/AAAAAAAAABo/0w0xXbYZijA/s400/facebook2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Note the highlighted text. In my settings (shown below), which I get to by clicking the link above, I (don't think I) am &lt;strike&gt;not&lt;/strike&gt; sharing any information with "Everyone". &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9TAk_17f2I/AAAAAAAAABg/5HEIV775mvI/s1600/facebook3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="336" src="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9TAk_17f2I/AAAAAAAAABg/5HEIV775mvI/s400/facebook3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In addition there is the following setting - not referenced in the above instructions - which should be unchecked:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_x1wnZjY5s7s/S9UcYl7uzAI/AAAAAAAAABw/XSIQDKsX27U/s1600/Screen+shot+2010-04-25+at+04-25+9.52.27+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/_x1wnZjY5s7s/S9UcYl7uzAI/AAAAAAAAABw/XSIQDKsX27U/s400/Screen+shot+2010-04-25+at+04-25+9.52.27+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I confirmed all of the settings above, and yet LikeButton.me still knew the names of my friends. Now this I find hard to believe, so I actually think my Dopamine levels are affecting my ability to process these instructions. Otherwise, it almost seems like the privacy controls are broken?&lt;br /&gt;&lt;br /&gt;It seems to be that there are several problems here:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Visiting any random site may now expose you to having your information read by that site. Do you generally trust every site to guard your information adequately? I don't. And I don't trust Facebook to make the assessment of which sites to trust.&lt;/li&gt;&lt;li&gt;These sites have access to my information even if my friends visit them?!? Really, I'm struggling with believing this to be an okay scenario. &lt;/li&gt;&lt;li&gt;Default opt-in is not right. How do we protect our children? My daughter thinks it's okay to accept any friend invite (700 and growing) and that she doesn't need to backup her Mac. &lt;/li&gt;&lt;li&gt;The Facebook user interface to opt out of sharing your information is not clean.&lt;/li&gt;&lt;li&gt;I am not even sure that opting out works (as demonstrated by my screenshots above).&lt;/li&gt;&lt;li&gt;You can never opt out of sharing your list of friends&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eff.org/deeplinks/2010/04/facebook-timeline"&gt;Facebook privacy seems to be eroding&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Back to my opening sentence. Help me understand this? I actually do think I am missing something either technical, philosophical, or perhaps being born before Atari and Apple is leaving me at a mental disadvantage.&lt;br /&gt;&lt;br /&gt;Update #1:&lt;br /&gt;Check out this &lt;a href="http://www.spylogic.net/2010/04/privacy-of-open-graph-social-plugins-and-instant-personalization-on-facebook/"&gt;good summary of the Facebook changes at spylogic.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Update #2:&lt;br /&gt;I found yet another Facebook page to change privacy settings. I also started the steps of deactivating my account, and discovered that the user interface that tries to convince you to &lt;i&gt;not&lt;/i&gt; deactivate your account is quite a bit better then the privacy settings pages.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9W2Bm1fCAI/AAAAAAAAAB4/JlR5SVT5tYg/s1600/Screen+shot+2010-04-26+at+04-26+8.46.35+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="386" src="http://1.bp.blogspot.com/_x1wnZjY5s7s/S9W2Bm1fCAI/AAAAAAAAAB4/JlR5SVT5tYg/s400/Screen+shot+2010-04-26+at+04-26+8.46.35+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-5592171523282060534?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/04/help-me-understand-facebook-and-privacy.html</link><author>noreply@blogger.com (Jim Pravetz)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_x1wnZjY5s7s/S9S_iRHhT7I/AAAAAAAAABQ/BLaZQe4HmHQ/s72-c/likebutton.png' height='72' width='72'/><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-8483670854157310783</guid><pubDate>Wed, 03 Mar 2010 17:09:00 +0000</pubDate><atom:updated>2010-05-30T17:24:27.035-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Mac</category><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>Flash CPU Performance Dependent on Hardware Acceleration</title><description>&lt;a href="http://www.streaminglearningcenter.com/articles/flash-player-cpu-hog-or-hot-tamale-it-depends-.html"&gt;Jan Ozer in this article&lt;/a&gt; compares H.264 video playback performance of Flash and HTML5 across Windows/Mac, Chrome/Safari/Firefox and Flash 10.0/10.1.&lt;br /&gt;&lt;br /&gt;The conclusion:&lt;br /&gt;&lt;blockquote&gt;Overall, it's inaccurate to conclude that Flash is inherently  inefficient. Rather, Flash is efficient on platforms where it can access  hardware acceleration and less efficient where it can't.&amp;nbsp;&lt;/blockquote&gt;Adobe has responded to the CPU Performance gripes and Steve Jobs finger pointing and done a lot to improve performance in Flash Player 10.1. &lt;br /&gt;&lt;blockquote&gt;With Flash  Player 10.1, Flash has the opportunity for a true leap in video playback  performance on all platforms that enable hardware acceleration.&lt;/blockquote&gt;But Apple does not expose the necessary hooks to do hardware accelerated video playback on Macs.&lt;br /&gt;&lt;blockquote&gt;I don't follow the politics of the situation, but after noting  significant playback efficiencies in Flash Player 10.1 on the Mac,  respected technologist and AnandTech founder Anand Lai Shimpi &lt;a href="http://www.anandtech.com/video/showdoc.aspx?i=3678&amp;amp;p=6" target="_blank"&gt;commented&lt;/a&gt; "with actual GPU-accelerated H.264  decoding I’m guessing those CPU utilization numbers could drop to a  remotely reasonable value. But it’s up to Apple to expose the  appropriate hooks to allow Adobe to (eventually) enable that  functionality." So it looks like the ball is in Apple's court. &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-8483670854157310783?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/03/flash-cpu-performance-dependent-on.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-5820328690279191469</guid><pubDate>Sat, 06 Feb 2010 00:44:00 +0000</pubDate><atom:updated>2010-06-09T00:44:11.396-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>iPad and Content Creators</title><description>In all the discussions regarding the Apple iPad not supporting Flash, I've &lt;a href="http://radar.oreilly.com/2010/02/apple-vs-adobe-vs-content-crea.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+oreilly%2Fradar%2Fatom+%28O%27Reilly+Radar%29&amp;amp;utm_content=Google+Feedfetcher"&gt;seen little mention&lt;/a&gt; of the impact of this decision on content creators. What is the cost to companies and content creators of having to re-author their content or buy new streaming video servers? I imagine it has to be huge, perhaps in the billions of dollars?&lt;br /&gt;&lt;br /&gt;Up until now I've considered SWF files as much a part of the web as JPG or PNG files. Steve Jobs has decided to change all that.&lt;br /&gt;&lt;br /&gt;My gut reaction is to say &lt;span style="font-style: italic;"&gt;How dare you! &lt;/span&gt;How dare Apple decide what is and isn't part of the web. How dare Jobs toss around BS of Flash not being part of an open web, when in fact his is the closed web where he wishes to exert control over content delivery and commerce.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/"&gt;Jobs' comment&lt;/a&gt; about Adobe being Lazy and Flash being filled with bugs is retarded. Last year his excuse was that FlashLite wasn't good enough for the iPhone. Now that Adobe has Flash 10 on smartphones he has a new excuse. The excuse is designed to deflect attention and focus to a source of blame other then himself, and it's not much different then the political tactics that we see in Washington. Let's be clear here: this is about control and nothing else (with control over video delivery being the top priority I suspect). What Flash does is abstract away the Apple lock-in, which is the opposite of Apple's goals here.&lt;br /&gt;&lt;br /&gt;In the meantime, content creators are getting a big middle finger to all the great content that has been created for Flash. I hope Apple comes around, or that users and content creators revolt by not buying into the Apple way of defining the future. Unfortunately I don't think the non-technical end-consumer is going to get religion on this issue. No more so then they have gotten religious about Amazon or Apple having closed DRM solutions that prevent content from being moved off their own hardware.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Addendum:&lt;/span&gt; Here is a great article entitled &lt;a href="http://www.techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps/"&gt;The future of web content, HTML5, Flash and Mobile Apps&lt;/a&gt; by &lt;i&gt; &lt;/i&gt;Jeremy  Allaire, founder and CEO of Brightcove. Prior to Brightcove,  Jeremy worked at Macromedia, where he helped to establish the Flash platform.&lt;i&gt;&lt;/i&gt;&lt;br /&gt;And a humorous blog entry entitled &lt;a href="http://ikidnot.blogspot.com/2010/02/apple-saves-us-from-burden-of-choice.html"&gt;I Kid Not: Apple Saves Us from Burden of Choice&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-5820328690279191469?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2010/02/ipad-and-content-creators.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-5652216199745248432</guid><pubDate>Tue, 29 Dec 2009 01:14:00 +0000</pubDate><atom:updated>2010-05-30T17:23:21.045-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Mac</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>MySQL Uninstall on Mac OS 10.6</title><description>I had to uninstall a newer 64-bit version of MySQL to go back to a 32-bit version. Here are the steps:&lt;br /&gt;&lt;br /&gt;# Remove folder with mysql installation&lt;br /&gt;sudo rm -rf /usr/local/mysql-*&lt;br /&gt;# Remove soft link to above folder&lt;br /&gt;sudo rm /usr/local/mysql&lt;br /&gt;# Remove receipts&lt;br /&gt;cd /private/var/db/receipts/&lt;br /&gt;sudo rm com.mysql.*&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://www.silverscripting.com/blog/2009/09/04/removing-mysql-on-snow-leopard/"&gt;this link&lt;/a&gt; for the critical bit on finding and removing the receipts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-5652216199745248432?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/12/mysql-uninstall-on-mac-os-106.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-2387405723365797883</guid><pubDate>Fri, 18 Dec 2009 17:32:00 +0000</pubDate><atom:updated>2010-05-30T17:24:27.036-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><title>Adobe Flash CS5 Versioning and Coding Enhancements</title><description>Adobe just released this &lt;a href="http://gotoandlearn.com/play?id=118"&gt;sneek peak of Adobe Flash CS5&lt;/a&gt;. Two nice improvements are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The ability to save projects as uncompressed xml-based text and asset files&lt;/li&gt;&lt;li&gt;Tight code authoring integration with Flash Builder 4&lt;/li&gt;&lt;/ul&gt;A seemingly minor enhancement is that the native .fla project file is now zip and xml based. What is more interesting and progressive is that you can also save the project as an uncompressed project folder where all the assets are laid out in your file system.&lt;br /&gt;&lt;br /&gt;The layout within the project folder looks like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x1wnZjY5s7s/Syu_Nruk8nI/AAAAAAAAABI/wHO_AVzt5XE/s1600-h/Screen+shot+2009-12-18+at+12-18+9.42.24+AM.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 223px; height: 95px;" src="http://4.bp.blogspot.com/_x1wnZjY5s7s/Syu_Nruk8nI/AAAAAAAAABI/wHO_AVzt5XE/s320/Screen+shot+2009-12-18+at+12-18+9.42.24+AM.png" alt="" id="BLOGGER_PHOTO_ID_5416633218640441970" border="0" /&gt;&lt;/a&gt;The two major advantages here are version control and the ability to directly manipulate the contained files with other tools. Versioning text files, as compared with binary files, means that you can diff versions and your source control system can take advantage of diffs between versions to reduce storage requirements. This is particularly relevant when you use &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt; for source control because git keeps a complete copy of the repository on your local system.&lt;br /&gt;&lt;br /&gt;A second major improvement in Adobe Flash CS5 is for ActionScript 3.0 developers (ActionScript 2.0 and FlashLite developers are left out here). Flash CS4's AS3 development environment was rather unsatisfactory. Rather then try to improve this, Adobe has gone the direction of Eclipse. Flash CS5 now includes tight integration with &lt;a href="http://labs.adobe.com/technologies/flashbuilder4/"&gt;Flash Builder 4&lt;/a&gt;, a rich Eclipse-based code development IDE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-2387405723365797883?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/12/version-control-of-application-files.html</link><author>noreply@blogger.com (Jim Pravetz)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_x1wnZjY5s7s/Syu_Nruk8nI/AAAAAAAAABI/wHO_AVzt5XE/s72-c/Screen+shot+2009-12-18+at+12-18+9.42.24+AM.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-8337897148710816773</guid><pubDate>Wed, 09 Dec 2009 18:53:00 +0000</pubDate><atom:updated>2010-05-30T17:23:21.046-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Mac</category><category domain='http://www.blogger.com/atom/ns#'>Apple</category><title>Saving Web Receipts Files on Mac OS X</title><description>Mac OS X has a handy feature that allows you to, via the print dialog, save PDF files directly to a web receipts folder. This is particularly useful when making online purchases in a browser.&lt;br /&gt;&lt;br /&gt;You enact this feature by executing command-P (or &lt;span style="font-style: italic;"&gt;File &gt; Print&lt;/span&gt;), pulling down the combo box in the lower left of the print dialog, and choosing &lt;span style="font-style: italic;"&gt;Save PDF to Web Receipts Folder&lt;/span&gt;. This automatically saves a PDF file directly to your &lt;span style="font-style: italic;"&gt;~/Documents/Web Receipts&lt;/span&gt; folder. How cool is that!&lt;br /&gt;&lt;br /&gt;In Mac OS 10.5 and 10.6, this is now a python script that you can customize. Below I show how to modify this file to change the default save location and prepend the date to the resulting filename.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Navigate to &lt;span style="font-style: italic;"&gt;/Library/PDF Services/Save PDF to Web Receipts Folder.pdfworkflow/Contents&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Edit the file &lt;span style="font-style: italic;"&gt;tool&lt;/span&gt;. It doesn't look like you need to be root to do this, but if you do use &lt;span style="font-style: italic;"&gt;sudo -s&lt;/span&gt; from the command line.&lt;/li&gt;&lt;li&gt;Towards the top of the file add another import statement &lt;span style="font-style: italic;"&gt;import datetime&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In &lt;span style="font-style: italic;"&gt;main&lt;/span&gt; modify &lt;span style="font-style: italic;"&gt;destDirectory&lt;/span&gt; to be your desired save folder location. I used:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;destDirectory = os.path.expanduser("~/PDFDocs/Receipts/")&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Modify these lines from:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;title = safeFilename(title)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;destFile = title + ".pdf"&lt;/span&gt;&lt;br /&gt;to:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;title = safeFilename(title)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;# Create a YYYYMMDD string&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;today = datetime.datetime.now().strftime("%Y%m%d_")&lt;br /&gt;destFile = today + title + ".pdf"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Presto, you are done! At least until a major software update clobbers this file. Which is why I wrote this blog entry: to remind me how to do this again the next time.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-8337897148710816773?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/12/saving-web-receipts-files-on-mac-os-x.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-3333472362939140323</guid><pubDate>Wed, 09 Dec 2009 16:47:00 +0000</pubDate><atom:updated>2010-05-30T17:24:27.043-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>digital signatures</category><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>pdf</category><title>Moving Onwards from Adobe</title><description>I spent the last 16 years working at &lt;a href="http://www.adobe.com/"&gt;Adobe Systems&lt;/a&gt;. I was pretty quiet there, not writing much publicly about what I worked on. I'll say a few things about that here, and then give a hint as to where I am going next.&lt;br /&gt;&lt;br /&gt;What I am most proud of from my time at Adobe is the security engine that we built from the ground up and put in place in &lt;a href="http://www.adobe.com/devnet/acrobat/"&gt;Adobe Acrobat&lt;/a&gt;. This engine provides &lt;a href="http://www.adobe.com/devnet/acrobat/security.html"&gt;digital signatures and document encryption to Acrobat and PDF&lt;/a&gt;. The functionality that we added and the libraries that we built really are the best out there. It wasn't just me saying this: &lt;a href="http://www.nist.gov/"&gt;NIST&lt;/a&gt; loved our PKI validation engine.&lt;br /&gt;&lt;br /&gt;It's not just that we did an outstanding job of supporting &lt;a href="http://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol"&gt;OCSP and CRLs&lt;/a&gt; with all the OID nuances. We also have a great, flexible chain validator, and the ability to wisely tap into the Windows platform for trust, in those instances where that trust has been properly configured within an organization.&lt;br /&gt;&lt;br /&gt;Though I lead the engineering and, in fact, the early business effort to add these capabilities, I certainly don't take all the credit. I had an outstanding group of engineers who somehow, despite me, managed to build a solution that has integrity and robustness right down to the last line of code.&lt;br /&gt;&lt;br /&gt;For all the years I toiled on digital signatures, we didn't see tremendous customer use early on. In fact that was a good thing, because it took a number of releases (Acrobat 4.0 through 6.0) before we were able to put into place all the bits to make the system robust.&lt;br /&gt;&lt;br /&gt;This is changing. Adobe now has strong business support behind digital signatures (check out the &lt;a href="http://blogs.adobe.com/security/"&gt;Security Matters blog&lt;/a&gt;), folks like PDF Evangelist &lt;a href="http://www.acrobatusers.com/blogs/leonardr/"&gt;Leonard Rosenthal  &lt;/a&gt;are contributing immensely to making PDF an ISO standard and &lt;a href="http://blogs.adobe.com/security/2009/09/eliminating_the_penone_step_at.html"&gt;PDF signatures, via PAdes, an EU electronic signature standard&lt;/a&gt; and the Acrobat engineering team continues to add important capabilities.&lt;br /&gt;&lt;br /&gt;There really is no other good solution out there. PDF is &lt;span style="font-style: italic;"&gt;the&lt;/span&gt; way to do electronic document signatures. Adobe has recognized this and is continuing to invest in this technology. This last release the engineers added support for long term archive signatures, a flexible certificate trust update mechanism, and better Mac OS X integration.&lt;br /&gt;&lt;br /&gt;Aside from helping to build Acrobat, I spent a couple of years in &lt;a href="http://www.adobe.com/technology/"&gt;Adobe's Advanced Technologies Labs&lt;/a&gt; furthering my research into security. My particular interest was in adding strong and effective security to browsers, via Flash, primarily for use with authentication and payments. If you look at &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Windows_CardSpace"&gt;Microsoft's InfoCard&lt;/a&gt;, you get an idea of my area of interest. We had some really great ideas that, in my view, addressed many of the shortcomings you see today with OpenID, &lt;a href="http://developers.facebook.com/connect.php"&gt;Facebook Connect&lt;/a&gt;, &lt;a href="http://www.rsa.com/press_release.aspx?id=6769"&gt;PassMark (RSA)&lt;/a&gt; and other solutions. But I'm afraid we were a bit ahead of our time. And so instead of today being able to see the fruits of that vision, you will have to wait until tomorrow to see bits of functionality dribble into the Flash APIs.&lt;br /&gt;&lt;br /&gt;Where am I going next? It was my desire to work on a few personal projects. Now I have the freedom to do this and am working on all sorts of things ranging from presentations and business plans to technical education and coding. For the next while I am focusing on technology and this will be reflected in my blog. I'm quite enjoying reconnecting with technology after being too much of a manager for a few years. I won't say what it is that I'm working on - you'll have to watch this space to find out - but I will say it's really awesome to have the freedom to work on all aspects of a project, and not be confined by the structure of a large organization. Life is good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-3333472362939140323?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/12/moving-security-forward.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-3489872920276675205</guid><pubDate>Fri, 13 Nov 2009 07:29:00 +0000</pubDate><atom:updated>2009-11-15T18:20:58.115-08:00</atom:updated><title>Git on a ReadyNAS NV+</title><description>&lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; is a "free &amp;amp; open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency".&lt;br /&gt;&lt;br /&gt;Installing git on a &lt;a href="http://www.readynas.com/?cat=4"&gt;ReadyNAS NV+&lt;/a&gt; is fairly straightforward if you are familiar with the linux command line. First you will need a remote shell with which to login and execute commands. In my previous post I described installing SSH on ReadyNAS.&lt;br /&gt;&lt;br /&gt;You can then use the linux APT (Advanced Package Tool) command to install git. APT is a convenient way to install software packages using the command line. Before you do that you need to install APT, but it's easy to do and worth it. Finding and installing APT is the same as it was for SSH, which I described in my previous post (so go read that post).&lt;br /&gt;&lt;br /&gt;Now that APT is installed, ensure that your /etc/apt/sources.list contains the following:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;deb http://www.readynas.com/packages readynas/&lt;br /&gt;deb http://archive.debian.org/debian-security sarge/updates main contrib non-free&lt;br /&gt;deb http://archive.debian.org/backports.org sarge-backports main contrib non-free&lt;br /&gt;deb http://archive.debian.org/debian sarge main contrib non-free&lt;br /&gt;&lt;br /&gt;deb-src http://archive.debian.org/debian-security sarge/updates main contrib non-free&lt;br /&gt;deb-src http://archive.debian.org/backports.org sarge-backports main contrib non-free&lt;br /&gt;deb-src http://archive.debian.org/debian sarge main contrib non-free&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;If you know how to use vi, editing this file won't be difficult. I've never been desperate enough to learn vi, so I cat'd the file into a new file under /c/home/&lt;myuserfolder&gt; and edited there with emacs, then copied it back and verified the permissions.&lt;br /&gt;&lt;br /&gt;Then:&lt;br /&gt;&lt;ol style="list-style-type: decimal;"&gt;&lt;li&gt;apt-get update&lt;/li&gt;&lt;li&gt;apt-get &lt;span class="posthilit"&gt;install&lt;/span&gt; &lt;span class="posthilit"&gt;git&lt;/span&gt;-core&lt;/li&gt;&lt;li&gt;apt-get clean&lt;/li&gt;&lt;/ol&gt;Oh my gosh, it's that simple.  Now execute git:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ git&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://www.readynas.com/forum/viewtopic.php?f=7&amp;amp;t=20097&amp;amp;p=112366"&gt;this forum post&lt;/a&gt; for the above information.&lt;br /&gt;&lt;br /&gt;To read about setting up your remote git repository over ssh you might want to look at one of these two posts:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://toolmantim.com/articles/setting_up_a_new_remote_git_repository"&gt;Setting up a new remote git repository&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casperfabricius.com/site/2008/09/21/keeping-git-repositories-on-dreamhost-using-ssh/"&gt;Keeping git repositories on Dreamhost using ssh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-3489872920276675205?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/11/git-on-readynas-nv.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-6426356308669531659</guid><pubDate>Fri, 13 Nov 2009 07:04:00 +0000</pubDate><atom:updated>2009-11-14T08:56:20.466-08:00</atom:updated><title>SSH on a ReadyNAS NV+</title><description>Running SSH was a step along the way of me becoming more familiar with SSH and running a remote git repository on my &lt;a href="http://www.readynas.com/?cat=4"&gt;ReadyNAS NV+&lt;/a&gt;. Note that there are security concerns with opening SSH on your ReadyNAS device and exposing password authentication. It would be fairly trivial to launch a password attach over the SSH connection.&lt;br /&gt;&lt;br /&gt;SSH defaults to use passwords for authentication. The password is set to your ReadyNAS admin password at the time you install SSH on your ReadyNAS. If this password is to be saved on disk somewhere, for example as part of an SSH configuration on the machine from which you are contacting the ReadyNAS, you may choose to temporarily change your ReadyNAS admin password before installing SSH, and then change the ReadyNAS admin password back afterwards. If you ever need to change the SSH password on the ReadyNAS, just reinstall SSH from System &gt; Update in the ReadyNAS admin browser application.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Get the SSH bin file from the &lt;a href="http://www.readynas.com/?page_id=93"&gt;ReadyNAS web site&lt;/a&gt;. Click the Add-ons for RAIDiator 4.1.3+ link and scroll to the EnableRootSSH link. Download the bin file and store it on your local computer.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Log in as admin on your ReadyNAS using a browser&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Update your ReadyNAS firmware (optional). This is under &lt;i&gt;System &gt; Update&lt;/i&gt;. Just click the &lt;i&gt;Check for Updates button&lt;/i&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click the &lt;i&gt;Local&lt;/i&gt; tab and click &lt;i&gt;Choose File&lt;/i&gt; to find the EnableRootSSH.bin file that you previously downloaded. Upload this and follow the prompts.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;After a reboot SSH will be installed and ready to use. To login execute the following:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# Use the hostname or IP address of the ReadyNAS&lt;br /&gt;$ ssh root@readynas-hostname&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then type the ReadyNAS admin password that existed at the time SSH was installed.&lt;br /&gt;&lt;br /&gt;On my ReadyNAS, my share volumes are under /c and user volumes are under /c/home.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ cd /c; ls -1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;SSH can be configured to use public private keys as well. Refer to my later post and &lt;a href="http://sial.org/howto/openssh/publickey-auth/"&gt;OpenSSH Public Key Authentication&lt;/a&gt; for more details.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Security Alert:&lt;/i&gt; Opening up your NAS to SSH with password authentication on a public network is a bad idea. In my situation I'm behind a firewall and simply using SSH for the convenience and to play around with the protocol.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-6426356308669531659?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2009/11/ssh-on-readynas-nv.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-1834283641998086679</guid><pubDate>Mon, 03 Sep 2007 23:31:00 +0000</pubDate><atom:updated>2010-05-30T17:24:55.771-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>flex</category><category domain='http://www.blogger.com/atom/ns#'>AIR</category><category domain='http://www.blogger.com/atom/ns#'>development</category><category domain='http://www.blogger.com/atom/ns#'>eclipse</category><category domain='http://www.blogger.com/atom/ns#'>Adobe</category><category domain='http://www.blogger.com/atom/ns#'>servlets</category><title>Configuring Eclipse for Servlet and Flex Development</title><description>During the past few months I've been doing Flex and Servlet development in Eclipse on a WinXP machine and simultaneously on a Macbook Pro running Mac OS 10.4. The tools and set up are pretty much the same on Win and Mac.&lt;br /&gt;&lt;br /&gt;For newbies, figuring out the correct tools to use and how to configure them can take a bit of time and a bit of guess work. It isn't always obvious from searches on the web which are the best options, and what information is up to date. I started capturing configuration details on an internal wiki, because we have a few people on my project at Adobe that have needed to simultaneously come up to speed on these procedures. I've publicly posted this information here to help others that may be in the same situation that I was a few months ago.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.epdoc.com/articles/eclipse.html"&gt;Click here to see the full article.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-1834283641998086679?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2007/09/configuring-eclipse-for-servlet-and.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-5698660746653531861</guid><pubDate>Sun, 02 Sep 2007 00:32:00 +0000</pubDate><atom:updated>2010-05-30T17:24:55.772-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>flex</category><category domain='http://www.blogger.com/atom/ns#'>AIR</category><category domain='http://www.blogger.com/atom/ns#'>training</category><title>What I'm Reading - Lynda.com</title><description>&lt;p&gt;&lt;a href="http://www.lynda.com/"&gt;Lynda.com&lt;/a&gt; isn't exactly what I'm &lt;span style="font-style: italic;"&gt;reading&lt;/span&gt;, but this site's collection of training videos and sample code is a learning resource that is worth checking out. Lynda.com covers &lt;a href="http://movielibrary.lynda.com/html/modlisting.asp"&gt;a wide range of development topics and software products&lt;/a&gt;, including most Adobe products. They are an interesting alternative to sitting through days of not-always-suitably-paced classroom training, or reading technical books.&lt;/p&gt;I discovered lynda.com when I was gripping to &lt;a href="http://www.sokolconsulting.com/"&gt;Patti Sokol&lt;/a&gt; how I had missed an opportunity to get into a Flash training class. Patti is a first class trainer that Adobe uses for teaching Adobe employees their own products. She whispered to me to check out lynda.com. I subsequently watched a disk for &lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=268"&gt;ActionScript 3.0 in Flex Builder Essential Training&lt;/a&gt; and was sold.&lt;br /&gt;&lt;br /&gt;Lynda.com's courses are current, interesting and nicely divided into small Quicktime movie files, allowing you to absorb a few movies at a time, whenever you have a spare few minutes. They make the first few movies of most courses available on their web site for free, which is great for trying before you buy.&lt;p&gt;&lt;/p&gt;You can buy individual full courses for a few hundred dollars. A better alternative is their subscription model of $25/month, or $250/year. Lynda.com's products are well suited to a subscription model because software technologies are changing every year, and so every year there are new courses that you need to take. Having the freedom to go in and cherry pick a lesson on a particular subject (eg. using library elements in Dreamweaver) is also quite useful.&lt;p&gt;&lt;/p&gt;&lt;p&gt;Here are comments on a few of the titles that I've gone through so far:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=268"&gt;ActionScript 3.0 in Flex Builder Essential Training&lt;/a&gt;, with Joey Lott. Joey is great, and so is this course.&lt;/li&gt;&lt;li&gt;&lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=410"&gt;Dreamweaver CS3 Essential Training&lt;/a&gt;, with Garrick Chow. Garrick is great, and so is this course.&lt;/li&gt;&lt;li&gt;&lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=424"&gt;Dreamweaver CS3 Dynamic Development&lt;/a&gt;, with David Gassner. I've just done a bit of this course, but it looks good so far.&lt;/li&gt;&lt;li&gt;&lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=48"&gt;XHTML Essential Training&lt;/a&gt; and &lt;a href="http://movielibrary.lynda.com/html/modPage.asp?ID=33"&gt;HTML Essential Training&lt;/a&gt;, with William E. Weinman. I have been using these to brush up on specific sub topics, rather then taking the full course. That's a good thing, because the narrator is pretty monotonous to listen to. But this does show the power of being a subscriber and having the ability to cherry pick lessons.&lt;/li&gt;&lt;/ul&gt;There are courses on Javascript, expert courses on using Photoshop, Mac OS X, MS Office, you name it.&lt;br /&gt;&lt;br /&gt;Something that I don't like about the subscription model is that you can only view lessons online. This is an issue for me because most of my spare learning time is when I am not sitting at a desktop and connected. For example when using Caltrain, or at Peet's, or in the late evening in bed where my wireless doesn't reach. You can get around this by copying the .mov files out of your browser cache, or running ethernet to your bedroom (which I subsequently have done). Copying the files feels a bit dishonest, but if I couldn't do this, I don't think the site would suit my needs. Getting files out of your cache is made an easier operation by the&lt;a href="https://addons.mozilla.org/en-US/firefox/search?q=CacheViewer&amp;amp;status=Array"&gt; Firefox CacheViewer addon&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-5698660746653531861?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2007/09/what-im-reading-lyndacom.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7697508259585935327.post-3309556237190734470</guid><pubDate>Sat, 01 Sep 2007 23:01:00 +0000</pubDate><atom:updated>2007-09-03T16:46:00.158-07:00</atom:updated><title>Jim's Technical Blog Created</title><description>I have a back log of technical information that I've written, or intend to write, and have been meaning to publish. I'm hoping the creation of this blog might encourage me to do so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7697508259585935327-3309556237190734470?l=blog.epdoc.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.epdoc.com/2007/09/2nd-test-post-to-be-deleted.html</link><author>noreply@blogger.com (Jim Pravetz)</author><thr:total>0</thr:total></item></channel></rss>