Development

Development tips, techniques and strategies

SOAP vs. REST

Architectural elements involved in the XML-RPC.

Image via Wikipedia

Someone asked me a question today “Why would anyone choose SOAP (Simple Object Access Protocol) instead of REST (Representational State Transfer)?” My response: “The general rule of thumb I’ve always heard is ‘Unless you have a definitive reason to use SOAP use REST’”. He asked “what’s one reason?” I thought about it for a minute and honestly answered that I haven’t ever come across a reason. My background is building great internet companies.

My Online Business Card (vCard)

Steve Francia.com

I wanted to polish up my javascript coding so I decided that the best way to do that was with a project that I’ve been wanted to do for a while anyway, my own identity site, or my online business card, or my online vcard. The idea was inspired by Tim Van Damme’s website.

To accomplish this I wrote a jquery plugin to handle the navigation, animation etc.. The site itself is rather simple, a single html page and a few images. The markup is written in such a way that it works perfectly (minus the hiding and animation) even when javascript isn’t present.

I’ll write a separate post on how I wrote the jquery plugin and would be happy if anyone else could use it. I just ask that if used that people provide proper attribution both in the code and with a link back to stevefrancia.com.

Vim Plugins: snipMate

MacVim icon, glossy style

Image via Wikipedia

Today I discovered snipMate, and I feel like I have finally found the holy grail. SnipMate plays well with supertab and autocompletion. It provides pretty much all the beloved snippet features of TextMate, it even has a nearly identical syntax to TextMate. If you’re not using the snipMate plugin for vim yet you need to be.

Vim Plugins: NERD Commenter

Vim (text editor)

Image via Wikipedia

The NERD Commenter is an indispensable tool when programming in VIM. It understands like a zillion different file types and properly comments each. It can handle single line, multi line, partial line commenting as well as nesting. If you're programming in VIM you really should be using it. 

It is simple enough to use. Most commands are mapped to ,c[character]. The command you are probably going to use the most is ,c<space> which intelligently toggles a comment on or off.

You can find the plugin at The NERD Commenter.  

Setting up Subversion with multiple access methods

One thing that makes subversion such a powerful revision system is it's ability to permit multiple methods of access. Https (webdav), SSH and svnserve. In spite of svn's ability to support multiple access methods, doing so simultaniously can be quite challenging. Typically one will run into permission issues as the http(s) access will all be written to the filesystem as the user running the webserver. The ssh access will all write to the filesystem under each users given account. 

Here is one approach to permit both.

Scaling Web Sites (LAMP) : Top Resources

Luckily it’s 2009 and there have been a bunch of successful websites that have had to deal with large scalability challenges. Many have been kind enough to share their knowledge with the world. Here is a list of the best books, articles, presentations and practices from the likes of Twitter, Facebook, Flickr and more.