<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-600830508999956712</id><updated>2012-02-16T08:30:57.628Z</updated><category term='sites'/><category term='Analytics'/><category term='Time Machine'/><category term='Lion'/><category term='Wordpress'/><category term='Azure .NET cloud'/><category term='security'/><category term='Amazon'/><category term='iCloud'/><category term='Gmail'/><category term='Magento'/><category term='Sitefinity'/><category term='Apple'/><category term='Azure memcached'/><category term='Blogger'/><category term='Azure'/><category term='Google'/><category term='Google Security'/><category term='App Engine'/><category term='Sitefinity Azure SQL'/><category term='Picasa'/><category term='iPhone'/><category term='Labs'/><category term='Vosao'/><category term='CMS'/><category term='Mac'/><category term='Internet Explorer'/><category term='Google Apps'/><category term='Cloud'/><title type='text'>Living and working in the Internet age</title><subtitle type='html'>Thoughts and experiences along the way</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-1466670049017325997</id><published>2012-01-06T21:34:00.000Z</published><updated>2012-01-06T21:34:29.770Z</updated><title type='text'>Many VMs keep it neat</title><content type='html'>I've been working a lot on Virtual Machines recently so I can keep all the code and settings for each project I'm working on separate. When I need a desktop dev environment or a web server I just create a &amp;nbsp;new VM!&lt;br /&gt;&lt;br /&gt;It sounds overkill to start a new machine for each project but here are several reasons why creating one is a great idea.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Separation&lt;/b&gt; - When you have a whole machine for each project it's impossible for one set of tools to get in the way of the other. You can keep the config right for just that project.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Backup&lt;/b&gt; - I snapshot each machine before I do something big. The ability to go back to a point in time in one click is incredibly powerful if you use it regularly. I also run an rsync script regularly to copy the VMs to another drive, so you are not relying on one HDD. You just copy one file and you have the whole machine backed up.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Keep your "host" clean and running fast&lt;/b&gt; - When you install many apps on one machine they generally slowly get clogged up and confusing. I use OSX as my host and run mostly linux and Win7 in the VMs.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Software versions&lt;/b&gt; - I recently needed 2 different versions of the same software for different tasks. Creating a new machine made it so easy.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I started off using &lt;a href="http://www.vmware.com/fusion" target="_blank"&gt;VMware Fusion&lt;/a&gt;, as I used to work with VMware ESX and was always impressed with it. However I've recently been using &lt;a href="http://www.virtualbox.org/" target="_blank"&gt;VirtualBox&lt;/a&gt; more and more. It's free and I haven't found anything I can't do with it yet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;A few tips:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Run &lt;a href="http://www.dropbox.com/" target="_blank"&gt;dropbox&lt;/a&gt; on the machines and keep any files you want to move between machines on there. It's the perfect backed up, versioned shared directory.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You need lots of Ram. I have a Mac Pro with 2 dual core processors which can cope fine with 3 VMs running simultaneously. RAM you can't really do without. I use 10GB which always leaves plenty for the &amp;nbsp;Mac too.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-1466670049017325997?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/1466670049017325997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2012/01/many-vms-keep-it-neat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1466670049017325997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1466670049017325997'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2012/01/many-vms-keep-it-neat.html' title='Many VMs keep it neat'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-914933551774295179</id><published>2011-08-17T13:32:00.000+01:00</published><updated>2011-08-17T13:32:16.919+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magento'/><title type='text'>Finding lost attributes in Magento</title><content type='html'>&lt;div class="p1" style="font: normal normal normal 15px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We have recently launched our new site&amp;nbsp;&lt;a href="http://www.thistribe.com/"&gt;www.thistribe.com&lt;/a&gt;, a new eCommerce site selling high end equipment to the Military and other members of the security industry.&lt;/span&gt;&lt;/div&gt;&lt;div class="p1" style="font: normal normal normal 15px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="p1" style="font: normal normal normal 15px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Using&amp;nbsp;&lt;a href="http://www.magentocommerce.com/"&gt;Magento&lt;/a&gt;&amp;nbsp;we have been able to very rapidly develop a cutting edge site with the vast array of modules that have been written for it. We already have a good network of developers ready for future projects. with it's recent&amp;nbsp;&lt;a href="http://www.magentocommerce.com/blog/comments/ebay-agrees-to-acquire-magento/"&gt;acquisition by e-bay&lt;/a&gt;&amp;nbsp;it looks like it is going to be the e-commerce platform to be reckoned with, so we made a good choice.&lt;/span&gt;&lt;/div&gt;&lt;div class="p1" style="font: normal normal normal 15px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="p1" style="font: normal normal normal 15px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Having not worked with Magento before it has been a steep learning curve, but it's very powerful. The database looks incredibly complicated as it uses and EAV pattern. This allows you to extend it easily without schema changes. For example the way the site uses attributes and attribute sets for products is very powerful, all down to EAV.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-yH4zKGUlEbk/TkumsJHQcOI/AAAAAAAAAGw/bxIOoHgEq0I/s1600/MAGENTO_v1.3.2.4---Database_Diagram.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="286" src="http://2.bp.blogspot.com/-yH4zKGUlEbk/TkumsJHQcOI/AAAAAAAAAGw/bxIOoHgEq0I/s400/MAGENTO_v1.3.2.4---Database_Diagram.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Magento database Schema (V1.3)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Since the site went live we have been continually improving things and adding features. One of these tasks was adding a Google Shopping feed. We are using the module from &lt;a href="http://wyomind.com/"&gt;Wyomind&lt;/a&gt;&amp;nbsp;This product will generate all sorts of different format feeds from your products in Magento. You can manually edit the templates from within the admin site and even test the output before you generate the files. Pierre, the creator has also been incredibly responsive and helpful in adding features, I can't recommend it highly enough.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We have used several different attributes for product size as obviously all products don't have the same sizing attributes. As each product only uses one of these we just put them all into the template, only the one that has a value will output the tag:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_head_sealskinz}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_gloves}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_head}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_head_truspec}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_pants}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_jacket}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_shoe}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;g:size&amp;gt;{size_socks}&amp;lt;/g:size&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This works fine, for most products! We found a few that very strangely had 2 sizes, event stranger was that some hat products had 2 sizes, the correct one for a hat, and another for a jacket.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Obviously something was not right. It all looked fine in the Magento admin site, so it was time to look into the database itself.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We spent a while looking for the relevant records, it's made a little trickier by the fact that all the attributes are stored in attribute sets.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The important tables are:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="p1"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;catalog_product_entity&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="p1"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This allows you to find the entity_id from your SKU.&lt;/span&gt;&lt;/div&gt;&lt;div class="p1"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="p1" style="font-weight: bold;"&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;catalog_product_entity_int&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="p1"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For attributes with multiple options this table will have rows for the entity_id you just found.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="p1" style="font-weight: bold;"&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="p1"&gt;&lt;title&gt;&lt;/title&gt;&lt;style type="text/css"&gt;p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial}&lt;/style&gt;&lt;/div&gt;&lt;div class="p1" style="font-weight: bold;"&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;eav_attribute_option_value&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="p1"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This is where all the options in an attribute set are. So you look for your text of the attribute in here.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;You can see a full list of the actions and SQL used &lt;a href="https://docs.google.com/document/pub?id=1j3ST9CXJ6etCxHGqRI6sJ8n1ReSTHFPnjXQDbm33DQA"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Magento is a very powerful but complex product. It takes time to understand the underlying structure but it's time well spent when you run into problems like this.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-914933551774295179?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/914933551774295179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/08/finding-lost-attributes-in-magento.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/914933551774295179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/914933551774295179'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/08/finding-lost-attributes-in-magento.html' title='Finding lost attributes in Magento'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-yH4zKGUlEbk/TkumsJHQcOI/AAAAAAAAAGw/bxIOoHgEq0I/s72-c/MAGENTO_v1.3.2.4---Database_Diagram.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-7690283905947284764</id><published>2011-06-13T17:40:00.006+01:00</published><updated>2011-06-14T06:49:24.471+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='iCloud'/><title type='text'>iCloud is using Amazon and Azure for storage</title><content type='html'>Breaking news, very interestingly Apple's new iCould service seems to be using both Amazon and Azure as backends for it's services. This &lt;a href="http://www.infiniteapple.net/is-icloud-utilizing-microsoft-azure-and-amazons-cloud-services/"&gt;article&lt;/a&gt; on &lt;a href="http://www.infiniteapple.net/"&gt;InfiniteApple&lt;/a&gt; shows that URL's to content are indeed Amazon and Azure CDN links .&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess this makes sense although I'm sure some Apple users won't like it, such is their hatred of Microsoft, the idea of making money and relying on the arch enemy might be too much! It will be interesting to see if this is just a Beta thing or whether it will make it into the final release. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It makes sense in that Apple doesn't have the experience of this sort of storage service. It's much more likely to succeed if they use tried and tested services. It does make you wonder what they are storing in their nice &lt;a href="http://www.theregister.co.uk/2011/06/09/apple_maiden_data_center/"&gt;new shiny data centers&lt;/a&gt; though.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-7690283905947284764?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/7690283905947284764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/06/icloud-is-using-amazon-and-azure-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7690283905947284764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7690283905947284764'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/06/icloud-is-using-amazon-and-azure-for.html' title='iCloud is using Amazon and Azure for storage'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-4409557756770720492</id><published>2011-06-07T11:45:00.015+01:00</published><updated>2011-06-13T17:36:27.202+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iCloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Lion'/><title type='text'>iCloud is the new Mac glue and it looks sticky</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-NnjotLtghZI/TfYZVC39isI/AAAAAAAAAGY/9kkfcJtGG14/s1600/overview_title.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 174px; height: 200px;" src="http://2.bp.blogspot.com/-NnjotLtghZI/TfYZVC39isI/AAAAAAAAAGY/9kkfcJtGG14/s200/overview_title.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5617705434530810562" /&gt;&lt;/a&gt;Apple has recently released details of it's new iCloud product. It has been slow to come to the market with a full Cloud offering (it has built new data centers to launch this one) and is significantly behind other players in this field. Google is nearly completely Cloud based, it's upcoming foray into client OS - Chrome will just be away of running a browser, but even Microsoft, a traditional thick client animal, as is Apple, has made more ventures into this space with its &lt;a href="http://office.microsoft.com/en-us/web-apps/"&gt;Office Web Apps and SkyDrive&lt;/a&gt; services.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems Apple has a different vision for the Cloud, as the glue that holds its devices together. The focus seems much less on Cloud storage or as an application platform but rather as simply a system to sync application data and devices.&lt;br /&gt;&lt;br /&gt;This should not come as a surprise of course as Apple is all about client hardware and software. With the iPhone and iPad now they are assuming that every Mac convert will have at least 2 Apple products, and these need to be backed up and in sync, a logical conclusion.&lt;br /&gt;&lt;br /&gt;It's about time, this has been missing, with mobileMe as the only similar offering previously from Apple. Even Steve Jobs in his recent keynote announcing iCloud made fun of it and admitted it wasn't the finest product they had ever released!&lt;br /&gt;&lt;br /&gt;iCloud has clearly been well thought out and is deeply app integrated, your apps will use it's services for their individual requirements. App Store and iTunes are major beneficiaries of this, and will keep a history of your purchases and allow you to download them to all your devices. As well as the obvious apps like iCal and Adress book backing up their data, iWork will sync all it's docs as well. iPhones will back up their config and data, including music which should be an end to plugging your iPhone in via USB.&lt;div&gt;You get the picture, this is the real benefit of iCloud, not only do you have all your data on every device, but if you loose a device you just sign in on a new one and all your data and settings are downloaded instantly over WiFi. In typical Apple fashion it will be largely self configuring, I can believe that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think they may have got it really right with their new Photostream service. This basically ensures that all your recent photos are available on every device, irrespective of which device you took them on. This is great for sharing photos as without this sort of service photos end up either not shared or being emailed around. So this looks like a well thought out solution.&lt;br /&gt;Photostream stores your images for 30 days, all devices store your last 1000 images while all desktop and laptop computers will keep the entire history as long as you add them to albums. Nice.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;How do you get it? Well it's all going to miraculously appear when you upgrade you iPhone and iPad to iOS5 and your Macs to Lion. Lion will be available through the App Store in July, they have moved away from a physical media route which is great. They are clearly trying to get everyone to upgrade, Lion will be a $30 upgrade, iCould is free and comes with 5GB of storage space. I'm sure there will be an option to upgrade your storage although this hasn't been announced yet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's not all white fluffy clouds however, there are some dark ones too. With the retirement of MobileMe we may actually lose some of Apples online services, it's not clear yet. There is a lot of talk on the Net about service like webmail, iWeb hosting, iPhoto web galleries and iDisk. As yet there seems to be no news from Apple on these.&lt;/div&gt;&lt;div&gt;They have announced that you will still be able to use me.com email adresses so it seems strange that they would remove the webmail functionality. I hope that these new Cloud based services will not be a closed shop when it comes to integration with other services. A beta API has been released so hopefully this shows a commitment to opening all the new services up.&lt;br /&gt;&lt;br /&gt;It's going to be an interesting autumn for Apple users, I wonder if they will be able to lure me back to iPhone....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-4409557756770720492?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/4409557756770720492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/06/icloud-is-new-mac-glue-and-it-looks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4409557756770720492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4409557756770720492'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/06/icloud-is-new-mac-glue-and-it-looks.html' title='iCloud is the new Mac glue and it looks sticky'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-NnjotLtghZI/TfYZVC39isI/AAAAAAAAAGY/9kkfcJtGG14/s72-c/overview_title.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-1140572807916757161</id><published>2011-06-06T18:46:00.003+01:00</published><updated>2011-06-06T22:48:54.401+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><title type='text'>Microsoft urges you to abandon Internet Explorer</title><content type='html'>&lt;div&gt;Well version 6 of the browser anyway!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's been the bain of every HTML designer for years, so it's good to see Microsoft publicly encouraging people to upgrade. I wonder how many will stay with IE, it seems that growing numbers are turning to &lt;a href="http://www.mozilla.com/en-US/firefox/new/"&gt;Firefox&lt;/a&gt; and &lt;a href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt; to replace it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see how they are doing at &lt;a href="http://www.theie6countdown.com/default.aspx"&gt;http://www.theie6countdown.com/default.aspx&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-K2G3fWk--PU/Te1KzvylbCI/AAAAAAAAAGI/qqJBZpvdM0U/s1600/Screen%2Bshot%2B2011-06-06%2Bat%2B23.46.04.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 181px;" src="http://3.bp.blogspot.com/-K2G3fWk--PU/Te1KzvylbCI/AAAAAAAAAGI/qqJBZpvdM0U/s320/Screen%2Bshot%2B2011-06-06%2Bat%2B23.46.04.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5615226563263294498" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;China and India lead the way in remaining IE6 users. I'm guessing this is directly related to the number of users using Windows Update. Draw your own conclusions from that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm looking forward to not having to worry about supporting IE6 when writing web sites, Google have &lt;a href="http://googledocs.blogspot.com/2011/06/our-plans-to-support-modern-browsers.html"&gt;already announced&lt;/a&gt; that they will not be supporting it for their browser based apps after August 1st. They claim that the desired support for HTML5 has led to this decision.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Happy days!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-1140572807916757161?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/1140572807916757161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/06/microsoft-urges-you-to-abandon-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1140572807916757161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1140572807916757161'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/06/microsoft-urges-you-to-abandon-internet.html' title='Microsoft urges you to abandon Internet Explorer'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-K2G3fWk--PU/Te1KzvylbCI/AAAAAAAAAGI/qqJBZpvdM0U/s72-c/Screen%2Bshot%2B2011-06-06%2Bat%2B23.46.04.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-9076513443247646664</id><published>2011-06-02T16:37:00.003+01:00</published><updated>2011-06-02T16:51:53.895+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='Gmail'/><title type='text'>Google post on blog about account security</title><content type='html'>&lt;div&gt;Google today has &lt;a href="http://www.bbc.co.uk/news/world-asia-pacific-13626548"&gt;revealed&lt;/a&gt; that a cyber attack aimed at top US officials, military personnel and journalists originated from Jinan in China. Although Google said it's systems were not breached, some passwords were fraudulently obtained in this way. Attacks of this sort are on the increase with the hackers aiming to get sensitive information by getting the user to enter their password into a fake website designed to look like the one you are expecting. Known as spear phishing, the technique has reached epidemic proportions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;In my &lt;a href="http://blog.matthewcooper.info/2011/05/free-2-factor-authentication-for-google.html"&gt;recent post&lt;/a&gt; I encouraged you to use the free 2 factor authentication Google provides, yesterday Google published this on their &lt;a href="http://googleblog.blogspot.com/2011/06/ensuring-your-information-is-safe.html"&gt;official blog&lt;/a&gt;. 2 Factor authentication and a strong password are the best defence against someone hacking your account. Of course you need to make sure that you are entering your details into the correct website, simple!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-9076513443247646664?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/9076513443247646664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/06/how-to-secure-your-google-account-see.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9076513443247646664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9076513443247646664'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/06/how-to-secure-your-google-account-see.html' title='Google post on blog about account security'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-622743743813039705</id><published>2011-05-28T19:48:00.008+01:00</published><updated>2011-05-29T07:21:52.799+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Labs'/><category scheme='http://www.blogger.com/atom/ns#' term='Gmail'/><title type='text'>If you use Gmail...</title><content type='html'>&lt;div&gt;I use this feature in Gmail so much I forgot it wasn't standard! It's a simple and free feature in the Labs. There are lots of cool things in Labs, check them out, just click the little wheel icon in the top right hand side of your browser then select Labs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-0CbU-FNJQw4/TeHkSqGOnLI/AAAAAAAAAF0/NgRdD66uNE0/s1600/Screen%2Bshot%2B2011-05-29%2Bat%2B07.13.50.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 116px; height: 122px;" src="http://4.bp.blogspot.com/-0CbU-FNJQw4/TeHkSqGOnLI/AAAAAAAAAF0/NgRdD66uNE0/s320/Screen%2Bshot%2B2011-05-29%2Bat%2B07.13.50.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5612017619869539506" /&gt;&lt;/a&gt;Just click to enable the simple but awesome "Send and Archive" feature. What does it do I hear you ask? Well, (obviously) it simply archives a conversation after sending a mail.... This means you can keep you inbox tidy and easy to manage with the least effort. If someone replies in your conversation then the conversation appears back in your inbox.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you aren't using the Archive feature of Gmail, shame on you :)&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sunday morning, another cup of coffee.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-622743743813039705?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/622743743813039705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/05/if-you-use-gmail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/622743743813039705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/622743743813039705'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/05/if-you-use-gmail.html' title='If you use Gmail...'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0CbU-FNJQw4/TeHkSqGOnLI/AAAAAAAAAF0/NgRdD66uNE0/s72-c/Screen%2Bshot%2B2011-05-29%2Bat%2B07.13.50.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-2529560928608917333</id><published>2011-05-16T15:28:00.005+01:00</published><updated>2011-05-16T16:20:17.520+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Security'/><title type='text'>Free 2 factor authentication for Google accounts, use it!</title><content type='html'>At the last company I ran, &lt;a href="http://www.bmycharity.com/"&gt;Bmycharity.com,&lt;/a&gt; we needed a 2 factor authentication system to pass the stringent PCI certification requirements as we were processing lots of credit card information. It cost a lot of money and you needed to carry yet another device around with you.&lt;br /&gt;&lt;br /&gt;It was good though, it really worked, but what is it?&lt;br /&gt;&lt;br /&gt;Simply put it works by requiring 2 pieces of information from you when you log in, something you know and something you have. Your password you know, hopefully, you then generate a code from the security device (the something you have) and log in. The code you generate only works once, so even if someone sees you enter the code, or somehow records it, it is of no use to them after you logged in, neat huh?&lt;br /&gt;&lt;br /&gt;Without something like this all that a hacker needs is your password and they might as well be you. You should of course have a strong password policy enforced on your  system but then what tends to happen is that people write passwords down  because they are complicated, back to square one.&lt;br /&gt;&lt;br /&gt;The good news is that if you use Google there is now a free (of course) solution provided by the mighty G. 2 factor authentication is now &lt;a href="http://googleblog.blogspot.com/2011/02/advanced-sign-in-security-for-your.html"&gt;available on all Google accounts&lt;/a&gt; after initially rolling it out to Apps customers.&lt;br /&gt;&lt;br /&gt;This really is a great addition to your account  and I strongly urge you to use it. The more information you store in Google the more attractive it is to hackers, do you really want anyone with an internet connection to be one (maybe simple, maybe written in your wallet) password away from being able to use your Checkout account?&lt;br /&gt;&lt;br /&gt;It gets better; you don't need to buy or carry round another electronic device, in fact you probably have it already - your phone. If you have a BlackBerry, iPhone or Android powered phone you simply install the App on your phone which generates the one time access codes.&lt;br /&gt;&lt;br /&gt;There are a couple of nice touches too, if you use the same PC all the time and you are happy that it's secure, you can check a box at login and it won't prompt you for another code for 30 days. For apps and services that don't know how to prompt you for a verification code, like deploying App Engine code for instance, then you can generate an application specific strong  password from your account page.&lt;br /&gt;&lt;br /&gt;I've been using it for about a month now and have no complaints, although I've had to find my phone a few times to generate a new code, the frustration soon wears off knowing my account is secure and hey, I know where my phone is, all good.&lt;br /&gt;&lt;br /&gt;There is a getting started guide &lt;a href="http://www.google.com/support/accounts/bin/static.py?page=guide.cs&amp;amp;guide=1056283"&gt;here&lt;/a&gt;, go and do it now and you will sleep better tonight.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-2529560928608917333?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/2529560928608917333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/05/free-2-factor-authentication-for-google.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/2529560928608917333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/2529560928608917333'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/05/free-2-factor-authentication-for-google.html' title='Free 2 factor authentication for Google accounts, use it!'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-7047673342745021293</id><published>2011-05-07T08:33:00.003+01:00</published><updated>2011-05-07T08:57:54.133+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Royal Wedding site sensibly heads for the clouds</title><content type='html'>If you want a good example of when to use a scalable, distributed Cloud service like GAE  for hosting a website then the &lt;a href="http://www.officialroyalwedding2011.org/"&gt;Royal Wedding site&lt;/a&gt; is certainly a good example.&lt;br /&gt;&lt;br /&gt;The site is very different from most sites in many ways, especially from a technical standpoint (sorry no more mentions of dresses, kissing or Pippa Middleton from here on).&lt;br /&gt;For a start it is relatively short lived, in all honesty it's not going to get many hits over the next year, especially with the choice of domain name. &lt;a href="http://www.accenture.com/"&gt;Accenture&lt;/a&gt;, who created the site saw this and also that they were going to get a huge (unknown) spike on the day.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This from the &lt;a href="http://googleappengine.blogspot.com/2011/05/royal-wedding-bells-in-cloud.html"&gt;Google App Engine blog&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"The Official Royal Wedding web site generated over 2,000 requests per second, serving 15 million page views from 5.6 million visitors on the day of the wedding. Despite this load, the web site ran smoothly, serving off Google’s shared platform without disturbing the other 200,000+ apps, which collectively serve over 1.5 billion views per day."&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So GAE was an easy choice, scale up effortlessly to handle a truly worldwide demand spike but then scale back down afterwards. No infrastructure investment or management panic. It obviously helps if you have some Googlers watching your App as well!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Impressive stuff. As I've posted on the blog, it would be very interesting to have a debrief from someone at Google so we can see things like how many instances did the system start to cope with this spike?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When building sites on GAE it's reassuring to see real world examples like this that work without problems.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.officialroyalwedding2011.org/"&gt;http://www.officialroyalwedding2011.org/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-7047673342745021293?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/7047673342745021293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/05/royal-wedding-site-sensibly-heads-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7047673342745021293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7047673342745021293'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/05/royal-wedding-site-sensibly-heads-for.html' title='Royal Wedding site sensibly heads for the clouds'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-8014916357640356658</id><published>2011-05-06T09:41:00.004+01:00</published><updated>2011-05-06T10:53:13.283+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps'/><title type='text'>Google moves Apps towards business.</title><content type='html'>It looks like the mighty Google machine is slowly turning &lt;a href="http://www.google.com/apps/"&gt;Google Apps&lt;/a&gt; into an offering aimed more directly at businesses. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've just received an email for one of the many accounts I manage saying the following:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 13px; "&gt;"As of May 10, any organisation that signs up for a new account will be required to use the paid Google Apps for Business product in order to create more than 10 users."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it looks like the original limit of 200 users (and then the ability to ask for more) is being further eroded. It certainly seemed a very generous offer and looks like all existing domains using the free version will still be able to add more users. More recent domains I've set up are limited to 100 users so it looks like this will be the final offering, pushing people to head over to the Business version once they go past 10 users.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-8014916357640356658?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/8014916357640356658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/05/google-moves-apps-towards-business.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8014916357640356658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8014916357640356658'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/05/google-moves-apps-towards-business.html' title='Google moves Apps towards business.'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-9015220097697078656</id><published>2011-01-20T15:44:00.005Z</published><updated>2011-01-20T16:21:52.026Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Picasa'/><title type='text'>Keeping all your pictures online and safe</title><content type='html'>With digital cameras recording larger and larger file sizes the question of where to store all your images and movies while making sure they are safe is a question that keeps coming up.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Every time I download a set from a camera I want them to be available to me and people I share them with, while making sure that they are not at the mercy of a disk failure or losing a laptop. Now we don't print pictures as much there is always the danger of losing precious memories.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are obviously lots of options for software to manage your images on your PC and then upload the to an online service, with an ever growing library I am looking for a service where I'm not going to run out of space or incur large charges.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have now settled on Google's &lt;a href="http://picasa.google.com/features.html#utm_medium=embed&amp;amp;utm_source=pwalogin"&gt;Picasa Web Albums&lt;/a&gt; for the online storage and sharing. A large part of the reason for this was because the extra storage options seemed such good value. 80GB for $20 is hard to beat. You can go up to 16TB for $4096 a year! If I was starting up an online agency then I might well look at this as a storage platform as there are no traffic fees. Full details of the storage costs are &lt;a href="http://picasa.google.com/support/bin/answer.py?hl=en&amp;amp;answer=39567"&gt;here&lt;/a&gt;. Of course this also comes with all the usual Google goodness in terms of backup, once you have uploaded to their storage you can assume your memories are safe.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've also started using the excellent &lt;a href="http://picasa.google.com/mac/"&gt;Picasa for Mac&lt;/a&gt; application to make batch uploading of large numbers of files a breeze. This way you can set it off uploading a whole album overnight if you aren't on a super fast connection.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I do keep some of the images on my local machines but this is mostly just being lazy or if I want to send some directly to people. They just slow down backups and are not really necessary as the Picasa web site is great for viewing and now even editing after Google acquired &lt;a href="http://www.picnik.com/"&gt;Picnik&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only annoyance is that at the time of writing you can't add extra storage to your Google Apps account. You still get the 1GB of free storage but you can't buy more as you can with a standard account. I'm sure this will change in the future but for now it's a bit of a limitation for Apps users.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-9015220097697078656?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/9015220097697078656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2011/01/keeping-all-your-pictures-online-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9015220097697078656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9015220097697078656'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2011/01/keeping-all-your-pictures-online-and.html' title='Keeping all your pictures online and safe'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-4279995265328506603</id><published>2010-12-14T15:56:00.003Z</published><updated>2010-12-14T15:57:45.967Z</updated><title type='text'>Windows 7 admin shares</title><content type='html'>I hadn't realised up to now that Windows 7 admin shares are disabled by default.&lt;div&gt;Amazingly you seem to need to make a registry change as well as enabling sharing.. Good article &lt;a href="http://www.intelliadmin.com/index.php/2009/08/windows-7-the-admin-share/"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Suppose it makes sense but hope you can turn that on in GP or in some other way if you have large domains that need it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-4279995265328506603?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/4279995265328506603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/12/windows-7-admin-shares.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4279995265328506603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4279995265328506603'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/12/windows-7-admin-shares.html' title='Windows 7 admin shares'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-5628421430924072132</id><published>2010-11-16T10:39:00.003Z</published><updated>2010-11-16T11:15:09.478Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sitefinity'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><title type='text'>Sitefinity, the evolution of a CMS</title><content type='html'>Last week &lt;a href="http://www.telerik.com/"&gt;Telerik&lt;/a&gt; announced what the Release Candidate of &lt;a href="http://www.sitefinity.com/"&gt;Sitefinity 4&lt;/a&gt; would look like. This must have been a big week for the Sitefinity team on all levels. The announcement included the &lt;a href="http://www.sitefinity.com/purchase/license-comparison.aspx"&gt;pricing and feature matrix&lt;/a&gt; for the product which has been radically changed for the major version release. Sitefinity 4.0 will be a complete rewrite, using the latest technologies including the in house Telerik ORM data access layer.&lt;br /&gt;&lt;br /&gt;The webinar and information release provoked a lively discussion regarding both the features and the pricing of different levels on the &lt;a href="http://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/sitefinity-4-0-rc.aspx"&gt;Sitefinity forums&lt;/a&gt;.&lt;br /&gt;Martin Kirov, the &lt;a&gt;Sitefinity Business Development Manager, also&lt;/a&gt; &lt;a href="http://www.sitefinity.com/blogs/martinkirov/posts/10-11-10/sitefinity_4_0_licensing_model.aspx"&gt;explained the rationale&lt;/a&gt; behind the new product versions on the company blog.&lt;br /&gt;&lt;br /&gt;It seemed that quite a few people (including myself) were initially worried about several aspects of the new version.&lt;br /&gt;&lt;br /&gt;Particularly, many people had been looking forward to the analytics, granular permissions and form builder features, not realising these would not be available in the standard edition.&lt;br /&gt;Vassil Terziev (Telerik CEO) who very diligently commented on many of the posts on the forum, has announced that some of these features will now be extended down the range, particularly to the Standard edition which I believe was a gracious gesture, acknowledging the respect for the Sitefinity community that Telerik have. There are not many CEOs of companies that size who will either take the time to comment on individual blog posts, or concede very quickly to any well put argument for a modification. Bravo Vassil!&lt;br /&gt;&lt;br /&gt;Many users are very worried that the new feature limiting the number of concurrent users will prevent them from using the new product. This feature restricts the number of users that can simultaneously be logged into the admin part of the product depending on the version. I initially thought this would be a deal breaker for me as for a current project just starting I need lots of front end users to be able to be logged in at once. However it seems this restriction is only people logging in to the admin section of the site, not users authenticated through code on your site. Panic over for me at least.&lt;br /&gt;&lt;br /&gt;There has been a wide spectrum of comments and this wide range of views come naturally because people are using Sitefinity for a whole range of clients and uses, from Scout groups to major multinationals. Obviously these groups use the product to vastly varying degrees and one price tag was clearly not sufficient. What Telerik have set out to do is scale the product so you pay as you use it. This is a difficult but excellent aim, not just because it leads to a wider usage but also allows the cost of the product to increase proportionally with the usage - fair I think.&lt;br /&gt;&lt;br /&gt;Lino Tadros commented on the &lt;a href="http://blog.falafel.com/blogs/10-11-14/Telerik_Sitefinity_4_0_and_the_public_rsquo_s_reaction.aspx"&gt;Falafel.com blog&lt;/a&gt; making the case that Sitefinity was under priced before and must move forwards into the larger market. In his brave (and humorous) defence of the pricing terms he cites paying $250,000 per CPU for a CMS system 15 years ago. I don't think this can specifically be used as an argument for increased prices though Lino! Moore's law makes comparisons at that range a historical curiosity even without the .com bubble craziness added in.&lt;br /&gt;&lt;br /&gt;Sitefinity is changing: Telerik has put a lot of resources behind the development of 4.0 (it is apparently the largest department at the company which employs around 300 people in total). It has evolved to start to become a serious contender for the large scale CMS and Application development platform. The amount of work done on the API and extensibility shows clearly that Telerik are not only interested in the product for serving news and blog pages but as a platform for building complex sites on.&lt;br /&gt;&lt;br /&gt;The problem is that they have had to radically change the pricing and feature matrix to allow for the increasing capability of 4.0 as well as the high development costs.&lt;br /&gt;This has to happen, it is Sitefinitys coming of age, it is stepping up to compete with the  big boys with version 4. As Lino points out, being too cheap when trying to compete in that space is a distinct disadvantage!&lt;br /&gt;However, as Vassil states in &lt;a href="http://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/sitefinity-4-0-rc.aspx#1414956"&gt;answer to a post of mine on the forum&lt;/a&gt;, at the moment the feature set is limited and it's hard to see the difference between the versions. We have no modules for cloud storage or the whole application, have not seen the load balancing feature yet, no eCommerce modules and several of the modules included in 3.7 will not be available in the initial release of 4.0.&lt;br /&gt;&lt;br /&gt;However, I believe Telerik had to bite the bullet early even if it would annoy some people in the early stages. If they don't do it pre launch then it will be hard or even impossible to do it cleanly later. As soon as people are selling it and developing on it this would be a nightmare and cause much more disruption.&lt;br /&gt;&lt;br /&gt;Telerik have obviously tried very hard to make this difficult step as cleanly as possible without causing too much disruption, fully knowing that it would cause a fuss.&lt;br /&gt;They are asking for partners and developers to trust them, that if we buy in and support it now, they will turn 4.0 into the leading CMS/Application Platform.&lt;br /&gt;&lt;br /&gt;I believe them and will continue to use and develop on Sitefinity, I look forward to an exciting 2011, to Sitefinity and beyond! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-5628421430924072132?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/5628421430924072132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/11/sitefinity-evolution-of-cms.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/5628421430924072132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/5628421430924072132'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/11/sitefinity-evolution-of-cms.html' title='Sitefinity, the evolution of a CMS'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-8401175105749168321</id><published>2010-10-26T15:40:00.003+01:00</published><updated>2010-10-26T15:48:12.523+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Azure Storage Plugin for Wordpress</title><content type='html'>It's good to see from several articles on Wordpress that people are starting to think about hosting it in the Cloud. I notice that there is a &lt;a href="http://wordpress.org/extend/plugins/windows-azure-storage/"&gt;Plugin&lt;/a&gt; that allows you to use &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Azure Storage&lt;/a&gt; (and therefore the CDN) on Azure. This is fantastic as it not only backs up all your content, but also allows you to reduce the load on your server instance, great stuff.&lt;br /&gt;&lt;br /&gt;If anyone has any experience of using it in a production environment I would love to hear from you, I will be looking at Wordpress running on Azure shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-8401175105749168321?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/8401175105749168321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/10/azure-storage-plugin-for-wordpress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8401175105749168321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8401175105749168321'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/10/azure-storage-plugin-for-wordpress.html' title='Azure Storage Plugin for Wordpress'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-1431819123010534347</id><published>2010-10-25T08:04:00.009+01:00</published><updated>2012-01-06T21:36:47.185Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure .NET cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Vosao'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><title type='text'>Vosao, finally a promising CMS on Google App Engine</title><content type='html'>I have been testing and evaluating several large CMS systems recently including &lt;a href="http://www.sitefinity.com/"&gt;Sitefinity&lt;/a&gt; and &lt;a href="http://orchardproject.net/"&gt;Orchard&lt;/a&gt;,  specifically systems that can be deployed to the Cloud for speed, low startup costs and scalability. Most of my focus has been on large commercial products running on &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Azure&lt;/a&gt; or &lt;a href="http://aws.amazon.com/ec2/"&gt;Amazon EC2&lt;/a&gt;.&lt;br /&gt;Once you have added up the cost of the software, then the per hour costs of the hosting these products are fine for business but not attractive or suitable for personal projects.&lt;br /&gt;&lt;br /&gt;Over the weekend I started looking at options for my sister, who wants to host some content for some small projects and was looking at the options.  Here is the basic brief:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A few pages (around 10)&lt;/li&gt;&lt;li&gt;Low traffic sites but projects that need a permanent Internet presence.&lt;/li&gt;&lt;li&gt;A CMS so it's easy to add new pages and edit content.&lt;/li&gt;&lt;li&gt;Complete control over layout, she wants to design from scratch in Dreamweaver.&lt;/li&gt;&lt;li&gt;Some framework for adding tools, such as sending mails or creating search indexes.&lt;/li&gt;&lt;/ol&gt;She was looking at options on shared hosting platforms that although don't cost much don't really promise much either. She wants more control than you get with most blogging platforms or site builders such as &lt;a href="http://sites.google.com/"&gt;Google Sites&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enter &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_a1luyKmytn0/TMVoXct0-6I/AAAAAAAAABY/MnVzQjZa8Rk/s1600/appengine_lowres.gif"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5531942469349211042" src="http://1.bp.blogspot.com/_a1luyKmytn0/TMVoXct0-6I/AAAAAAAAABY/MnVzQjZa8Rk/s320/appengine_lowres.gif" style="cursor: pointer; float: left; height: 109px; margin: 0pt 10px 10px 0pt; width: 142px;" /&gt;&lt;/a&gt;I have been playing with GAE for a while. For me it's an awesome product, partly because of the power of the platform you are getting, the scaling ability, data store, monitoring but most of all because you get a generous free quota every day. If you hit that quota you can enable billing and pay respectable rates for what you use but for low traffic sites or testing things it's completely free. The fact that it is now being rolled out as a &lt;a href="http://code.google.com/appengine/business/"&gt;business product&lt;/a&gt; is great news, we have even been promised a hosted SQL service in the near future as well, very exciting.&lt;br /&gt;&lt;br /&gt;What it lacked though was a simple CMS (but not too simple) that could be easily deployed so users could get on with creating content rather than building an app from scratch.&lt;br /&gt;Finally we now have this with the appearance of &lt;a href="http://www.vosao.org/"&gt;Vosao&lt;/a&gt;. Vosao is an Open Source project, hosted on &lt;a href="http://code.google.com/p/vosao/"&gt;Google Code&lt;/a&gt; and already supported by an active community. They even offer to install it for you! It provides all that you need to get a few pages on the web for free while having absolute control over the layout.&lt;br /&gt;&lt;br /&gt;It is very easy to deploy to GAE, there are &lt;a href="http://www.vosao.org/start/setup"&gt;instructions on the site&lt;/a&gt;. It already has all the basics you need including users/groups, nested pages, fully controllable templates, SEO friendly URLs and more advanced concepts like a plug-in framework capability and structures. The Blog items on the home page use these to separate the markup from user content, it's very simple but elegant. There is a form builder too which looks great.&lt;br /&gt;&lt;br /&gt;I think this is going to be a great CMS, it's not yet in it's final release and there is lots more to come by the sound of it.&lt;br /&gt;&lt;br /&gt;If you are interested, head on over to the &lt;a href="http://groups.google.com/group/vosao-cms-development"&gt;Google Group&lt;/a&gt; and support it, I'm certainly going to!&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-1431819123010534347?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/1431819123010534347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/10/vosao-finally-promising-cms-on-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1431819123010534347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1431819123010534347'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/10/vosao-finally-promising-cms-on-google.html' title='Vosao, finally a promising CMS on Google App Engine'/><author><name>Matt Cooper</name><uri>http://www.blogger.com/profile/00640457964957568762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_a1luyKmytn0/TMVoXct0-6I/AAAAAAAAABY/MnVzQjZa8Rk/s72-c/appengine_lowres.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-1531110779117123619</id><published>2010-10-11T19:44:00.002+01:00</published><updated>2010-10-11T21:49:42.608+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Time Machine'/><title type='text'>Move to the cloud but don't forget your laptop</title><content type='html'>After working on several cloud storage systems over the last few months it is easy to become complacent that all you important data is stored in multiple locations around the world and it will be hard to lose it. But while this should largely be true for any server data it's important to remember your client!&lt;br /&gt;&lt;br /&gt;Losing a laptop disk is not as bad as it used to be because so much of the data is now stored online. I've been using Google Apps for all my personal email, calendars, some docs, pictures etc for some time now, so obviously this is all safe. I don't even use a local mail client now, just log in using a browser and get all that constantly updating UI goodness.&lt;br /&gt;&lt;br /&gt;I was originally using iDisk to sync other files between both my macs and also to back them up. Recently I have switched to &lt;a href="http://www.dropbox.com/"&gt;Dropbox&lt;/a&gt;&amp;nbsp;as it's free (first 2GB) and is just a fantastic product. It just works and instantly copies your files to any machines you have connected as well as pushing the data to &lt;a href="http://aws.amazon.com/s3/"&gt;Amazon S3&lt;/a&gt;, safe.&lt;br /&gt;&lt;br /&gt;So assuming most of your data is already backed up to the net losing a laptop disk is really not that much of a pain in terms of data loss. The only problems are that you will have to reinstall your OS, (OS X in the case of my laptop), install all your apps and settings and log into your online providers and wait for everything to re appear. As I found when a friends laptop died recently, this is still a major pain and takes a long time to get working again.&lt;br /&gt;&lt;br /&gt;So I started looking at whole machine backup solutions for a Mac environment. I got a pleasant&amp;nbsp;surprise&amp;nbsp;when I looked at &lt;a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html"&gt;Time Machine&lt;/a&gt;, which is included in OS X.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://www.blogger.com/goog_642912286"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Tb4gj5pa7HM/TLLe1MA1KtI/AAAAAAAAAEo/nICSKB_3G3I/s1600/Time+Machine.jpeg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I knew Time Machine essentially makes differential backups of your whole computer, it also provides a typically Apple user interface to look through your backups and recover files you have deleted or lost.&lt;br /&gt;Time Machine also allows you to do a full machine restore in the event of a disk failure which is the bit I'm really&amp;nbsp;interested&amp;nbsp;in.&lt;br /&gt;&lt;br /&gt;In my experience, when you set users up with a local backup solution that involves plugging in an external disk it just doesn't happen, they forget or do't have the time to do it, so no backups. Like in a corporate environment, backup needs to happen without the user having to do anything, or even be aware of it. &amp;nbsp;I looked at buying a &lt;a href="http://www.apple.com/timecapsule/"&gt;Time Capsule&lt;/a&gt; from Apple which is essentially a NAS device on your wireless network. They are very expensive though and I already have several wireless routers, I only want the storage.&lt;br /&gt;&lt;br /&gt;I have a Mac Pro workstation that I use for work and also for streaming music etc. After a bit of reading it looked like Time Machine on a laptop could use a network drive to back up to which was a great discovery. So I bought a 1TB extra disk for the Pro and installed it.&lt;br /&gt;To use time Machine over the network you simply map a network drive from your laptop to the workstation and then point Time Machine at it. It really works too, when you come home and fire up your laptop on the home network Time Machine will connect and backup over the wire without prompting. I have set it up for 2 laptops to the same workstation now without a problem.&lt;br /&gt;&lt;br /&gt;Great stuff, it you haven't used Time Machine before then you need to see it, you can click backwards through backups and select files to restore, all with moving stars, very Apple!&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Tb4gj5pa7HM/TLLkxIzI9zI/AAAAAAAAAFI/P7x2VB5rGr0/s1600/time+machine+screenshot.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="256" src="http://2.bp.blogspot.com/_Tb4gj5pa7HM/TLLkxIzI9zI/AAAAAAAAAFI/P7x2VB5rGr0/s400/time+machine+screenshot.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Time Machine UI, cosmic!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;This is great, especially as Apps like iPhoto and others are Time Machine aware so you can browse your photos in backups.&lt;br /&gt;&lt;br /&gt;However, I started looking at this for a complete backup so how does it work if you haven't got a running system?&lt;br /&gt;Luckily you can restore over the network when booting from the install CD, here is how to do it:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Boot from the installation disk.&lt;/li&gt;&lt;li&gt;Connect to the network, either with a cable or by joining your wireless network.&lt;/li&gt;&lt;li&gt;Run the Terminal from the Utilities menu.&lt;/li&gt;&lt;li&gt;Map a network drive to the workstation.&lt;/li&gt;&lt;li&gt;Select "Restore System From Backup" from the Utilities menu.&lt;/li&gt;&lt;li&gt;Select the network drive in the list of&amp;nbsp;available&amp;nbsp;backups.&lt;/li&gt;&lt;li&gt;Select the backup date and time you want to restore from and off you go.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Here is how you map a drive to your backup share from the console.&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-image: URL(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; mkdir /Volumes/TimeMachine   &lt;br /&gt; mount -t afp afp://[username]:[password]@[computer]/TimeMachineLaptops /Volumes/TimeMachine  &lt;br /&gt;   &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;This provides a really neat way to backup everything on your Mac without the cost of a Time Capsule. It protects you against loss of files through accidental deletion but it also protects you against a disk melting down.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-1531110779117123619?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/1531110779117123619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/10/move-to-cloud-but-dont-forget-your.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1531110779117123619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/1531110779117123619'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/10/move-to-cloud-but-dont-forget-your.html' title='Move to the cloud but don&apos;t forget your laptop'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Tb4gj5pa7HM/TLLe1MA1KtI/AAAAAAAAAEo/nICSKB_3G3I/s72-c/Time+Machine.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-9123669882571518676</id><published>2010-08-27T09:52:00.001+01:00</published><updated>2010-08-27T09:55:12.747+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Gmail'/><title type='text'>The small things in life.</title><content type='html'>I've just noticed that Gmail is now allowing you to link images in your signature block. Good one Google!&lt;br /&gt;&lt;br /&gt;I've helped scores of companies and individuals migrate their domains and email to Google and it's one of the only things that people had on their wish list. I never get any requests for help on the core functionality of the product, just the finer points like this.&lt;br /&gt;&lt;br /&gt;The editor box now has an images button and you get the following window:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Tb4gj5pa7HM/THd7iSl_ojI/AAAAAAAAAEY/KUfO4kqEoj8/s1600/sigImagePicker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://2.bp.blogspot.com/_Tb4gj5pa7HM/THd7iSl_ojI/AAAAAAAAAEY/KUfO4kqEoj8/s400/sigImagePicker.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So you still need to have your image hosted on the web somewhere but this is fine with the huge array of products out there and it's not trying to embed the image in the email, better out than in :)&lt;br /&gt;&lt;br /&gt;It's this sort of constant evolution of UI and sometimes infrastructure as well that makes Gmail the killer app that it is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-9123669882571518676?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/9123669882571518676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/small-things-in-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9123669882571518676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/9123669882571518676'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/small-things-in-life.html' title='The small things in life.'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Tb4gj5pa7HM/THd7iSl_ojI/AAAAAAAAAEY/KUfO4kqEoj8/s72-c/sigImagePicker.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-8071606578946288360</id><published>2010-08-26T16:39:00.001+01:00</published><updated>2010-08-26T16:41:37.752+01:00</updated><title type='text'>All you need to know about everything</title><content type='html'>"A human being is a part of the whole called by us universe, a part  limited in time and space. He experiences himself, his thoughts and  feeling as something separated from the rest, a kind of optical delusion  of his consciousness. This delusion is a kind of prison for us,  restricting us to our personal desires and to affection for a few  persons nearest to us. Our task must be to free ourselves from this  prison by widening our circle of compassion to embrace all living  creatures and the whole of nature in its beauty."   &lt;br /&gt;—        Albert Einstein&lt;br /&gt;&lt;br /&gt;Personally I think the man was a genius :)&lt;br /&gt;More &lt;a href="http://www.goodreads.com/author/quotes/9810.Albert_Einstein"&gt;quotes&lt;/a&gt; here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-8071606578946288360?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/8071606578946288360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/all-you-need-to-know-about-everything.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8071606578946288360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8071606578946288360'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/all-you-need-to-know-about-everything.html' title='All you need to know about everything'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-4482116391899103019</id><published>2010-08-19T08:26:00.000+01:00</published><updated>2010-08-19T08:26:53.695+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure memcached'/><title type='text'>Azure needs distributed caching built in.</title><content type='html'>I'm looking at migrating a large scale web app to Azure at the moment.&lt;br /&gt;&lt;br /&gt;The idea is to use SQL Azure for the main structure of the DB. For the time being a single DB will be used although in the future we may look at sharding to really allow it to scale out. Hopefully we will get some development on this from the Azure team so it doesn't have to be done from scratch.&lt;br /&gt;&lt;br /&gt;The hope is that by not storing bit content, images or videos in the DB itself but instead storing them on Blob Store and using the CDN to speed up delivery that the DB will not be overworked.&lt;br /&gt;&lt;br /&gt;Of course a sensible caching solution is also needed to make sure that as traffic spikes the bottleneck of the single DB does not become limiting.&lt;br /&gt;There will be several Worker Roles deployed as part of the project to groom queues including tasks like sending emails, resizing images and generating reports. It seems sensible to make these roles run a distributed cache as well so that we can keep the pressure off the DB. As the Web Role count is scaled up we will add Worker Roles too to cope with the increased load, so if we ran a distributed cache on these as well the cache would also scale in size. Of course we could add dedicated caching Roles as well if needed.&lt;br /&gt;&lt;br /&gt;I was hoping that by now the Windows AppFabric Caching would have made the jump to Azure but it seems that this is still in the pipeline. Hopefully when it arrives it will be able to be run in a Worker Role alongside our other tasks.&lt;br /&gt;&lt;br /&gt;In the interim it seems that a common option is to run Memcached in a worker role&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/winazurememcached/Release/ProjectReleases.aspx?ReleaseId=3551"&gt;http://code.msdn.microsoft.com/winazurememcached/Release/ProjectReleases.aspx?ReleaseId=3551&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IT seems that Microsoft Consulting have also been thinking about it in this blog post.&lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/mcsuksoldev/archive/2010/02/04/9958494.aspx"&gt;http://blogs.msdn.com/b/mcsuksoldev/archive/2010/02/04/9958494.aspx&lt;/a&gt;&lt;br /&gt;So this is good news!&lt;br /&gt;Any news on when we can expect this Microsoft?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-4482116391899103019?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/4482116391899103019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/azure-needs-distributed-caching-built.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4482116391899103019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4482116391899103019'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/azure-needs-distributed-caching-built.html' title='Azure needs distributed caching built in.'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-8946882928222676834</id><published>2010-08-18T16:34:00.001+01:00</published><updated>2010-08-18T16:35:35.937+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure .NET cloud'/><title type='text'>New Azure functionality that would increase app migration to the cloud</title><content type='html'>Over the past week I have been playing with migrating a couple of ASP.NET apps to Azure.&lt;br /&gt;&lt;br /&gt;The first thing I do is make sure that the DB being used its compatible with the Azure feature set. If this step doesn't work then there is little point persisting with the investigation.&lt;br /&gt;&lt;br /&gt;The next problem with apps that have a suitable database is that the App_Data folder, so heavily used in many .NET apps and rightly so as content here is not served by IIS, it's the place for all your..well...er&amp;nbsp; app data! In Azure the App_Data folder is read only though.&lt;br /&gt;&lt;br /&gt;Microsoft recommend running a minimum of 2 Web Roles in any deployment. In fact the SLA does not take effect unless you do. The Azure system will make sure these 2 roles are not hosted on the same hardware, so giving you hardware redundancy in the event of a host going down, great stuff..&lt;br /&gt;As soon as you are running 2 instances of your app, writing to the App_Data folder becomes pointless anyway as the next user request may be routed to the other instance and the change would not be visible.&lt;br /&gt;&lt;br /&gt;So this is understandable but what it does is immediately make all apps that write to this folder unsuitable for migration to Azure without significant coding changes.&lt;br /&gt;So you decide that you want to make your app to work on Azure. What to do?, you have to rewrite it to not write anything to the local storage but to store everything elsewhere.&lt;br /&gt;&lt;br /&gt;Steve Marx has created his own Web Role from a Worker Role and cleverly used it to serve web content by using Hosted Web Core internally. He got it doing 2 cool things, running a site using &lt;a href="http://blog.smarx.com/posts/serving-your-website-from-a-windows-azure-drive"&gt;content from a Azure Drive&lt;/a&gt;, and also using &lt;a href="http://blog.smarx.com/posts/update-your-windows-azure-website-in-just-seconds-by-syncing-with-blob-storage"&gt;Blob Storage to host the actual content&lt;/a&gt; of the site and sync it to all running instances.&lt;br /&gt;&lt;br /&gt;Steve himself is keen to point out that this is an interesting exercise but that use in a production environment is not recommend. As he points out, you then lose all the built in functionality of the Web Role and have to manage IIS yourself etc. &lt;br /&gt;&lt;br /&gt;However it's close to what I think we need in Azure, the ability to have a read/write area, probably App_Data that is persistent but can cope with many instances, essentially a cross between the Azure Drive example (which should be read /write already) and the Sync from Blob example but maybe just for the App_Data folder.&lt;br /&gt;&lt;br /&gt;In this way, when one Web Role changes something in App_Data, the Role itself syncs this to Azure Blob Storage (so is persistent and can be remotely managed) and raises an event that makes the other Web Roles update their folders. They could cache the content locally for speed and only overwrite when it changes.&lt;br /&gt;&lt;br /&gt;While this is probably possible by modifying the HWC examples Steve has created and creating a virtual directory, mapping App_Data to it (I'm not sure this is possible), and creating a 2 way sync between Blob Storage and other instances, I think this would be a good feature to build into Azure itself. With it Microsoft would instantly increase the potential number of existing apps that can be migrated to Azure without modification.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-8946882928222676834?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/8946882928222676834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/new-azure-functionality-that-would.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8946882928222676834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8946882928222676834'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/new-azure-functionality-that-would.html' title='New Azure functionality that would increase app migration to the cloud'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-318942043248025149</id><published>2010-08-13T15:36:00.002+01:00</published><updated>2010-08-13T16:05:53.765+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sitefinity Azure SQL'/><title type='text'>Sitefinity 4 Beta running on Azure!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;With the recent release of the long awaited Sitefinity 4 Beta I decided to see how close it was to working on Azure.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;It's been on the feature list for version 4 for some time and although it's not on the list for the Beta I was keen to see how close it was, especially in terms of the DB. I had previously tested the 3.7 version against SQL Azure and found that it didn't adhere to the SQL Azure feature set.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;So the first task was to see if the database can be easily moved to SQL Azure. If it can't then there is no point looking at migrating the application itself at this point.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;I created a new Sitefinity site using the Project Manager and let it create a new DB on the local instance of SQL 2008.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;I decided to use the SQL Azure migration wizard, a free tool available at &lt;a href="http://sqlazuremw.codeplex.com/"&gt;http://sqlazuremw.codeplex.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;This great tool allows you to script analyse and apply data to and from Azure.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Tb4gj5pa7HM/TGVTUcl0KkI/AAAAAAAAAEI/2t_BcmsB7PM/s1600/SQLAzureMW.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Tb4gj5pa7HM/TGVTUcl0KkI/AAAAAAAAAEI/2t_BcmsB7PM/s320/SQLAzureMW.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;When you run the tool you are taken through a wizard that generates a script from a datasource that you can then apply to another. Simple, but it also checks that the features of the datasource you are scripting are compatible with the feature set of SQL Azure. Although&amp;nbsp; SQL Azure is essentially a high availability 2008 SQL instance, because of the architecture of the system some features on standard 2008 are not available. For example, different file-groups are not supported, as you have no say in where Azure is storing your data this is an irrelevant feature, it's all taken care of.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt; I was really impressed that even in the Beta the team at Sitefinity have made the DB 100% compliant with the current Azure SQL feature set.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Another cool feature of this tool is that it also copies the data content of the tables at the same time. It does this by using BCP to insert the data once it has created the table. So it's a tool you can use for deploying Sitefinity projects as well (Needless to say it can also be used for backing up a database from Azure to another location).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Once you have a generated script it's simply a case of pointing the tool to your SQL Azure instance and letting it go. The tool sets out the format of the database name and the user name clearly, remember to trim off the "tcp:" that Azure puts on the connection string, you need that in apps you write but not here.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Tb4gj5pa7HM/TGVVmdY1wLI/AAAAAAAAAEQ/f87XsZygC1M/s1600/SQLAzureMWconnectionToAzureFormat.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Tb4gj5pa7HM/TGVVmdY1wLI/AAAAAAAAAEQ/f87XsZygC1M/s320/SQLAzureMWconnectionToAzureFormat.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Also remember to allow the IP address of your machine to access your Azure SQL account in the firewall settings tab of the Azure portal or you obviously won't be able to connect.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Once the tool completes running the script you will have a copy of the Sitefinity database in the cloud.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt; &lt;br /&gt;You can now test this from a local Sitefinity 4 Beta site by simply using the connection string generated by the Azure Portal and copying it into the DataConfig.config file in the project. It won't be very quick as it's going out over the net every time you hit the database but it's good for testing and proof of concept.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;In the next post I will show how easily the Sitefinity 4 Beta site can be deployed to a Azure as well.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Here is a basic video of going through the process from start to finish.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="288" id="viddler_3a29c0aa" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/3a29c0aa/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/3a29c0aa/" width="437" height="288" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_3a29c0aa"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-318942043248025149?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/318942043248025149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/sitefinity-running-on-azure.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/318942043248025149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/318942043248025149'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/sitefinity-running-on-azure.html' title='Sitefinity 4 Beta running on Azure!'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Tb4gj5pa7HM/TGVTUcl0KkI/AAAAAAAAAEI/2t_BcmsB7PM/s72-c/SQLAzureMW.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-4980202213049020442</id><published>2010-08-10T01:57:00.001+01:00</published><updated>2010-08-10T01:58:21.851+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sitefinity'/><title type='text'>Sitefinity 4.0 Beta API look</title><content type='html'>Just watched this great screencast from Lino Tadros from Falafel.&lt;br /&gt;&lt;br /&gt;Shows both the standard and fluent APIs that are the core of 4.0.&lt;br /&gt;&lt;a href="http://tv.falafel.com/default/10-08-08/Sitefinity_4_0_APIs_vs_Fluent_APIs.aspx"&gt;http://tv.falafel.com/default/10-08-08/Sitefinity_4_0_APIs_vs_Fluent_APIs.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One interesting point is that&amp;nbsp;the API is now authenticated so you will still need to authenticate the session before you can make API calls to objects that have permissions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-4980202213049020442?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/4980202213049020442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/sitefinity-40-beta-api-look.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4980202213049020442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/4980202213049020442'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/sitefinity-40-beta-api-look.html' title='Sitefinity 4.0 Beta API look'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-8911955364118109846</id><published>2010-08-05T15:56:00.002+01:00</published><updated>2010-08-05T16:00:04.175+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Blogger Stats hidden away</title><content type='html'>After setting up my Blog today I've been looking at putting Google Analytics in there (I try and put it in anything).&lt;br /&gt;&lt;br /&gt;Having put the Analytics tracking code in a simple HTML/Javascript widget I am yet to see it collecting data. So a further search finds that Blogger has it's own stats module as outlined below &lt;a href="http://bloggerindraft.blogspot.com/2010/07/introducing-blogger-stats.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This looks great although very hard to find. They also mention that if you do put in GA as I did then the stats don't match due to different collection methods, I'm looking forward to checking once my Analytics starts recording.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-8911955364118109846?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/8911955364118109846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/blogger-stats-hidden-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8911955364118109846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/8911955364118109846'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/blogger-stats-hidden-away.html' title='Blogger Stats hidden away'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-7462166791323091713</id><published>2010-08-05T10:32:00.005+01:00</published><updated>2010-08-05T14:36:59.870+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sites'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>New Blogger page</title><content type='html'>After a long time of playing with different options for collecting together all my various postings I have finally settled on Blogger over the other options.&lt;br /&gt;&lt;br /&gt;Even just looking at the options within Google it's hard to guess where they are focusing their efforts. &lt;a href="http://sites.google.com/"&gt;Sites&lt;/a&gt; is a powerful tool although I believe it is not really mature enough yet to be used in anger, more on that in another post.&lt;br /&gt;&lt;br /&gt;So I will try and collect everything here and we will see how it goes, both products seem to have pros and cons, I may end up using both!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-7462166791323091713?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/7462166791323091713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/decided-on-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7462166791323091713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/7462166791323091713'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/decided-on-blogger.html' title='New Blogger page'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-600830508999956712.post-269415353073548485</id><published>2010-08-05T09:47:00.003+01:00</published><updated>2010-10-25T13:15:03.824+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps'/><title type='text'>Blogs not yet available in Google Apps accounts</title><content type='html'>I took the bait and merged my Google Apps domain with my "proper" Google account of the same name, can't see many changes but now I need to change the email on the original account!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luckily I didn't log out of it and a page refresh revealed the very cryptic new address.&lt;br /&gt;&lt;br /&gt;Update: Looks like not much has changed for now, hopefully more products will become available shortly, I realise it's an early adopter program.&lt;br /&gt;&lt;br /&gt;UPDATE.&lt;br /&gt;&lt;br /&gt;Blogs are now available and although you can't move a blog from one account to another, you can add your Google Apps account as an author so you can edit your blog from your new account.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/600830508999956712-269415353073548485?l=blog.matthewcooper.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.matthewcooper.info/feeds/269415353073548485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.matthewcooper.info/2010/08/blogs-not-yet-available-in-google-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/269415353073548485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/600830508999956712/posts/default/269415353073548485'/><link rel='alternate' type='text/html' href='http://blog.matthewcooper.info/2010/08/blogs-not-yet-available-in-google-apps.html' title='Blogs not yet available in Google Apps accounts'/><author><name>Matt</name><uri>http://www.blogger.com/profile/04974688109068893628</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
