<?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/"
	>

<channel>
	<title>SitePoint &#187; Open Source</title>
	<atom:link href="http://www.sitepoint.com/blogs/category/tech/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<pubDate>Sun, 05 Jul 2009 11:48:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Future of Flash and the Return of ColdFusion</title>
		<link>http://www.sitepoint.com/blogs/2009/05/28/the-future-of-flash-and-the-return-of-coldfusion/</link>
		<comments>http://www.sitepoint.com/blogs/2009/05/28/the-future-of-flash-and-the-return-of-coldfusion/#comments</comments>
		<pubDate>Thu, 28 May 2009 11:32:49 +0000</pubDate>
		<dc:creator>Kay Smoljak</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Web Tech]]></category>
<category>coldfusion</category><category>flash</category><category>webdu</category>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=9915</guid>
		<description><![CDATA[With 46 sessions over two days, the recent WebDU conference delivered the goods for developers working with Flash, Flex, AIR and ColdFusion. Kay penned a few thoughts after the first day.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/05/webdu2.jpg" alt="webdu2" width="300" height="227" class="imgleft" /><em>Kay Smoljak is reporting from the recent WebDU conference, of which SitePoint is a sponsor.</em></p>
<p>As a conference, <a href="http://www.webdu.com.au/">WebDU</a> is dear to the hearts of Flash, Flex and ColdFusion developers in Australia &#8212; up until very recently, it was the only event that specifically catered for their platform of choice. Starting out as MXDU, Sydney-based <a href="http://www.daemon.com.au/">Daemon</a> have been delivering a solid two day event focused around Macromedia/Adobe products for seven years. And they&#8217;ve been doing a damn fine job.</p>
<p>In recent years however, the WebDU team have added additional streams aimed at general web development and online user experience (and changed their name accordingly), as well as sessions about team work and some labelled &#8220;safe for managers&#8221;. Which brings us to WebDU 2009, back at Star City Casino, with five separate streams: Team/UX, Web I, Web II (not, as some might suggest, Web two-point-oh), Flash/Flex, and ColdFusion. That&#8217;s a total of 46 sessions over two days &#8212; and for the generalist attendee, the daunting task of choosing just 12 to physically attend.</p>
<p><strong>Day 1 Keynote</strong></p>
<div id="adz" class="vertical"></div><p><strong>The Fluff</strong><br />
There are two different types of opening keynotes from Adobe staff: there&#8217;s &#8220;look at what people are doing with our products&#8221; and there&#8217;s &#8220;look at what you will be able to do with the next version of our products&#8221;. With CS4 released fairly recently, this year&#8217;s keynote session saw <strong>Mike Chambers</strong>, Principal Product Manager for developer relations for the Flash Platform at Adobe, doing the former &#8212; showing  off some funky leading edge things from out in the wild right now. A 3D sasquatch danced across the Mike&#8217;s screen, balancing on a sheet of paper he held in front of his webcam, courtesy of Augmented Reality and Papervision 3D; on the more practical side, there are a number of AIR-based Twitter clients and over 12% of tweets on the service come from Tweetdeck, an AIR app; and the New York Times use Flash and AIR to deliver specialised content and an enhanced experience as a value-add to their paid subscribers. The integration of AIR with the Facebook API will no doubt lead to some interesting applications &#8212; the Jackass &#8220;pranking&#8221; game shown off will definitely be one to watch.</p>
<p>The local Adobe office got a look in with <strong>Andrew Spaulding</strong> showing off a locally produced web/AIR hybrid music store, built by local developer <strong>Andrew Muller</strong> in a timeframe comprising weeks rather than months &#8212; an impressive effort. Andrew Muller later presented an entire session on AIR application development, drawing on his experiences with bandit.fm and other projects.</p>
<p><strong>The Meat</strong></p>
<div style="float:right;margin:0 0 10px 10px">
<img src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/05/mesh.jpg" alt="mesh" width="300" height="300" /><br />
<em>Adobe&#8217;s Mike Chambers</em><br />(photo by Pete Ottery @webdu)
</div>
<p>The plenary session then took at turn to the other &#8220;type&#8221; of keynote: sneak peaks of upcoming products, what every developer in the room was waiting to see. Adobe&#8217;s <strong>Steven Heintz</strong> showed off Flash Catalyst, the Flex skinning tool that Adobe have been demoing alpha versions of for quite a while now. Catalyst is a design to code tool for Flex &#8212; layered elements can be imported from Illustrator, Fireworks or Photoshop and applied to Flash components as skins. Steven showed a really fast but complete demo where he built a basic but functioning application in a matter of minutes, without writing any code &#8212; to many oohs and ahhhs from the audience.</p>
<p>Catalyst will be the tool that stops Flex applications from looking like Flex applications and start to give designers some freedom to innovate, and will no doubt make a big splash in the RIA sphere. What was interesting was that I hadn&#8217;t realised, up until  now, that Catalyst was Eclipse-based &#8212; from what I saw onscreen it certainly doesn&#8217;t look or behave like an Eclipse IDE, but rather like part of Creative Suite. A public beta is apparently going to be available at some point in the not-too-distant future so everyone can get their hands dirty. </p>
<p><strong>ColdFusion, the comeback kid</strong><br />
The keynote wasn&#8217;t all going to be Flash, however. Next up, <strong>Terry Ryan</strong>, new to the ColdFusion evangelism team but certainly not new to ColdFusion, showed off Bolt, the long-awaited Eclipse-based IDE for ColdFusion, and some new features that will be included in the forthcoming ColdFusion 9. He started off by admitting that Adobe has a bit of an image problem with CF, but that the platform was far from stagnating with over 700,000 developers world-wide. He then quickly demoed some of the code generation features in Bolt that tie into the ORM features new in CF9 with Hibernate.</p>
<p>Time was running out but the point of the keynote was clear: Adobe&#8217;s aim is to have a complete workflow for rich internet applications deployed to the browser via Flash player or the desktop via AIR: from design tools like Photoshop, Fireworks and Illustrator; through Catalyst, which is a kind of rapid prototyping tool; into Flash Builder (the renamed Flex Builder) for writing the hardcore ActionScript; and Bolt for writing the backend services code to interface with ColdFusion server.</p>
<p><strong>Geeky indulgence: web services, dependency injection, Yahoo pipes and more than hot AIR</strong></p>
<div style="float:left;margin:0 10px 10px 0">
<img src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/05/rebel.jpg" alt="Andrew Muller" width="300" height="300" /><br />
<em>Andrew Muller</em><br />(photo by Pete Ottery @webdu)
</div>
<p>Other sessions throughout the day presented opportunities for this developer to nourish and indulge her inner geek: <strong>Kai Koenig</strong> contemplating the state of play with web services (conclusion: interoperability still sucks!), <strong>Dennis Clark</strong> demonstrating dependency injection with the ColdSpring framework for ColdFusion, and <strong>Phillip Tellis</strong> showing us how to get down and dirty with Yahoo pipes, remixing and republishing RSS feeds in a rather dry but example-heavy session. Particularly cool was Andrew Muller&#8217;s 98 cups of Tea, an interesting session which ran over tips and tricks for developing AIR applications from someone who has built some very successful ones. My favourite take-away from Andrew&#8217;s session was to include automatic updates in your application, right from the beginning &#8212; it only takes a few lines of code, and makes sure that throughout development your client and testers always have the latest version of the app. Smart thinking!</p>
<p>The day ended with birds of a feather sessions on AIR, mobile development, and ColdFusion, where groups of like-minded developers had a casual discussion on topics of interest, led by one of the speakers. Then it was off to Oscars Lounge Bar, a short walk away, for drinks sponsored by Gruden.</p>
<p>Stay tuned for a wrap-up of Day 2!</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2009/05/28/the-future-of-flash-and-the-return-of-coldfusion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Solution to VirtualBox 2.2.2 Upgrading Problems</title>
		<link>http://www.sitepoint.com/blogs/2009/05/19/virtualbox-222-upgrade-problem/</link>
		<comments>http://www.sitepoint.com/blogs/2009/05/19/virtualbox-222-upgrade-problem/#comments</comments>
		<pubDate>Mon, 18 May 2009 19:17:09 +0000</pubDate>
		<dc:creator>Craig Buckler</dc:creator>
		
		<category><![CDATA[Open Source]]></category>
<category>install</category><category>sun</category><category>upgrade</category><category>virtualbox</category>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=9602</guid>
		<description><![CDATA[Sun released version 2.2.2 of VirtualBox shortly after Craig's glowing review. Unfortunately, several people have experienced upgrading problems, so Craig is back with a solution...]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/05/069-virtualbox-logo.png" alt="VirtualBox" title="VirtualBox" width="151" height="151" class="imgright" />I&#8217;m a big fan of Sun&#8217;s VirtualBox virtual machine software. Shortly after <a href="http://www.sitepoint.com/blogs/2009/04/20/virtualbox-review/">my review in April</a>, Sun released version 2.2.2. I&#8217;m always keen to stay up-to-date so I downloaded it and launched the upgrade. It bombed. No log files or errors are reported, just a useless <em>&#8220;installation ended prematurely&#8221;</em> message.</p>
<p>It appears that many others have had the same problem. Fortunately, I found a solution for anyone who has experienced problems upgrading to v2.2.2.</p>
<p><strong>1. Repair the installation</strong><br />
Launch &#8220;Programs and Features&#8221; (Vista) or &#8220;Add and Remove Programs&#8221; (XP) from the Control Panel. Click VirtualBox and choose Repair.</p>
<p>If the repair works, you should be able to upgrade without problems. Otherwise, proceed to step 2&#8230;</p>
<p><strong>2. Extract the VirtualBox files</strong><br />
Repairing can display a message saying that a VirtualBox installation file could not be found. If this occurs, find your old installer - if you have deleted it, download it again from the <a href="http://www.virtualbox.org/wiki/Download_Old_Builds">VirtualBox old builds page</a>.</p>
<p>Open a command prompt (cmd.exe) and &#8216;cd&#8217; to the folder where the installer resides. Run it using the &#8220;-extract&#8221; parameter, e.g.</p>
<pre><code class="dos">
VirtualBox-2.2.0-45846-Win.exe -extract
</code></pre>
<p>After a few moments, a dialog will appear saying that the VirtualBox files have been copied, normally to a temporary folder in the Users (Vista) or Documents and Settings (XP) folder. Make a note of the folder&#8217;s location!</p>
<div id="adz" class="vertical"></div><p><strong>3. Complete the repair</strong><br />
Start the repair again. When the &#8216;missing file&#8217; dialog appears, click &#8220;Browse&#8221; and navigate to the folder noted in step 2. The repair should now complete successfully.</p>
<p>If the repair still fails, try re-installing the old version. If the normal installer does not work, navigate to the folder above and you will find two files: an x86 and AMD64 version of the VirtualBox installer. Run the version that is suitable for your system - if an error occurs, try the other one!</p>
<p><strong>4. If all else fails&#8230;</strong><br />
Uninstall the previous version before upgrading.</p>
<p>Hopefully, your upgrade will go smoothly without needing to do any of this! VirtualBox is still a great product, regardless of any installation issues.</p>
<p>See also: <a href="http://www.sitepoint.com/blogs/2009/04/20/virtualbox-review/">VirtualBox Virtual Machine Software: A Hands-On Review</a></p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2009/05/19/virtualbox-222-upgrade-problem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Add this Flex 3 Pocket Guide to Your Library &#8230; for Free!</title>
		<link>http://www.sitepoint.com/blogs/2009/05/15/add-this-flex-3-pocket-guide-to-your-library-for-free/</link>
		<comments>http://www.sitepoint.com/blogs/2009/05/15/add-this-flex-3-pocket-guide-to-your-library-for-free/#comments</comments>
		<pubDate>Thu, 14 May 2009 23:32:06 +0000</pubDate>
		<dc:creator>Rachael Wilson</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Web Tech]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=9441</guid>
		<description><![CDATA[Our latest Adobe-sponsored giveaway is live, and up for grabs this time are 100 copies of the excellent book, Getting Started with Flex 3, delivered to your door.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sitepoint.com/quiz/supercharge-flex-app-coldfusion/"><img src="http://i2.sitepoint.com/images/adobe/adobe_flex3_book_sm.jpg" alt="Flex 3" title="Flex Builder 3" width="140" height="230" class="imgright size-full wp-image-6407" /></a><strong>Our latest Adobe-sponsored giveaway is live, and up for grabs this time are 100 copies of the excellent book, <em>Getting Started with Flex 3</em>, delivered to your door. Just read through our latest tutorial, <a href="http://www.sitepoint.com/article/flex-app-coldfusion-power/">Supercharge Your Flex App with ColdFusion Power</a>, then <a href="http://www.sitepoint.com/quiz/adobe/supercharge-flex-app-coldfusion/">take the quiz</a> to win!</strong></p>
<h2>About the Book</h2>
<p><em>Getting Started with Flex 3</em> is a must-read for any Flex developer. It consists of multiple mini-tutorials that are presented step-by-step, showing you how easy it can be to develop Rich Internet Applications using Flex 3. Having this handbook in your library is an asset if you want to be able to build Flash applications of any magnitude; from a simple widget to a complicated, multi featured RIA. Instructing you on the basics to more advanced applications using the Flex SDK and Flex Builder 3, no matter if you came from an Visual Studio-intensive or open source background.</p>
<p>The last time we offered a book prize like this, all 100 copies were gone within <em>hours</em>, so get in quick before you miss out!</p>
<div id="adz" class="horizontal"></div><h2>Learn More with a Free eSeminar</h2>
<p>Adobe are running a bunch of free online learning sessions over the next couple of months, including one related to this tutorial titled <a href="http://www.sitepoint.com/launch/a46e6f">Adobe Flex 3 and Adobe ColdFusion 8</a>, and there are other topics covering development with Flex and Flash. These eSeminars are a great way to expand your skillset &#8212; and best of all they&#8217;re free.</p>
<p><em>A huge thank you to our sponsor, Adobe, for making this prize available!</em></p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=137&amp;did=adz&amp;adtype=horizontal" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2009/05/15/add-this-flex-3-pocket-guide-to-your-library-for-free/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Chrome Leaves Beta</title>
		<link>http://www.sitepoint.com/blogs/2008/12/12/google-chrome-leaves-beta/</link>
		<comments>http://www.sitepoint.com/blogs/2008/12/12/google-chrome-leaves-beta/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 18:57:16 +0000</pubDate>
		<dc:creator>Josh Catone</dc:creator>
		
		<category><![CDATA[News & Trends]]></category>

		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=3267</guid>
		<description><![CDATA[Just 100 days after launching their Chrome browser, Google has removed the beta label, declaring the browser stable enough and fast enough.   Though Chrome still lacks some key features that modern web browsers need, it is nonetheless an important part of Google's Web OS strategy.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sitepoint.com/blogs/wp-content/uploads/2008/09/google-chrome.jpg" alt="" title="google-chrome" width="146" height="146" class="imgright" />Just over three months after launching their browser, Google has removed the beta tag from <a href="http://www.google.com/chrome/">Chrome</a>.  This might be the quickest a Google product has dropped the beta from its moniker &#8212; Gmail, for example, <del>was in beta for almost 3 years</del> has been in beta for 4 years. &#8220;We have removed the beta label as our goals for stability and performance have been met but our work is far from done,&#8221; write Google&#8217;s Sundar Pichai, a VP of Product Management, and Engineering Director Linus Upson in a <a href="http://googleblog.blogspot.com/2008/12/google-chrome-beta.html">blog post today</a>.</p>
<p>Though Chrome may be stable enough to drop the beta tag, the browser is still far from complete enough to be a truly viable competitor to other alternative browsers like Firefox and Safari.  Chrome still lacks support for basic features like form autofill and RSS, and perhaps more crucially, has no official support for the Linux and Mac platforms.</p>
<p>Another major feature that Chrome currently lacks is extensions.  Adding support for browser plugins is a priority, though, and a Google recently <a href="http://www.sitepoint.com/blogs/2008/12/03/once-extensions-arrive-on-chrome-firefox-should-worry/">published a document</a> that details their plans for extensions for the Chromium project (Chromium is the open source project behind Chrome).  We predicted earlier this month that once Chrome adds extensions support, the browser will become instantly more attractive to early adopters and will start to pull more users away from Firefox.</p>
<p>Chrome&#8217;s share of the browser market is <a href="http://www.sitepoint.com/blogs/2008/11/27/google-chrome-three-months-out/">still tiny</a>, but Google has not been shy about <a href="http://marketshare.hitslink.com/google-chrome-market-share.aspx?sample=27&#038;qprid=32&#038;qpcustom=Chrome&#038;qpsp=3531&#038;qpnp=92&#038;qptimeframe=D">putting a download link</a> on Google.com, even when the product was still in beta.  With that kind of exposure, and with Chrome now proclaimed stable, Chrome could start to creep up from its current ~1% share (Google claims 10 million active users &#8212; including on Antarctica, apparently).  That could be especially true once some of the feature we mentioned above make an appearance.</p>
<div id="adz" class="horizontal"></div><p>We noted earlier this week that Chrome is an important part of <a href="http://www.sitepoint.com/blogs/2008/12/10/google-working-on-answer-to-flash-silverlight-java/">Google&#8217;s 3-pronged Web OS strategy</a>.  Along with Gears (offline data store) and Native Client (local CPU resources for web apps), Chrome gives Google a compelling platform for the delivery of web applications.  In that respect, Chrome is less an attack on Firefox and Internet Explorer, and more of a thrust at Windows.  Google is pushing for a computing future in which applications are delivered from the cloud and the computer operating system doesn&#8217;t really matter.  Whether the client is running Windows, Mac, Linux or something else is irrelevant for Google&#8217;s Web OS vision.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=137&amp;did=adz&amp;adtype=horizontal" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2008/12/12/google-chrome-leaves-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sun Buys MySQL For $1 Billion</title>
		<link>http://www.sitepoint.com/blogs/2008/01/19/sun-buys-mysql-for-1-billion/</link>
		<comments>http://www.sitepoint.com/blogs/2008/01/19/sun-buys-mysql-for-1-billion/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 22:06:39 +0000</pubDate>
		<dc:creator>Matthew Magain</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/01/19/sun-buys-mysql-for-1-billion/</guid>
		<description><![CDATA[Reprinted from the Tech Times #182.
Open source enthusiasts were reeling this week when Sun Microsystems announced that it will be purchasing MySQL AB, the company behind the development of the popular MySQL database software, for US $1 billion.
The spin from both camps was positive, but what does the deal mean for web developers? And what [...]]]></description>
			<content:encoded><![CDATA[<p><em>Reprinted from the <a href="http://www.sitepoint.com/newsletter/viewissue.php?id=3&#038;issue=182">Tech Times #182</a>.</em></p>
<p><strong>Open source enthusiasts were reeling this week when Sun Microsystems announced that it will be purchasing MySQL AB, the company behind the development of the popular MySQL database software, for US $1 billion.</strong></p>
<p><img src="http://www.sitepoint.com/images/blogs/mattymcg/sun-mysql.jpg" class="imgright" alt=""/>The spin from both camps was positive, but what does the deal mean for web developers? And what impact is it likely to have on other open source projects?</p>
<p>To attempt to answer these questions, we need to look at a number of factors, including Sun&#8217;s history with open source technologies, its competitors, and the success of other open source technologies that have been commercialized.</p>
<div id="adz" class="vertical"></div><p>While it&#8217;s not without its detractors, there&#8217;s no denying that Sun has a pretty solid history when it comes to involvement in the open source world. The company claims to be <a href="http://www.sun.com/2006-1113/feature/story.jsp">the biggest contributor to the open source community</a>, a claim that, based upon its release of the Solaris source code in 2005, and the Java programming language in 2006, is difficult to refute.</p>
<p>But there is other evidence of Sun understanding the value of keeping software open source and free: projects like <a href="http://openoffice.org/">OpenOffice.org</a> and <a href="http://netbeans.org/">NetBeans</a> have healthy communities and promising road maps. In fact, if you examine Sun&#8217;s current offerings to the corporate world, the only key component missing from the portfolio (and one that competitors such as Oracle, IBM, and Microsoft already offer) is a database. MySQL, with over 10 million installations worldwide (including high-traffic sites such as Google and Facebook) is a natural fit.</p>
<p>One concern that web developers may have is that the licensing terms will change &#8212; what if Sun decides to start charging a licensing fee for each of the installations of MySQL?</p>
<p>In my opinion, this just won&#8217;t happen, simply because <strong>Sun realizes that it hasn&#8217;t bought a database &#8212; it&#8217;s bought a community</strong>. A community of employees, developers, and clients.</p>
<p>Related to this is the question of whether development of the cross-platform releases of MySQL will stagnate, with Sun&#8217;s energy being focused on compatibility with the Solaris platform. Here&#8217;s what MySQL&#8217;s VP of Community Relations, <a href="http://blogs.mysql.com/kaj/2008/01/16/sun-acquires-mysql/">Kaj Arnö, had to say on the matter</a>:</p>
<blockquote><p>&#8220;I don&#8217;t expect (the development of MySQL on Solaris) in any way to be at the cost of other popular operating systems (Linux, Windows, Mac OS/X, other Unixes etc.) or development environments (PHP, Ruby on Rails, Perl, Python, ODBC, C++, C#, VB etc.). <strong>MySQL grew with LAMP, and MySQL without LAMP at its core is simply unimaginable. </strong>It was MySQL&#8217;s part of LAMP that interested Sun in the first place. Hence I don&#8217;t see Sun having a platform migration strategy, but to continue to be an integral part of the dot in .com.&#8221;
</p></blockquote>
<p>In short, Sun understands the business model around open source software, and it wouldn&#8217;t have invested $1 billion into a company only to screw over its users for a short-term profit when the long-term prospects &#8212; driving MySQL into the corporate arena with paid support &#8212; look so bright. There are plenty of other open source databases (PostgreSQL, for example) with comparable features and performance that customers would quickly migrate to if they were unhappy.</p>
<p>And as for the figure paid by Sun? While some would suggest the number was low given the size of the MySQL user base, $1 billion is a lot of money in anyone&#8217;s eyes. Let&#8217;s take a look at some other recent open source acquisitions [<a href="http://www.zdnetasia.com/news/software/0,39044164,62036683,00.htm">source</a>]:</p>
<ul>
<li>US$210 million for SUSE Linux (Novell)</li>
<li>US$400 million for JBoss (Red Hat)</li>
<li>US$500 million for XenSource (Citrix)</li>
<li>US$350 million for Zimbra (Yahoo!)</li>
</ul>
<p>I&#8217;d say the MySQL team would be feeling pretty happy with themselves right now. Who said there was no money in open source software? </p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2008/01/19/sun-buys-mysql-for-1-billion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2007: People Hacks</title>
		<link>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-people-hacks/</link>
		<comments>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-people-hacks/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 03:24:12 +0000</pubDate>
		<dc:creator>mde</dc:creator>
		
		<category><![CDATA[Open Source]]></category>
<category>coding</category><category>community</category><category>open source</category>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-people-hacks/</guid>
		<description><![CDATA[Adam Keys is a software developer and writer. His blog is at therealadam.com.
In this talk, Adam presented a number of methods for effective advocacy and for getting along with other developers. In other words, interacting with people is as important as interacting with hardware or software. Problems in this sphere have no technical solution &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Adam Keys is a software developer and writer. His blog is at <a href="http://therealadam.com/">therealadam.com</a>.</p>
<p>In this talk, Adam presented a number of methods for effective advocacy and for getting along with other developers. In other words, interacting with people is as important as interacting with hardware or software. Problems in this sphere have no technical solution &#8212; they require a social one. Thus, the idea of &#8216;people hacking.&#8217;</p>
<p>People hacking is not rooted in nefarious black-hat hacking, but simply in using tools of social jujutsu (sometimes on yourself, even) to gain traction for ideas you&#8217;re trying to advocate. Paying more attention to the people side of things can help you build the kind of integrated, smoothly functioning team capable of executing (to borrow a basketball metaphor) the &#8220;no-look pass.&#8221;</p>
<p>A few sample ideas included:</p>
<div id="adz" class="vertical"></div><ul>
<li>Simply smiling &#8212; makes yourself and people around you feel more positive</li>
<li>Avoid negativity &#8212; try the ABBA Method (see the slides for details)</li>
<li>Avoid criticism</li>
<li>Compliment before criticizing</li>
</ul>
<p>Some ideas followed about how to deal with jerks in your organization, including the simple-but-effective &#8220;No Asshole Rule&#8221; (from the book of the same name) that encourages a zero-tolerance toward asshole behavior in your group &#8212; even from so-called superstar programmers.</p>
<p>Adam also encouraged a little self-evaluation to determine if your yourself may be a recovering jerk, and that by focusing on improving your ability to working well with those around you, you can also reform yourself.</p>
<p>Adam has his slides <a href="http://therealadam.com/presentations/oscon2007/PeopleHacks.pdf">available online here</a>.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-people-hacks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2007: Managing Technical Debt</title>
		<link>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-managing-technical-debt/</link>
		<comments>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-managing-technical-debt/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 03:22:35 +0000</pubDate>
		<dc:creator>mde</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-managing-technical-debt/</guid>
		<description><![CDATA[Andy Lester is with the Perl Foundation, and maintains a blog at petdance.com.
Andy&#8217;s talk gave practical advice for catching up on all the tasks you put off until some later date (that inevitably never comes) &#8212; stuff like postponed docs, fixing broken tests (or just writing tests at all), backup regimes, TODOs in your code, [...]]]></description>
			<content:encoded><![CDATA[<p>Andy Lester is with the Perl Foundation, and maintains a blog at <a href="http://petdance.com/">petdance.com</a>.</p>
<p>Andy&#8217;s talk gave practical advice for catching up on all the tasks you put off until some later date (that inevitably never comes) &#8212; stuff like postponed docs, fixing broken tests (or just writing tests at all), backup regimes, TODOs in your code, etc.</p>
<p>He had a very simple and straightforward formula:</p>
<ul>
<li>Identify your debts</li>
<li>Determine the costs</li>
<li>Pay the most profitable</li>
<li>Stop incurring new debt</li>
<li>Repeat as necessary</li>
</ul>
<div id="adz" class="vertical"></div><p>The most important takeaway for me was the idea that you don&#8217;t try to fix all your problems at once. You figure out what fix will give you the most bang for your buck &#8212; not the easiest thing to fix, not the biggest problem. You fix whatever it&#8217;s the <em>most profitable</em> to fix. </p>
<p>There was also a lot of good discussion during this talk on how to convince a manager to allow you to begin reducing technical debt with things like refactoring, increasing test coverage, adding documentation, or actually testing your disaster-recovery plan. The best advice was the idea of putting it in terms that the manager can understand (often with a manager either in money or time).</p>
<p>For example, if managers know that investing two days testing disaster recovery would save weeks of rebuilding critical infrastructure, or that spending a week refactoring crufty old code would make it 20% faster to implement new features, it&#8217;s easier for them to justify the cost.</p>
<p>Andy has his slides <a href="http://petdance.com/perl/technical-debt/">available online here</a>.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-managing-technical-debt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2007: The Holistic Programmer</title>
		<link>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-the-holistic-programmer/</link>
		<comments>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-the-holistic-programmer/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 03:21:10 +0000</pubDate>
		<dc:creator>mde</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-the-holistic-programmer/</guid>
		<description><![CDATA[Adam Keys is a software developer and writer. His blog is at therealadam.com.
The days of one guy putting together all the hardware and software together by himself in his garage are long gone &#8212; working with computers increasingly means doing something very specialized in one of the layers between the hardware and the end-user. 
Adam [...]]]></description>
			<content:encoded><![CDATA[<p>Adam Keys is a software developer and writer. His blog is at <a href="http://therealadam.com/">therealadam.com</a>.</p>
<p>The days of one guy putting together all the hardware and software together by himself in his garage are long gone &#8212; working with computers increasingly means doing something very specialized in one of the layers between the hardware and the end-user. </p>
<p>Adam made a good case for the idea that despite this specialization people working with computers should develop at least a passing familiarity with the layers other than their own &#8212; e.g., a guy working in the database learning typography, and a Web designer learning about compilers.</p>
<p>Many developers may not have the interest (or the discipline) to spend time learning about subjects so far removed from their little piece of the pie, but a couple of the benefits to doing so that Adam described seemed pretty compelling:</p>
<div id="adz" class="horizontal"></div><ul>
<li>The ability to converse with the people you work with and understand better how your work interfaces with theirs.</li>
<li>Gaining a new perspective that allows you to find unexpected or creative solutions to problems in your own domain.</li>
</ul>
<p>Adam spent the end of his talk going over the two example layers just mentioned &#8212; CSS/layout/typography, and compilers. That might not have been something every developer was super-interested in learning about, but for a guy like myself who&#8217;s kind of all over the place from the database layer all the way up to end-user-facing design, it was really interesting stuff.</p>
<p>Adam has his slides <a href="http://therealadam.com/presentations/oscon2007/HolisticProgrammer.pdf">available online here</a>.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=137&amp;did=adz&amp;adtype=horizontal" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2007/08/04/oscon-2007-the-holistic-programmer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Image Archiving: Exif, IPTC, XMP and all that</title>
		<link>http://www.sitepoint.com/blogs/2006/08/24/open-source-image-archiving-exif-iptc-xmp-and-all-that/</link>
		<comments>http://www.sitepoint.com/blogs/2006/08/24/open-source-image-archiving-exif-iptc-xmp-and-all-that/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 10:30:58 +0000</pubDate>
		<dc:creator>HarryF</dc:creator>
		
		<category><![CDATA[Open Source]]></category>
<category>digital workflow</category><category>exif</category><category>exiftool</category><category>iptc</category><category>photo archive</category><category>xmp</category>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1687</guid>
		<description><![CDATA[Related to this hack started taking a serious look at the available standards and Open Source tools for adding meta data to images, in the context of building archives of digital photography. With further prompting from reading this (Hey! MS are adopting someone else&#8217;s standard!), dumping some notes&#8230;
Photo Archiving: The Golden Rule
Store metadata in the [...]]]></description>
			<content:encoded><![CDATA[<p>Related to <a href="http://www.sitepoint.com/blogs/2006/08/16/ubuntu-add-ons-with-php/">this hack</a> started taking a serious look at the available standards and Open Source tools for adding meta data to images, in the context of building archives of digital photography. With further prompting from <a href="http://blogs.msdn.com/pix/archive/2006/08/16/702780.aspx">reading this</a> (Hey! MS are adopting someone else&#8217;s standard!), dumping some notes&#8230;</p>
<h2>Photo Archiving: The Golden Rule</h2>
<p>Store metadata <em>in the image</em>.</p>
<p>Actually should be more precise about the word metadata here - there are essentially three significant types of metadata when in comes to digital images, when it comes to who created it and where it&#8217;s stored.</p>
<div id="adz" class="vertical"></div><p>First; the stuff your digital camera attaches to the image when you take a picture (e.g. camera make, time the picture was taken, exposure etc.), second; meta data you manually add to an image, typically at the time you download images from the camera to your PC (e.g. where the picture was taken, a description, keywords, name of the photographer etc.) and third; &#8220;grouping metadata&#8221; - how a collection of images relate to each other (e.g. they were all part of a single photo shoot or they are all family pictures). For the purposes of this discussion, the first two types of metadata can be regarded as a the same thing and it&#8217;s this information that you want stored <em>in the image</em>.</p>
<p>The third type - the &#8220;grouping&#8221; information is &#8220;relative&#8221; and, practically, can only work well if it&#8217;s stored externally from images. This may be as &#8220;lightweight&#8221; as a tree of directories on your filesystem with timestamp-based names, under which you store your images, but image archive tools may offer additional facilities in this area. Important is if you want to group a collection of images under a heading like &#8220;family&#8221;, you also want to have a keyword &#8220;family&#8221; stored in the image. In such case it may be the image archiving tool can build the groups automatically from your keywords.</p>
<p>But you want the first two types of metadata in the image, so that if you switch archiving tools, transfer your images to another system or forget to backup the archive database but remember the images, it won&#8217;t be lost. A decent archiving tool will probably generate it&#8217;s own database from this inline metadata, to make searches etc. efficient, but the final authority should be the image itself.</p>
<h3>Inline Image Metadata Standards</h3>
<p>The next question is how is data stored in an image. File formats like <a href="http://en.wikipedia.org/wiki/JPEG">JPEG</a>, <a href="http://en.wikipedia.org/wiki/RAW_image_format">RAW</a> and <a href="http://en.wikipedia.org/wiki/TIFF">TIFF</a>, commonly used in digital photography / processing, allow additional metadata to be stored in the image file.</p>
<p>So here&#8217;s a &#8220;avoid too much detail&#8221; view: there are three significant inline metadata formats here - <a href="http://en.wikipedia.org/wiki/Exif">Exif</a>, <a href="http://en.wikipedia.org/wiki/International_Press_Telecommunications_Council">IPTC</a> and <a href="http://en.wikipedia.org/wiki/Extensible_Metadata_Platform">XMP</a>. Exif is used by most digital cameras to attach information like exposure at the point you take a picture and tools are available for adding information manually (or automatically) such as <a href="http://www.chebucto.ns.ca/~rakerman/geocode-photos.html">geocoding</a>. IPTC &#8220;extends&#8221; Exif, providing a whole load more named &#8220;tags&#8221; for metadata. Both are fragile from a technical point of view (easy to destroy / corrupt) and problematic from the point of view of extending (if there&#8217;s no named &#8220;tag&#8221; for the metadata you want to store, you&#8217;re out of luck). Meanwhile, XMP, the work of Adobe, is the &#8220;holy grail&#8221;, providing XML / RDF / <a href="http://en.wikipedia.org/wiki/Dublin_Core">Dublin core</a> goodness for storing metadata. It&#8217;s just not well supported yet, but starting to gain significant acceptance. And of course our friend <a href="http://tim.digicol.de/weblog/archives/2003/09/03/172">IE has it&#8217;s own opinion about XMP</a>&#8230;</p>
<p>In practice, you need to be able to work with all three formats for effective photo archiving.</p>
<h2>Image Archiving Apps</h2>
<p>There are a bunch of image archiving tools out there, for any and all operating systems. A good one will allow you to manually supply additional meta data about an image (e.g. keywords like &#8220;family&#8221;, &#8220;dog&#8221; etc.) but, from a straw poll, the majority store this data <em>separately</em> from the image, in some kind of database. Where Ubuntu is concerned <a href="http://en.wikipedia.org/wiki/GThumb">GThumb</a> does just this - stores any user supplied meta data externally from the image (if I remember right, it&#8217;s under <code>~/.gnome2/gthumb</code>).</p>
<p>There&#8217;s a bunch of reasons why I consider this fundamentally wrong, which become obvious the moment an image leaves your filesystem (or perhaps even changes directory / filename) plus the fact that there&#8217;s no &#8220;clear winner&#8221; in the image archiving space - there&#8217;s a good chance you&#8217;ll switch tool more than once. Bottom line: storing metadata separately from the image it refers to is just not the way to do it.</p>
<p>In the Open Source / Linux space, there are a couple of contenders which are getting it &#8220;right&#8221;, namely <a href="http://en.wikipedia.org/wiki/F-spot">F-spot</a> (C# / Mono) and <a href="http://jbrout.python-hosting.com/">jbrout</a> (python / wxpython). Both are capable of storing metadata in the image but there are limitations, e.g. jbrout has no awareness of XMP. Some worthwhile blogs (and comments) to read are <a href="http://assente.altervista.org/?q=it/how_to_manage_exif_xmp_metadata_on_linux_gnome_kde">How to manage EXIF, XMP metadata on linux gnome kde</a>, <a href="http://norman.walsh.name/2006/07/16/managingPhotographs">Managing Photographs</a> and <a href="http://idea.zanestate.edu/archives/2005/11/photo-organizing-in-linux/">Photo organizing in Linux</a>.</p>
<h3>Image Archiving Done Right</h3>
<p>By contrast, the model application, IMO, for how to do it right (sadly Win32 only) but free to <em>use</em> is <a href="http://pixvue.com/">PixVue</a>.</p>
<p>For starters, rather than being an monolithic application, it adds a bunch of Windows Shell Namespace Extensions meaning you can work with your images in Windows Explorer - e.g. right click and &#8220;annotate&#8221; with your metadata.</p>
<p>As I see it &#8220;Digital workflow&#8221;, in general, is all about procedures - you need &#8220;process oriented&#8221; applications that fit into <em>your</em> procedure, rather than monolithic windowed views of your images, which dictate how you work. PixVue gets this right by getting out of the way and hence my desire to <a href="http://www.sitepoint.com/blogs/2006/08/16/ubuntu-add-ons-with-php/">extend Nautilus</a>.</p>
<p>PixVue also stores almost all metadata in the image, understanding EXIF, IPTC <em>and</em> XMP. The exception is the &#8220;grouping&#8221; metadata, which it provides something called &#8220;galleries&#8221;, which are a virtual directory hierarchy - in Explorer you can drag and drop images into a gallery (or galleries) to organise them but these are only &#8220;symbolic links&#8221; to the original files on your filesystem. You can also export your gallery structures as XML, to allow at least the chance of portability.</p>
<p>Also the &#8220;templates&#8221; functionality it provides helps make attaching metadata to a large collection of images as fast and painless as possible.</p>
<p>Finally it has excellent search facilities (via the gallery view) plus it &#8220;integrates&#8221; with (populates the indexes of) Windows search and Google desktop.</p>
<p>The only downside of PixVue is the source isn&#8217;t available and there doesn&#8217;t <em>seem</em> to be an API (it does register some COM components but, from a quick scan, these don&#8217;t allow you to drive it with, say, a Python script), so if you want to extend it to integrate with some geocoding tool, you&#8217;re out of luck.</p>
<h2>Open Source Image Metadata Tools</h2>
<p>So, given a less-than-ideal situation for Open Source image archiving <em>applications</em>, what&#8217;s available in the form of libraries, so you can hack your own?</p>
<p>The long and short of it is more bad news. There&#8217;s a whole bunch of libraries that do a little bit, perhaps only (partially) understanding one format (typically Exif), read only - not write or lacking support for manufacturer Exif extensions.</p>
<p>The situation is particularly acute when it comes to Python, which is badly lacking - there&#8217;s a few &#8220;readers&#8221; out there, and the occasional writer (no XMP writer though) but nothing that&#8217;s really complete. That&#8217;s bad news for jbrout and even more bad news for <a href="http://wiki.opensource.nokia.com/projects/Python_for_S60">Python on Series 60 phones</a>, where being able to tag your pictures, while you sit on a train, would be a killr app.</p>
<p>There are exceptions though, the #1 being <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/">Phil Harvey&#8217;s exiftool</a> (Perl - available via <a href="http://cpan.uwinnipeg.ca/module/Image::ExifTool">CPAN</a>). ExifTool isn&#8217;t just good - it&#8217;s excellent. It&#8217;s basically got it all - EXIF, IPTC and XMP support (read/write), support for <a href="http://cpan.uwinnipeg.ca/module/Image::ExifTool::Sanyo">manufacturer extensions</a> and a common dictionary of tag names that are, to an extent, metadata-format-independent. The only downside is there doesn&#8217;t <em>seem</em> to be (correct me if wrong) a GUI front-end for Linux that exposes all of Exiftool&#8217;s functionality - you&#8217;re either talking command line or writing your own Perl scripts.</p>
<p>Another noteworthy exception <a href="http://www.ozhiker.com/">Evan Hunter&#8217;s</a> <a href="http://www.ozhiker.com/electronics/pjmt/">PHP JPEG Metadata Toolkit</a>, which has EXIF, IPTC and XMP support and awareness of some manufacturer quirks. The API is also pretty simple.</p>
<p>The is of course plenty of other stuff around, which offer part of the picture e.g. <a href="http://www.jempbox.org/">jempbox</a> (Java) but YMMV.</p>
<p>Anyway - hopefully that saves someone some time in research.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=136&amp;did=adz&amp;adtype=vertical" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2006/08/24/open-source-image-archiving-exif-iptc-xmp-and-all-that/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2006: TimeTravel Tables in PostgreSQL</title>
		<link>http://www.sitepoint.com/blogs/2006/08/05/oscon-2006-timetravel-tables-in-postgresql/</link>
		<comments>http://www.sitepoint.com/blogs/2006/08/05/oscon-2006-timetravel-tables-in-postgresql/#comments</comments>
		<pubDate>Sat, 05 Aug 2006 03:31:02 +0000</pubDate>
		<dc:creator>mde</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1668</guid>
		<description><![CDATA[A. Elein Mustain is a veteran developer of Ingres, Illustra, and Informix, and is the author of the weekly PostgreSQL General Bits column.
Elein showed how to use timestamps to keep an audit trail of all changes in your DB. With this technique, you never actually delete records, you just give them an end date. Multiple [...]]]></description>
			<content:encoded><![CDATA[<p>A. Elein Mustain is a veteran developer of Ingres, Illustra, and Informix, and is the author of the weekly <a href="http://www.varlena.com/GeneralBits/">PostgreSQL General Bits</a> column.</p>
<p>Elein showed how to use timestamps to keep an audit trail of all changes in your DB. With this technique, you never actually delete records, you just give them an end date. Multiple copies of a record (again, with timestamps for each one) also allow you to track edits. (This is a pretty standard approach, especially in &#8216;validated&#8217; environments, or in government-regulated industries.)</p>
<p>The value of using Postgres here is in the advanced features like triggers that you can use with your deletes and updates to offload the work needed to maintain this &#8216;time travel&#8217; system &#8212; rather than forcing your app logic to keep up with all of it. </p>
<p>You can also use PostgreSQL&#8217;s views to query the database for only the current data, or write procedural functions to query the state of the database at a particular point in time in the past.</p>
<div id="adz" class="horizontal"></div><p>Elein has her slides <a href="http://www.varlena.com/GeneralBits/Tidbits/tt.pdf">available online here</a>.</p>
<script src="http://ads.aws.sitepoint.com/adjs.php?region=137&amp;did=adz&amp;adtype=horizontal" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.sitepoint.com/blogs/2006/08/05/oscon-2006-timetravel-tables-in-postgresql/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 3.591 seconds -->
<!-- Cached page served by WP-Cache -->
