<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:lang="en" xml:base="http://www.z-oc.com/blog/wp-atom.php">
	<title type="text">Zo'C</title>
	<subtitle type="text">Just another WordPress site</subtitle>

	<updated>2010-02-03T15:06:36Z</updated>

	<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog" />
	<id>http://www.z-oc.com/blog/feed/atom/</id>
	

	<generator uri="http://wordpress.org/" version="3.3.2">WordPress</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheBeeSideOfZoc" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="thebeesideofzoc" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[IE6 is dead. Who should applaud?]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2010/02/ie6-is-dead-who-should-applaud/" />
		<id>http://www.z-oc.com/blog/?p=514</id>
		<updated>2010-02-03T15:06:36Z</updated>
		<published>2010-02-03T15:06:36Z</published>
		<category scheme="http://www.z-oc.com/blog" term="Web Development" />		<summary type="html"><![CDATA[Picture by João Miguel Silva Last week Google announced they are phasing out support of IE6. This follows the attacks to gmail accounts of Human Rights Activists originated in China, apparently consequence of a security flaw in IE. Even before Google, the German government decided to advice against the use of IE6 and a the [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2010/02/ie6-is-dead-who-should-applaud/"><![CDATA[<div class="right"><a href="http://www.z-oc.com/blog/wp-content/uploads/2010/02/fiat500-1024.jpg"><img src="http://www.z-oc.com/blog/wp-content/uploads/2010/02/fiat500-1024-300x225.jpg" alt="" title="fiat500-1024" width="300" height="225" class="alignright size-medium wp-image-521" /></a><br />Picture by <a href="http://www.flickr.com/photos/joaomiguelsilva/4231929230/">João Miguel Silva</a></div>
<p>Last week Google announced they are <a href="http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html">phasing out support of IE6</a>. This follows the <a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html">attacks to gmail</a> accounts of Human Rights Activists originated in China, apparently consequence of a <a href="http://www.microsoft.com/technet/security/advisory/979352.mspx">security flaw in IE</a>.</p>
<p>Even before Google, the German government decided to <a href="http://www.sitepoint.com/blogs/2010/01/18/german-government-stop-using-ie/">advice against the use of IE6</a> and a the <a href="http://news.bbc.co.uk/1/hi/8465038.stm">French government followed</a>. The UK hasn&#8217;t joined yet bt there is <a href="http://petitions.number10.gov.uk/ie6upgrade/">a petition</a> to discourage an discontinue the use of IE6.</p>
<p>Web developers consistently dislike IE6 for its many bugs, it&#8217;s lack of technology even for the date when it was launched but mostly because 9 years down the line even the best browser on earth should have long been retired. For a web developer, dealing with IE6 has been a major pain for years and it&#8217;s a source of frustration that great technology is deterred by having to support an ancient browser.</p>
<p>IE6 is not dead yet, but it&#8217;s terminal. Without Google support, with governments advocating against, with awareness spreading it is a matter of time, and not much of it, for IE6 to be largely abandoned.</p>
<p>Yay! We web developers applaud!</p>
<p>Now, how about the users? The user that has been using the same browser that came with their computer when it was bought. The user who has never upgraded software before and is afraid to start doing it. The user that is used to its piece of software and doesn&#8217;t want to change.</p>
<p>Do they have to upgrade just because some developers say so? Should they applaud too?</p>
<p>Ultimately, developers and users have a common objective: An open, accessible and usable web, so if we can applaud as informed developers the only thing that could prevent the user from applauding is the information itself.</p>
<p>IE6 has been around since 2001. If you consider that the web itself had only come to life in the early 90ies, this is as modern for web years as a car from the 50ties for the history of automobiles. For as  lovely as 50ies models may be it&#8217;s hardly reasonable to argue that our streets and roads have to be build with these cars in mind.</p>
<p>Yes, some people still driving today learned to drive in those models and it may also be true that if roads had been build encouraging them to keep these cars, by now they&#8217;d be struggling to accept a more modern model and they&#8217;d be upset if  they were now told by engineers that their cars are too big, consume to much petrol, emit too much carbon, are accident prone and overly not suitable for modern city life.</p>
<p>And rightly so because engineers would had failed to make the transition smooth but not necessarily because they should be entitled to drive anything they&#8217;d fancy on the streets.</p>
<p>A system chosen from the combinatory explosion of different browsers, different operating systems and different hardware(*) should ideally be tailored to the user&#8217;s needs and reflect their preferences on how to interact with the web and in this sense, it&#8217;s only fair that we, as developers, build a web the users can, though the technology they&#8217;ve chosen, reassemble the pieces in the way that suit them best.</p>
<p>In practice, many of the systems the users have are not built this way but instead are commodities and so are guided by price and availability.</p>
<p>It may well be that us, developers, had failed to make this transition smooth during the years. It may also be that the browser wars and Microsoft being next to a monopoly for many years had left us in a situation where not much could have been done other than support IE6 for so long.</p>
<p>But surely this is not to say a browser that is used by a minority of people that find challenging to update software should be artificially maintained in detriment of being able to fully use technology that may help people who are challenged in ways that are more difficult to overcome (e.g., physical and cognitive impairments).</p>
<p>If IE6 users mostly use that browser because it&#8217;s available to them, then is up to developers (web developers, browser developers  and other developers alike) to make available for them better technology and allow them to change their game. And we should do it in the most helpful way we can but we should not feel forced to support old technology cluttering the roads for the fear of upgrading. Is the fear that must be removed, not the upgrade.</p>
<p>And if we are to learn something from the last decade of web and browser development, then I&#8217;d say it should be to work on educate and help users to continuously move forward to better technology rather to artificially maintain a fairy tale with chewing gum and strings.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2010/02/ie6-is-dead-who-should-applaud/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2010/02/ie6-is-dead-who-should-applaud/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Make your own inexpensive fish eye webcam]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/" />
		<id>http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/</id>
		<updated>2009-05-15T13:17:35Z</updated>
		<published>2009-05-15T13:17:35Z</published>
		<category scheme="http://www.z-oc.com/blog" term="Zo'C" />		<summary type="html"><![CDATA[Native fish eye lenses can be very expensive, a cheap and nice alternative is a multiplier lens that you can attach to your native lenses. Last week I bought for Anna a Opteka .35x Super Wide Angle Panoramic Macro Fisheye Lens (Amazon Uk, Amazon US) that I found to be affordable and very good. Now, [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/"><![CDATA[<p>Native fish eye lenses can be very expensive, a cheap and nice alternative is a multiplier lens that you can attach to your native lenses.</p>
<p><a href="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/trying_lens/" rel="attachment wp-att-501"><img src="http://www.z-oc.com/blog/wp-content/uploads/2009/05/trying_lens-300x225.jpg" alt="Trying the fiseye lens on the webcam" title="Trying the fiseye lens on the webcam" width="300" height="225" class="left size-medium wp-image-501" /></a></p>
<p>Last week I bought for <a href="http://www.annazuhlke.com/">Anna</a> a Opteka .35x  Super Wide Angle Panoramic Macro Fisheye Lens (<a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref%255F%3Dnb%255Fss%255Fce%26y%3D0%26field-keywords%3DOpteka%2520.35x%2520HD%25C2%25B2%2520Super%2520Wide%2520Angle%26url%3Dsearch-alias%253Delectronics&#038;tag=zc0c-21&#038;linkCode=ur2&#038;camp=1634&#038;creative=19450">Amazon Uk</a>, <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26x%3D0%26ref%255F%3Dnb%255Fss%255Fgw%26y%3D0%26field-keywords%3DOpteka%2520.35x%2520HD%25C2%25B2%2520Super%2520Wide%2520Angle%26url%3Dsearch-alias%253Daps&#038;tag=zoc-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">Amazon US</a>) that I found to be affordable and very good.</p>
<p>Now, instead of attaching this lens to your camera like you normally do, this one is attached to your lens filter attachment ring and because lenses have different diameters for filter rings, the lens which connects to a 52mm ring, comes with adaptors to connect it to 58mm and 67mm filter rings and this is when I started having an idea.</p>
<p>You know, this lens is to be put in front of another lens, so what about attaching it to your webcam and have some wide fun with it? Nothing simpler!</p>
<p><span id="more-499"></span><br />
For this hack, I need an external webcam as I need to be able to put an attachment ring in front of it and you can&#8217;t do this with the built in camera. So I&#8217;m using a Logitech E 3500 a central cylinder of a toilet tissue roll, the adaptor ring that came with the lens and some scotch tape.</p>
<p>The webcam choice is basically because my good friend <a href="http://www.carbonsilk.com">James Broad</a>, who has been very serious about photography lately, bought one on the cheap and it worked on his MacBook Pro. As a Mac user, I needed to be sure, but you can use any webcam that suits you, just remember thatthe shape of the camera is important, as you&#8217;ll have to attach the ring to it.</p>
<p>Cut the paper cylinder to about 5cm, make 8 regular longitudinal cuts of about 2cm each and open them, accommodate the adaptor ring on it and secure it with scotch tape. Attach the camera on the other end and secure it with more scotch tape. Yes is that easy.</p>
<p><a href="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/mounted_lens/" rel="attachment wp-att-505"><img src="http://www.z-oc.com/blog/wp-content/uploads/2009/05/mounted_lens-225x300.jpg" alt="Mounting the Lens on the webcam" title="Mounting the Lens on the webcam" width="225" height="300" class="left size-medium wp-image-505" /></a></p>
<p>Now, mind you that you have to put the lens in the right position which means parallel to the lens on the webcam, the easiest way of doing this is attaching the lens to the attachment ring and look at the image it produces using your favourite webcam application (I just used Skype configuration panel, since I was already using skype). Align it and use the scotch tape to firmly fix the paper cylinder to the webcam.</p>
<p>Thanks to this trick you can attach and detach your Fish Eye lens to your webcam, so you can still use your lens with your normal camera and use your webcam in the normal way.</p>
<p>Toilet tissue and Scotch tape &mdash; I hear you saying &mdash; isn&#8217;t there a neater solution?</p>
<p>There sure is, but this one costs pretty much nothing, you can do it in 10 minutes, you don&#8217;t need special tools and you probably have everything at home, other than the lens itself. Because you are not breaking or cutting anything you can undo it at any time you like.</p>
<p>Enjoy!</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/#comments" thr:count="9" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2009/05/inexpensive-fish-eye-webcam/feed/atom/" thr:count="9" />
		<thr:total>9</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Sourdough: Bread hacking and social baking &#8211; Barcamp London Slides]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2009/03/sourdough-bread-hacking-and-social-baking-barcamp-london-slides/" />
		<id>http://www.z-oc.com/blog/?p=495</id>
		<updated>2009-03-28T17:57:05Z</updated>
		<published>2009-03-28T17:57:05Z</published>
		<category scheme="http://www.z-oc.com/blog" term="Zo'C" /><category scheme="http://www.z-oc.com/blog" term="baking" /><category scheme="http://www.z-oc.com/blog" term="barcamplondon6" /><category scheme="http://www.z-oc.com/blog" term="bread" />		<summary type="html"><![CDATA[I&#8217;m at Barcamp London 6 having a blast and I&#8217;ve made my presentation on Bread Hacking and Social Baking. Sourdough: Bread Hacking and Social Baking View more presentations from Guilherme Zühlke o&#8217;connor. Yes, there is a lot of geek-ish and hack-ish goodness in baking bread and if you wish to incorporate this goodness onto your [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2009/03/sourdough-bread-hacking-and-social-baking-barcamp-london-slides/"><![CDATA[<p>I&#8217;m at <a href="http://www.barcamplondon.org/">Barcamp London 6</a> having a blast and I&#8217;ve made my presentation on Bread Hacking and Social Baking.</p>
<div style="width:425px;text-align:left" id="__ss_1214753"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/guioconnor/sourdough-bread-hacking-and-social-baking?type=powerpoint" title="Sourdough: Bread Hacking and Social Baking">Sourdough: Bread Hacking and Social Baking</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sourdough-hacking-bread-090328124825-phpapp01&#038;stripped_title=sourdough-bread-hacking-and-social-baking" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sourdough-hacking-bread-090328124825-phpapp01&#038;stripped_title=sourdough-bread-hacking-and-social-baking" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/guioconnor">Guilherme Zühlke o&rsquo;connor</a>.</div>
</div>
<p>Yes, there is a lot of geek-ish and hack-ish goodness in baking bread and if you wish to incorporate this goodness onto your life, you may find these slides useful.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2009/03/sourdough-bread-hacking-and-social-baking-barcamp-london-slides/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2009/03/sourdough-bread-hacking-and-social-baking-barcamp-london-slides/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Image optimization for the web: Slides]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2009/02/image-optimization-slides/" />
		<id>http://www.z-oc.com/blog/2009/02/image-optimization-slides-2/</id>
		<updated>2009-02-19T10:25:27Z</updated>
		<published>2009-02-19T10:25:27Z</published>
		<category scheme="http://www.z-oc.com/blog" term="Art &amp; Design" />		<summary type="html"><![CDATA[Image Optimization for The Web View more presentations from Guilherme Zühlke o&#8217;connor. (tags: filesize web) I&#8217;ve put in Slideshare slides on Image Optimization for the Web from a presentation I did yesterday. By optimization I don&#8217;t only mean reducing file size, but also colour precision, http requests and optimized coding and deployment. The slides also [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2009/02/image-optimization-slides/"><![CDATA[<div style="width:425px;text-align:left" id="__ss_1042139"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/guioconnor/image-optimization-for-the-web?type=powerpoint" title="Image Optimization for The Web">Image Optimization for The Web</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=imageoptimization-1234960564044929-2&#038;rel=0&#038;stripped_title=image-optimization-for-the-web" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=imageoptimization-1234960564044929-2&#038;rel=0&#038;stripped_title=image-optimization-for-the-web" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/guioconnor">Guilherme Zühlke o&rsquo;connor</a>. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/filesize">filesize</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/web">web</a>)</div>
</div>
<p>I&#8217;ve put in Slideshare <a href="http://www.slideshare.net/guioconnor/image-optimization-for-the-web">slides on Image Optimization for the Web</a> from a presentation I did yesterday.</p>
<p>By optimization I don&#8217;t only mean reducing file size, but also colour precision, http requests and<br />
optimized coding and deployment.</p>
<p>The slides also show and extensive benchmark of image production alternatives and compares file<br />
sizes and quality.</p>
<p>Also, it was a happy surprise today that Slideshare sent me an email to tell me the presentation has been<br />
editorially selected to be showcased on <a href="http://www.slideshare.net/category/design">the design section</a> today.</p>
<p>And if you like it, <a href="http://twitter.com/home?status=RT:%20@guioconnor%20Slides%20of%20my%20presentation%20on%20%22Image%20Optimization%20for%20the%20Web%22,%20have%20fun!%20http://tinyurl.com/bmm4a7">would you consider retweeting it</a>?</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2009/02/image-optimization-slides/#comments" thr:count="10" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2009/02/image-optimization-slides/feed/atom/" thr:count="10" />
		<thr:total>10</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Colour reduction algorithms in Photoshop]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2009/01/colour-reduction-algorithms-phothoshop/" />
		<id>http://www.z-oc.com/blog/2009/03/untitled/</id>
		<updated>2009-01-30T01:40:35Z</updated>
		<published>2009-01-30T01:40:35Z</published>
		<category scheme="http://www.z-oc.com/blog" term="On The Web" /><category scheme="http://www.z-oc.com/blog" term="Tutorial" />		<summary type="html"><![CDATA[When you export graphics to be used in web pages, file size is important and for as obsolete as Gifs may seem to the eyes of some, don&#8217;t be mistaken, the indexed color system isn&#8217;t going anywhere. Even if Gifs are a bit in decline, Png files can use the indexed color system and this [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2009/01/colour-reduction-algorithms-phothoshop/"><![CDATA[<p><img class="left" src="http://www.z-oc.com/blog/wp-content/uploads/2009/01/colour-reduction-algorithms-in-phtoshop.png" alt="Colour Reduction Algorithms in Phtoshop"></p>
<p>When you export graphics to be used in web pages, file size is important and for as obsolete as Gifs may seem to the eyes of some, don&#8217;t be mistaken,<br />
the indexed color system isn&#8217;t going anywhere. Even if Gifs are a bit in decline, Png files can use the indexed color system and this is actually very useful.</p>
<p>Despite the predominance of Jpegs and support to millions of colours, many images are simple enough that they could benefit of using more modest color systems<br />
like indexed color which allows for up to 256 colours but allows you to control with precision which colours these would be and exactly how many, allowing for<br />
extremely compact image sizes.</p>
<p><span id="more-367"></span><br />
The RGB system allows you to represent up to 16,777,216 colours. Each colour is represented by 24bits; 8 bits for each of the red, green and blue channels.</p>
<p>This is the cost of having a wide colour spectrum for an image, which is much welcome for that picture you took at the paradisiac island you went on your last holidays.<br />
You need blues and greens for skies and sea, yellows, oranges and reds for the flowers and exotic birds and so on. You can&#8217;t settle for less.</p>
<p>Now, how about the icons on your navigation bar? Say they are 16px tall and 16pixels wide. They have only 256 pixels overall, so you can&#8217;t possibly have more<br />
than 256 colours, even if no two pixels share the same.</p>
<p>Of course is very rare that an image has every single pixel of a different colour, so in practice you have significantly bigger images with no more than 256 colours.<br />
Further, there are types of images that, for as big as they can be, they have a limited number of colours, for instance, illustrations and drawings with no gradients<br />
or with small ones.</p>
<p>This is where the indexed color system comes in handy.</p>
<p>In this mode, you can have only up 8 bits per pixel. Compared with 24 in RGB, that is a third of the uncompressed size. Very tempting and even more so when<br />
you discover that you can specify the image depth (the amount of bits per pixel) to any amount up to 8. So, if you can afford to have only 16 colours, you only<br />
need 4 bits per pixel.</p>
<p>Photoshop, just as any other half-decent image editor, will allow you to work in RGB for flexibility and to export files in indexed colour on Gif or PNG format for<br />
the web (and on several other formats, that I won&#8217;t cover here).</p>
<p>Now, it is a fact that if we remove some of the colours of a colourful image we won&#8217;t notice. In fact, this is how the Jpeg compression algorithm works; it will discard<br />
colour information to reduce the file size.</p>
<p>The GIF and PNG compression algorithms are quite different and, in fact you can use that to your advantage, because while the Jpeg will always discard colour information,<br />
the GIF and PNG compression algorithms are conservative and they will preserve your image intact. This is particularly important for drawings and illustrations that have<br />
much less details than photographs and even little losses can be quite damaging.</p>
<p>But having said that, you can use photoshop to discard some of the colours in the image before you export them as GIF or PNG.</p>
<p>To save images for the web in Photoshop, you have to go to File &rarr; &#8220;Save for web &amp; Devices&#8221;. A dialog will open showing you the original image and how the final image will look like.</p>
<p>Now, in the right pane, you&#8217;ll see several options and if you select either PNG-8 or GIF, you will have a box for the colour reduction algorithm that allows you to chose<br />
from </p>
<ul>
<li>Perceptual</li>
<li>Selective</li>
<li>Adaptive</li>
<li>Restrictive (Web)</li>
<li>Custom</li>
<li>Black &amp; White</li>
<li>Grayscale</li>
<li>MacOS</li>
<li>Windows</li>
</ul>
<p>Let&#8217;s start for the easy ones. Black &amp; white will make pixels either black or white. No shades of gray, no colours, only one bit for each pixel. Grayscale will use<br />
8 bits per pixel and will approximate each pixel to a shade of gray, the resulting image will have no colour, but will have shades of gray. MacOS and Windows will<br />
approximate the colours on the image to the closest colour of the basic palette of these systems and custom will allow you to pick the colours you want on your palette.</p>
<p>Custom is very powerful, but can also be very annoying. Also, very often you already selected some colours that you&#8217;ve put on your image and you want to preserve.</p>
<p>This is where Perceptual, Selective and Adaptive come in.</p>
<p>If the original image contains more colours than the output file (you can select the number of colours on the right pane, up to 256) some will have to be adapted.</p>
<p>The <em>Perceptual</em> algorithm will create a palette that prioritizes the colours that the human eye has greater sensitivity. This means that colours that appear more<br />
frequently may not be present in the resulting image at all.</p>
<p>The <em>Selective</em> algorithm will prioritize broad regions of colours. If you want to keep your colours as faithful as possible<br />
to the original, this one is more likely to do that.</p>
<p>The <em>Adaptive</em> algorithm on the other hand will prioritize the colours present in more pixels across the image. Predominant hues will have more tones<br />
in the palette.</p>
<p>Finally, <em>Restritive (web)</em> is a bit out of fashion these days but in the old days when was uncommon for computer monitors to show more than 256 colours<br />
a special palette was created for the web with colours that any monitor would be able to show. This palette is made of 6 equidistant shades of each of the three<br />
RGB channels. The tones are 0&#215;00, 0&#215;33, 0&#215;66, 0&#215;99, 0xcc and 0xff. Meaning that you can combine these to form the 216 colours of the web palette, for instance<br />
the colour 0x33ffcc is a web safe colour. You may never need this last one, but it won&#8217;t hurt to know either, right?</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2009/01/colour-reduction-algorithms-phothoshop/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2009/01/colour-reduction-algorithms-phothoshop/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Domain redirect wizardry with .htaccess rules]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2009/01/htaccess-redirect-wizardry/" />
		<id>http://www.z-oc.com/blog/2009/01/untitled/</id>
		<updated>2009-01-02T17:10:47Z</updated>
		<published>2009-01-02T17:10:47Z</published>
		<category scheme="http://www.z-oc.com/blog" term="Server Side" /><category scheme="http://www.z-oc.com/blog" term="Tutorial" /><category scheme="http://www.z-oc.com/blog" term="Apache" /><category scheme="http://www.z-oc.com/blog" term="domain" /><category scheme="http://www.z-oc.com/blog" term="redirect" /><category scheme="http://www.z-oc.com/blog" term="wizardry" />		<summary type="html"><![CDATA[So you decided your domain doesn&#8217;t fit you as well as you&#8217;d like. And you are also afraid you&#8217;ll be losing all the old links and search engine ranking if you move to a new one. Maybe you also want to use the current domain for a different project that suits it best. Or maybe [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2009/01/htaccess-redirect-wizardry/"><![CDATA[<p>So you decided your domain doesn&#8217;t fit you as well as you&#8217;d like. And you are also afraid you&#8217;ll be losing all the old links and search<br />
engine ranking if you move to a new one. Maybe you also want to use the current domain for a different project that suits it best.</p>
<p>Or maybe you just want to change the structure of your URLs or you want a different URI structure in the new domain.</p>
<p>Let&#8217;s see how to write some htaccess rules so Apache can do the magic for you.</p>
<p><span id="more-342"></span></p>
<h3>Redirect the whole domain</h3>
<p>Redirecting a whole domain with .htaccess rules is easy. All you have to do is to put the rules below in an file named .htaccess<br />
in the root directory for your old domain.</p>
<pre><code>
RewriteEngine on
RewriteRule ^(.&lowast;)$ http://www.newdomain.com/$1 [R=301,L]
</code>
</pre>
<p>Let&#8217;s see how the magic happens.</p>
<p>The first line is merely to turn on the Rewrite engine on apache and enable the rewrite rules to be interpreted.</p>
<p>The second line is composed of 4 parts.</p>
<ol>
<li>The RewriteRule keyword</li>
<li>A regular expression (regex) to match the original URI</li>
<li>The URI to be redirected to and </li>
<li>Parameters</li>
</ol>
<p>The regular expression in this case is <code>^(.*)$</code>. The dot, in a regular expression matches a character, any character except the newline.<br />
That means that any letter, number or symbol container in a URL will be matched. The asterisk <code>(&lowast;)</code> means that you want to repeat the regex it affects<br />
zero or more times.</p>
<p>Simply put, <code>(.&lowast;)</code> matches any amount of non-newline characters, including zero.</p>
<p>Additionally, the carat <code>(^)</code> represents the start of a line and the dollar sign <code>($)</code> represents the end, so the whole expression<br />
matches a line of zero or more non-newline characters, i.e., the whole path of your URI inside your domain.</p>
<p>The third part is the URI to redirect to. As you see, is pretty straightforward, the only tricky bit is the <code>$1</code>.</p>
<p>The reason for it is that you don&#8217;t want to redirect any URI in the old domain to the root of your new domain. What you want is to redirect<br />
each page for the equivalent in the new one. For instance this URI</p>
<pre><code>http://www.oldomain.com/path/to/page</code></pre>
<p>Should redirect to</p>
<pre><code>http://www.newomain.com/path/to/page</code></pre>
<p>Now, for every regular expression inside parenthesis the text it matches is stored for use in the third part as a variable. The variables are called<br />
<code>$1</code>, <code>$2</code>, <code>$3</code> and so on. We have only one Regex matching the whole path (remember the domain name is not included)<br />
so we have the whole path stored in <code>$1</code>.</p>
<h3>Altering the URI structure</h3>
<p>It may be the case that you don&#8217;t like the current structure of your URI&#8217;s. If your blog has URIs like this</p>
<pre><code>www.olddomain.com/blog/category/2009-12-20-post-title</code></pre>
<p>Say we decide dates are not that important, we only want to keep the year, and we want it separated by a slash, rather than a dash. Additionally,<br />
we want to get rid of the &#8216;blog&#8217; keyword, since the whole domain is for the blog. The following rule will do the trick.</p>
<pre><code>
RewriteEngine on
RewriteRule ^blog/(.&lowast;)/([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])-(.&lowast;)$ http://www.newdomain.com/$1/$2/$5 [R=301,L]
</code></pre>
<p>Here we have 5 matches being put into variables, one for each pair of parenthesis.</p>
<dl>
<dt>The category ($1)</dt>
<dd>Matches the first set of non-newline characteres after &#8216;blog/&#8217; and the before the following slash.</dd>
<dt>The Year ($2)</dt>
<dd>Matches 4 consecutive digits after the second slash and before the first dash after that</dd>
<dt>The Month ($3)</dt>
<dd>Matches 2 consecutive digits between the first and second dashes after the second slash</dd>
<dt>The day ($4)</dt>
<dd>Matches 2 consecutive digits between the second and third dashes after the second slash</dd>
<dt>The Post Slug ($5)</dt>
<dd>Matches all the rest of the line</dd>
</dl>
<p class="warning">Before we proceed, notice a peculiarity here. Because the rule starts with the carat (^) and ends with the dollar sign ($) you are<br />
matching the whole line in this format. If the URI doesn&#8217;t start exactly with &#8220;blog/&#8221; and has the exact amount of slashes and dashes<br />
we specified it won&#8217;t be a match and will be ignored. Also, the category may be empty, as long as the two slashes are there, but the digits<br />
must be present in exact amounts. That, of course, is to be expected of any previously valid URL on the domain.
</p>
<p>Now that we have the five variables with the orginal information parsed, we can use them as we want. We decided to get rid of the blog part (which we<br />
are matching literally, instead of via regex, because it&#8217;s too simple), month and day and reorganize category, year and post slug. We will use the<br />
first, second and fifth variables and simply ignore the rest.</p>
<pre><code>http://www.newdomain.com/$1/$2/$5/</code></pre>
<p>If you don&#8217;t want to redirect to a new domain but just rearrange the URIs within it, you may simply omit the domain on the redirection and use these rules</p>
<pre><code>RewriteEngine on
RewriteRule ^blog/(.&lowast;)/([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])-(.&lowast;)$ /$1/$2/$5 [R=301,L]
</code></pre>
<h3>Reusing the domain for a different project</h3>
<p>More often than not, after a domain redirect, the old domain will remain merely as an entry point for redirection. People do that for several reasons,<br />
one of them is that readers can be confused to find the old URLs being redirected to a new site and the domain being used for a new site.</p>
<p>But deciding whether or not to reuse your domain is outside the scope of this post. You may be splitting your site in two and you&#8217;ll leave part of it in<br />
the old domain or after a few years, links to your old domain may be minimal or, simply, you may have a better strategy that I can thing while writing this.</p>
<p>In any case, if you want to reuse your domain at some point, you must be aware of a few things.</p>
<p>All the URI&#8217;s redirected are taken and can&#8217;t be reused without disabling the redirection. You guessed that, of course, but you have to keep in mind that<br />
when you are using regexes for your redirects you are matching a whole class of URIs, even some that have not being used but match the pattern.</p>
<p>If you hurried up and used the first rule (repeated below) you are matching every single URI within the old domain and it means that any content there<br />
will be unreachable because the redirection rules will take precedence.</p>
<pre><code>
RewriteEngine on
RewriteRule ^(.&lowast;)$ http://www.newdomain.com/$1 [R=301,L]
</code></pre>
<p>If you used the second rule (repeated below) you are targetting a much more specific set of URIs. Anything that doesn&#8217;t have the exact format described<br />
(/blog/[characters]/[4digits]-[2digits]-[2digits]-[characters]) will be reachable.</p>
<pre><code>
RewriteEngine on
RewriteRule ^blog/(.&lowast;)/([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])-(.&lowast;)$ http://www.newdomain.com/$1/$2/$5 [R=301,L]
</code></pre>
<p>You&#8217;ll be able to even run a blog under <code>http://www.olddomain.com/blog/</code> as long as you don&#8217;t use the exact same URI structure. Again<br />
whether or not this is a good idea is up to you to decide.</p>
<h3>301 or 302 redirects</h3>
<p>Finally, you may have noticed that one of the parameters on the last part of the rules is the number 301. This is the type of redirection you are<br />
performing. You can use either 301 or 302 as redirection codes, 301 stands for a permanent redirection, whereas 302 stands for a temporary redirection.</p>
<p>Redirection codes are informed to user agents (browsers), search bots and anyone else who may want to know. While both redirection codes will take you<br />
to the new URI, there are important consequences of choosing either.</p>
<p>Because user agents and bots are informed of the redirection code, they can take actions based on them.</p>
<p>A temporary redirection is equivalent to an &#8220;Out For Lunch&#8221; sign. For some reason, the page is being redirected, but you are confirming the user is on<br />
the permanent URI for the resource. Bear in mind that &#8220;temporary&#8221; doesn&#8217;t imply in any length of time, you are only saying &#8220;Yes, this is the URI. We<br />
are operating there right now, but come back here the next time&#8221;.</p>
<p>Reasons for that could be:</p>
<dt>Maintenance page</dt>
<dd>You may want to redirect the whole traffic of your page for a few minutes or hours while you are performing an upgrade</dd>
<dt>Feedburner redirect</dt>
<dd>If you use feedbuner, you may want people to subscribe to an URI within your domain, but redirect to feedburner. If<br />
    one day you want to use a different service, all your subscribers use your URI, so they will be automatically redirected.</dd>
<p>A permanent redirection is stronger, it is equivalent to say &#8220;We moved, we are now operating there and we are not coming back. Next time<br />
you may prefer to go there straight away&#8221;. The consequence of that<br />
is that search bots, intelligent user agents, social bookmarking sites and whoever else may care, can update their links to the new location.</p>
<p>This is what is going to make possible for Search Engines to transfer the status of your site to the new structure.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2009/01/htaccess-redirect-wizardry/#comments" thr:count="23" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2009/01/htaccess-redirect-wizardry/feed/atom/" thr:count="23" />
		<thr:total>23</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Using Gravatars on your site]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2008/12/using-gravatars-on-your-site/" />
		<id>http://www.z-oc.com/blog/?p=308</id>
		<updated>2008-12-12T18:22:44Z</updated>
		<published>2008-12-12T18:22:44Z</published>
		<category scheme="http://www.z-oc.com/blog" term="On The Web" />		<summary type="html"><![CDATA[You may have noticed that, thanks to the magic of Gravatar, commenters on this blog now have faces besides the comments. Gravatar stands for Globally Recognized Avatar and what it does is to allow people to create an account, register as many emails as you may have and attach avatars to each. This image can [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2008/12/using-gravatars-on-your-site/"><![CDATA[<p>You may have noticed that, thanks to the magic of <abbr title="Globally Recognized Avatar">Gravatar</abbr>,  commenters on this blog now have faces besides the comments.</p>
<p><div id="attachment_310" class="wp-caption left" style="width: 310px"><img src="http://www.z-oc.com/blog/wp-content/uploads/2008/12/gravatars_on_zoc-300x163.png" alt="Gravatars on Zo&#039;C" title="Gravatars on Zo&#039;C" width="300" height="163" class="size-medium wp-image-310 left" /><p class="wp-caption-text">Gravatars on Zo'C</p></div> Gravatar stands for Globally Recognized Avatar and what it does is to allow people to create an account, register as many emails as you may have and attach avatars to each. This image can be retrieved by any site through your email, so anyone who knows your email, may know how you look like, or what kind of image you&#8217;ve chosen to represent yourself.</p>
<p>And as I said, it doesn&#8217;t have to be a single image for all emails. If you have different emails for different purposes, your avatar would display the image you&#8217;ve set up for it, leaving you to different images for different email addresses.</p>
<h3>Getting Started</h3>
<p>First things first, if you don&#8217;t know what a gravatar then the best thing to do is start by getting one for yourself, although you don&#8217;t need one in order to use avatars on your website.</p>
<p>Go to <a href="http://en.gravatar.com/">Gravatar&#8217;s site</a>, sign up for free, add at least one email address and an image for it. You can leave a comment on this post and you&#8217;ll see your face besides it.</p>
<h3>Putting Gravatars on your site &mdash; the hard way</h3>
<p>Once you&#8217;ve put your hands on someone&#8217;s avatar, all you have to do is to get encode it using an hexadecimal MD5 hash for the email and add it to the end of this url</p>
<p><code>
<pre>http://www.gravatar.com/avatar/</pre>
<p></code></p>
<p><img src="http://www.gravatar.com/avatar/4c7e77a76f68420298c3e2cf692a47a9&#038;s=92" class="left" />This is to protect the privacy of your user&#8217;s email. For instance, the MD5 hash of my email  4c7e77a76f68420298c3e2cf692a47a9. This is one directional cryptography, meaning that you can&#8217;t, in practice, know what the email is, but if you know the email, you can easily produce this string.</p>
<p>You can easily get my Gravatar by asking for the image at </p>
<p><code>
<pre>http://www.gravatar.com/avatar/6f4484a28c0debf9a262d25b998df8f3</pre>
<p></code></p>
<p>And you can pass parameters to for sizes and many other things. For a full list see <a href="http://en.gravatar.com/site/implement/url">the explanation on their site</a>.</p>
<h3>Putting Gravatars on your site &mdash; The easy way</h3>
<p>Hash encoding email addresses may not be your cup of tea, but you can probably guess that there are many implementations around for Gravatars.</p>
<p>If you use WordPress &ge; 2.5, all you have to do is call the get_avatar() function. The first argument is the comment author email or Hass, the second one is the size (optional) and a third optional argument is allowed to specify the URL of a default image for those who haven&#8217;t got a Gravatar yet.</p>
<p><code>
<pre>&lt;?php
    if (get_bloginfo('version')>=2.5) {
        echo get_avatar( $comment->comment_author_email, $size = '72');
    }
?&gt;</pre>
<p></code></p>
<p>If you use another platform, check the extensive <a href="http://en.gravatar.com/site/implement">list of implementations</a> that can help you integrate Gravatars on your site.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2008/12/using-gravatars-on-your-site/#comments" thr:count="6" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2008/12/using-gravatars-on-your-site/feed/atom/" thr:count="6" />
		<thr:total>6</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[WordPress iPhone App]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2008/12/wordpress-iphone-app/" />
		<id>http://www.z-oc.com/blog/?p=296</id>
		<updated>2008-12-11T23:10:43Z</updated>
		<published>2008-12-11T23:10:43Z</published>
		<category scheme="http://www.z-oc.com/blog" term="On The Web" /><category scheme="http://www.z-oc.com/blog" term="Blogging" /><category scheme="http://www.z-oc.com/blog" term="download" /><category scheme="http://www.z-oc.com/blog" term="iphone" /><category scheme="http://www.z-oc.com/blog" term="iPhone App Wordpress" /><category scheme="http://www.z-oc.com/blog" term="tool" /><category scheme="http://www.z-oc.com/blog" term="Wordpress" />		<summary type="html"><![CDATA[I may be a bit outdated, I know, but I just discovered the WordPress iPhone App, and nothing better than using it to write about itself. I don&#8217;t think there&#8217;s much to say. If you use wordpress you know you should expect a quality tool and you can do most things you would do on [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2008/12/wordpress-iphone-app/"><![CDATA[<p><a href="http://www.z-oc.com/blog/wp-content/uploads/2008/12/l-640-480-8eae093a-af4a-4399-98bb-29c9bd26b137.jpeg"><img src="http://www.z-oc.com/blog/wp-content/uploads/2008/12/l-640-480-8eae093a-af4a-4399-98bb-29c9bd26b137.jpeg" alt="" width="300" height="225" class="left size-full wp-image-364" /></a></p>
<p>I may be a bit outdated, I know, but I just discovered the WordPress iPhone App, and nothing better than using it to write about itself.</p>
<p>I don&#8217;t think there&#8217;s much to say. If you use wordpress you know you should expect a quality tool and you can do most things you would do on the web interface but with added mobility and you can use your iPhone camera (which is lame, I know, but is handy and it&#8217;s always with you).</p>
<p>I have just started exploring it, but I don&#8217;t see much missing for a quick post editor to carry on the pocket. The one thing I do think it could be present (and is one of the reasons why I&#8217;ve got an iPhone in the first place) is the ability to use geodata on your posts from within the app. I hope this feature is present in future versions.</p>
<p>In any case, the app is quite nice, it&#8217;s free and you can find it on<br />
<a href="http://iPhone.wordpress.org ">iPhone.wordpress.org</a></p>
<p>(And yes, the lame picture on this post was taken with my iPhone)</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2008/12/wordpress-iphone-app/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2008/12/wordpress-iphone-app/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Spotify, Music in the cloud in a timely service]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2008/10/spotify-music-in-the-cloud-in-a-timely-service/" />
		<id>http://www.z-oc.com/blog/2008/10/spotify-music-in-the-cloud-in-a-timely-service/</id>
		<updated>2008-10-21T20:09:51Z</updated>
		<published>2008-10-21T20:09:51Z</published>
		<category scheme="http://www.z-oc.com/blog" term="On The Web" /><category scheme="http://www.z-oc.com/blog" term="music" /><category scheme="http://www.z-oc.com/blog" term="Review" /><category scheme="http://www.z-oc.com/blog" term="service" /><category scheme="http://www.z-oc.com/blog" term="spotify" /><category scheme="http://www.z-oc.com/blog" term="the cloud" />		<summary type="html"><![CDATA[Moving further towards the life in the cloud, I&#8217;ve been beta testing Spotify, a new music service, and I&#8217;m loving it. Cloud computing is a term referring to the web as an abstract cloud providing you the services you need without having to rely on a local system for more than connecting to the internet [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2008/10/spotify-music-in-the-cloud-in-a-timely-service/"><![CDATA[<p>Moving further towards the life in the cloud, I&#8217;ve been beta testing <a href="http://www.spotify.com">Spotify</a>, a new music service, and I&#8217;m loving it.</p>
<p><a href="http://en.wikipedia.org/wiki/Cloud_computing">Cloud computing</a> is a term referring to the web as an abstract cloud providing you the services you need without having to rely on a local system for more than connecting to the internet and the services you require.</p>
<p>Spotify is just like that!</p>
<p>They have signed up with several major record labels to create a huge music repository you can browse and play instantly, categorize and share with friends. The simplest explanation I can give you goes like this: &#8220;Is just like your iTunes, but with a much bigger library.</p>
<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1900024&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1900024&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br /><a href="http://vimeo.com/1900024?pg=embed&amp;sec=1900024">Spotify – the story</a> from <a href="http://vimeo.com/spotify?pg=embed&amp;sec=1900024">Spotify</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1900024">Vimeo</a>.</p>
<h3>Why is timely?</h3>
<p>First, let me rant a bit about the music industry.</p>
<p>For many, many years, people bought LPs, then CDs and, while tapes have been available for a long time, they were never preferred. Most of us (all?) did record a tape for a friend when asked and moral consequences of that were minimal, if at all. The means to copy and the final quality were rudimentary enough not to cause a deep impact on the music industry.</p>
<p>Since the advent of the CD recorder and music and video compresssion formats like mp3, copying has not only been made easier, but often more convenient than the traditional method. I remember once I&#8217;ve seen a comment in the internet of some huge collector of downloaded audio and video saying:</p>
<blockquote><p>I don&#8217;t mind paying for a film or music I want, what I mind is the need to antecipate my film or music choices in a day or more, when technology exists to make it available immediately</p>
<p><cite>Anonymous user on a forum</cite></p></blockquote>
<p>Now, before anything else, I&#8217;m <strong>not</strong> in favor of piracy, not at all. But having said that, that speech has a point: pirate downloads offer, in many aspects, a better service than the traditional process, labels are still trying to enforce. Of course the price is unbeatable, well at least until you get caught, but I&#8217;m inclined to believe a good part of the piracy only happens because of lack of music distribution services that are compatible with the times we live.</p>
<p>What about iTunes store? I hear you asking. Fair point! I haven&#8217;t said there aren&#8217;t, just that they are in short supply. And what about <a href="http://www.last.fm/">last.fm</a>? You might add. Yes, they too!</p>
<p>Let&#8217;s compare them!</p>
<dl>
<dt>The iTunes Store</dt>
<dd>The iTunes store is pretty much similar to the traditional method, but with great advantages. You can buy songs individually, you can have them downloaded imediately and start listening. Additionally you keep some, once you downloaded it, the song is yours, you can backup it, synchronize your iPod&#8230; it&#8217;s yours. Just like a CD.</p>
<p>On the shortcomings side, you have to manage your own backups, disk space, synchronization, etc. But probably the biggest problem is, just like CD&#8217;s that you have to buy the songs to even try them. If you don&#8217;t like them, you have to pay anyway.
</dd>
<dt>Last.fm</dt>
<dd>One of my favourite features on last.fm is the variety of artists, it is on the cloud, you don&#8217;t have to worry about a thing, it is a great service, but not surprisingly, given its name, is more analogous to a radio than to your own music collection.</dd>
</dl>
<h3>How Spotify works</h3>
<p>You can have either a free or paid Spotify account. The free version will present 30 seconds ads every now and then (not very often, IMO), the premium version will allow you to go completely ad-free for a very monthly fee. And a very cool feature is the 24 hours ad-free pass.</p>
<p>Now, the bad news. Because Spotify is still in Beta, signing up for the free service is invite only. So you need to either receive one from a friend or subscribe to the invite list. To do so, go to <a href="http://www.spotify.com/en/">Spotify</a> click on &#8220;Get Started&#8221; and add your email to the list.</p>
<p>And before you ask, I wish I could give some invites, but unfortunately, I have none <img src='http://www.z-oc.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Once you have your account, you don&#8217;t need to keep a music library, the songs are streamed from the server, and because of that you can try and use all the songs you want and you don&#8217;t pay extra for songs you didn&#8217;t liked or you don&#8217;t want to keep. Even with iTunes, if you want to share a song with a friend, your friend must buy if before she knows if it&#8217;s worthy.</p>
<p>With Spotify, anyone having an account can freely accept your suggestions at no extra cost. To me, this sounds just like life in the cloud should be.</p>
<h3>The problems</h3>
<p>Of course, there are shortcomings as well. First and foremost, is not as portable as music you actually have, physically. If you don&#8217;t have internet access, you are out of music which is pretty much a problem of cloud computing as a whole. Also, you need a client to listen to songs, and for the time being, that is only available to Mac and PC (and to Linux via Wine), but no mobiles so far.</p>
<p>Having free accounts, you know you will still be able to access &#8220;your songs&#8221; even if you quit the premium account, which is a good thing.</p>
<h3>Conclusion</h3>
<p>At this point I should say I&#8217;m not affiliated with Spotify in any way, I just like their service but I do encourage you to register either on the waiting list or for a trial on the premium service because I think this is the way music is going and I&#8217;m very happy it is.</p>
<p>Spotify, can we have movies too?</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2008/10/spotify-music-in-the-cloud-in-a-timely-service/#comments" thr:count="16" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2008/10/spotify-music-in-the-cloud-in-a-timely-service/feed/atom/" thr:count="16" />
		<thr:total>16</thr:total>
	</entry>
		<entry>
		<author>
			<name>guioconnor</name>
					</author>
		<title type="html"><![CDATA[Fight Poverty: Action + Attitude]]></title>
		<link rel="alternate" type="text/html" href="http://www.z-oc.com/blog/2008/10/fight-poverty-action-attitude/" />
		<id>http://www.z-oc.com/blog/2008/10/fight-poverty-action-attitude/</id>
		<updated>2008-10-15T22:06:16Z</updated>
		<published>2008-10-15T22:06:16Z</published>
		<category scheme="http://www.z-oc.com/blog" term="The Bee Side" />		<summary type="html"><![CDATA[Today is blog action day and the theme is poverty, and I&#8217;ve been struggling for weeks to find a subject to write on and following discussions today, I realized many other people are in the same boat. I did wrote yesterday a post saying that poverty isn&#8217;t off-topic in any blog niche, and I certainly [...]]]></summary>
		<content type="html" xml:base="http://www.z-oc.com/blog/2008/10/fight-poverty-action-attitude/"><![CDATA[<p>Today is <a href="http://blogactionday.org/">blog action day</a> and the theme is poverty, and I&#8217;ve been struggling for weeks to find a subject to write on and following discussions today, I realized many other people are in the same boat.</p>
<p>I did wrote yesterday a post saying that poverty isn&#8217;t off-topic in any blog niche, and I certainly believe that&#8217;s true. Why is, then, so hard to write about it?</p>
<p>Maybe my good friend Jen said it best when she says <a href="http://forum.authorityblogger.com/showthread.php?t=1845#post15190">that any post that comes to mind seems to carry a bit of hypocrisy</a>, and certainly Chris Garret has a point when he says <a href="http://www.chrisg.com/blog-action-day-2008/">&#8220;good intentions are not good without actions&#8221;</a>.</p>
<p>According to blog action day stats, Today 12,044 sites have blogged about poverty and hopefully, risen awareness about poverty, but, I&#8217;ll join Sue Clark on saying: <a href="http://forum.authorityblogger.com/showthread.php?t=1845#post15173 ">Just blogging about poverty is not enough</a>. </p>
<p>Awareness about poverty is high enough, what is lacking is attitude and not information. If 12,044 posts have today lead to 12,044 actual actions to fight poverty, then I&#8217;ll call it success, but if a good part of these posts are just transferring the responsibility to the reader, then is time wasted.</p>
<h3>What can you do?</h3>
<p>Actions fall in two categories: long time strategies, and short time solutions. Ideally, actions that fall in the first category will help wipe poverty from the face of the earth, but the short time solutions are essential to supply the immediate needs of people, literally, starving to death or being unable to supply very basic needs.</p>
<p>Short time solutions</p>
<ul>
<li>Donate money to an organization</li>
<li>Engage in activities to raise funds or help manage one</li>
<li>Donate what you don&#8217;t want, instead of selling on eBay</li>
<li>Donate your professional skills to help find and optimize solutions</li>
</ul>
<p>You don&#8217;t have to cross the world to find people in the need of help. Living in one of the wealthiest cities in the world, London, I tell you there is plenty to do here. I&#8217;m sure there&#8217;s plenty to do near you as well. If there isn&#8217;t, you can always engage online.</p>
<p>Long time strategies</p>
<ul>
<li>Educate both rich and poor</li>
<li>Help create sustainable solutions in terms of cost of solutions/revenue</li>
<li>Help change the greed mentality</li>
</ul>
<h3>The greed mentality and the credit crunch explained</h3>
<p>Nothing is more harmful to the delicate balance of the human beings than trying to have plenty of limited resources. There is only a certain amount of wealth in the world, and is more than enough to all of us.</p>
<p>More often than not people seem to want to be really rich. And what&#8217;s that for? The only reasonable answer I see for willing to be rich is to have more stability over life, which is a fair point. Still, it&#8217;s a fragile thought.</p>
<p>People believe to think they are as wealthy as they money they have. But money is just an abstraction and, as <a href="http://www.wait-till-i.com/2008/10/15/onpoverty-action/">Christian Heillmann pointed it quite accurately</a>, these days is an abstraction to no real world goods, merely speculation, then, bam, credit crunch! Where has the wealth gone? Nowhere, it has never been there.</p>
<p>But I&#8217;m slightly digressing now, the point is, greed is making some people rich and, as consequence, others poor. <a href="http://www.i-marco.nl/weblog/archive/2008/10/15/make_greed_history ">Make Greed history</a> and you&#8217;ll make poverty history. And if you don&#8217;t have poverty, why would you bother in being rich to live with stability?</p>
<p>Easier said than done, I hear some saying. I&#8217;m not sure, it seems that becoming poor and broken is even easier than fulfilling the objective, while trying to become rich.</p>
<p>Finally, is not about you or me being rich or trying to, but where you shop and what. Is about who you endorse with your money. As my cousin Saverio told me once: You don&#8217;t make politics voting, you make politics buying. Chose carefully where and what to buy!</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.z-oc.com/blog/2008/10/fight-poverty-action-attitude/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.z-oc.com/blog/2008/10/fight-poverty-action-attitude/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	</entry>
	</feed>

