Moved to Blogger

Saturday, April 23, 2011

0 Comments so far - Add one
I've started building my new web site few weeks ago, I wanted it to be more attractive and easier to customize than the old one (dasBlog engine). I’ve started with Orchard CMS on Windows Azure, but quickly realized that some features I wanted were not yet available. I decided then to go for a hosted blogging service that would allow me to focus on the content and forget about the platform. This blog post describes why I chose Blogger and what’ve done to make this beautiful web page you’re looking at.

Blogger as my new platform

It took me about 10 minutes to get my blog up and running with a default template. All the features I needed were there:
  • Search engine friendliness
  • Integration with Google AdSense
  • Integration with Google Analytics
  • Custom domain
  • OpenID support
  • Picasa integration
  • FeedBurner integration
  • Support for standalone pages
  • Generous quota (Blogger does not appear to impose bandwidth limits at all).
  • Easy to customize, allows JavaScript
All I had to do was to create my own theme, add DISQUS, my tweets and all those nice things bloggers need to have. I’ve downloaded and tried some templates from btemplates.com and learned Blogger’s template system that way. In the end I wrote my own template from scratch and the JavaScript I needed (thanks jquery). It came as a surprise to me to learn that Blogger didn't support the BlogML format, so I couldn't simply import my old blog. In a way, I didn't mind because I had less than a dozen blog posts to import and I wanted to adapt the html to fit with my new Css.

The last step was to find somewhere to upload my static content. After some experimentation again, I decided to use Google App Engine (GAE) for that.

Offloading static content to Google App Engine (GAE)

Another advantage of storing static content on a separate domain is to parallelize and speed up the download process (web browsers usually limit the number of sockets to download resources from a single host). GAE is not meant to be a fully-fledged CDN, but it’s more than enough for my humble web site (2 megabytes of static content) and it is free. These are the limits when billing is disabled:
request size10 megabytes
response size10 megabytes
request duration30 seconds
maximum total number of files3,000
maximum size of an application file10 megabytes
maximum size of a static file10 megabytes
maximum total size of all application and static files150 megabytes
(*)More information here

The procedure to upload content to GAE is described here, it works really well. Note that it's more complicated to set the cache-control header (Cache-Control: max-age=3600) with GAE java sdk that's why people are still using Python.

My notes about GAE

I've learned few interesting things on GAE Google Group:
  • GAE makes a best effort to do caching, but there is no guarantee that responses will be cached.
  • Edge caching for requests that use the cache-control header is only active when billing is enabled

Conclusion

I've spent many hours working on this blog, I've learned many things about Blogger and GAE, I think it was worth it. Hopefully I will be able to concentrate on blogging in the future and the current design will satisfy me for the next couple of years.

Multi-file archive with Tar

Wednesday, December 1, 2010

0 Comments so far - Add one
Recently, I needed to copy 40GB of home videos out of my ReadyNAS duo and immediately thought about using a USB hard disk. The problem was that the maximum possible size for a file on a FAT32 volume is 4 GB and reformatting my hard disk to NTFS was not an option. So I thought about creating a multi-file archive with Tar, primarily because Tar is the only compression program available on the ReadyNAS out of the box. Here is the recipe for creating multi-file archive with Tar.

Creating the archive

The command line I used is:
$tar -c -M --tape-length=4096000 --file=HomeVideos.tar /media/Videos/HomeVideos
After some time, Tar prompted for volume 2 like this:
Prepare volume #2 for disk1.tar and hit return
I entered the following command line to specify the new filename and pressed RETURN:
n disk2.tar
Tar prompted again, but this time it showed the new filename "disk2.tar" and I pressed RETURN to continue. I repeated the operation about 10 times and was able to copy all these files on my USB drive and then onto my latop.

Putting the videos back together

The process is quite similar to extract the videos (I'm using Cygwin):
$tar -x -M --file=/cygdrive/e/disk1.tar
After some time you'll need to specify the name of the next volume, like this:
Prepare volume #2 for disk1.tar and hit return:
n /cygdrive/e/disk2.tar
I repeated the process until everything was extracted.

Preparation guide: (70-583) designing and developing windows azure applications

Thursday, November 11, 2010

0 Comments so far - Add one

About

This is my preparation guide to the Windows Azure exam 70-583. It was right for me, but it might be too little (or too much) for you, dear reader. With my current experience I felt that this was enough for me (I’ve been experimenting with the Windows Azure platform since the CTP, back in 2008); For more information about the exam, take a loot at Microsoft’s overview.

ELearning

I recommend pluralsight’s on-demand course called "Windows Azure Fundamentals".
As a MSDN subscriber you can get free access to this course and many others for 1 month.

Books

I have read 2 books about Windows Azure so far:
Both are worth reading, but if you have to choose, Azure in Action is the one: It’s a concise introduction to the platform from a developer perspective.

Articles

In addition to the books, the following articles are a must:
For even more reading, take a look at J.D Meier's Guidance Map, it’s a giant index of Windows Azure content collections for developers. (Code Samples, How to, Videos, Training etc.…).

Learning by doing

I cannot emphasis enough the importance of experiencing the platform by yourself. You’re a MSDN subscriber so create a Windows Azure Platform MSDN Premium Account (and yes you'll need to assign a valid credit card, but you won't be charged unless you overrun your quota). Now go ahead, download Windows Azure Platform Training Kit and start programming.

Good luck!