Category Archives: webapps

Increase performance of Vagrant + VirtualBox synced folders

The standard synced folders set up in Vagrant uses the VirtualBox’s shared folders feature. Unfortunately, the performance of shared folders leaves a lot to be desired. There is a solution to this poor performance, which involves switching to an NFS-based solution.

This can be done simply by adding the nfs flag to the config.vm.synced_folder setting in your Vagrantfile:

config.vm.synced_folder '.', '/vagrant', nfs: true

You also need to make sure you are using Vagrant’s private_network networking option:

config.vm.network "private_network", ip: "192.168.56.101"

Once you have done this, you can vagrant up (if your VM is not currently running) or vagrant reload (if you VM is currently running) to get NFS up and running. When you do this for the first time, you’ll likely be prompted to enter your administrator’s password so that the NFS details can be saved to /etc/exports:

==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
Password:

The performance increase you experience will vary, but on my 1.3 GHz Intel Core i5 MacBook Air, I experienced a 6x performance boost. I used wrk to benchmark the VM web server performance before and after:

Using VirtualBox shared folders:

$ wrk http://localhost:8000
Running 10s test @ http://localhost:8000
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     0.00us    0.00us   0.00us     nan%
    Req/Sec     4.11      3.22     9.00     55.56%
  10 requests in 10.04s, 1.22MB read
  Socket errors: connect 0, read 0, write 0, timeout 10
Requests/sec:      1.00
Transfer/sec:    124.20KB

Using NFS:

$ wrk http://localhost:8000
Running 10s test @ http://localhost:8000
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.38s   214.51ms   1.86s    63.24%
    Req/Sec     5.33      3.83    19.00     71.43%
  68 requests in 10.05s, 8.40MB read
Requests/sec:      6.76
Transfer/sec:    855.64KB

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

An App in a Day

One thing I’ve really enjoyed about freelancing is the freedom to work on pet projects. When I have not been working with my paying clients, these projects have kept me busy. The trouble is, I seem to have many — twenty at the last count — in a perpetual state of “in progress”.

So, today I had some free time and set myself a challenge — develop and launch a useful web app in 24 hours. I decided to develop a browser for professionally-designed WordPress themes.

This challenge also allowed me to play around with some new technologies. In this case, I chose to use jQuery Masonry for the front-end Pinterest-like display.

GetProThemes screenshot

The app consists of two main parts:

1. A feed processing script that pulls in popular theme information from Mojo Themes and ThemeForest and saves them into a DB. This script is run via cron to update the themes on a weekly basis.

2. Some frontend logic that pulls out these themes and displays a preview graphic for users to click on.

In the end, I spent around eight hours on the development.

I registered a domain name, set up the hosting, added Google Analytics and affiliate referral codes and uploaded the files. The site can be found here:

GetProThemes.com

It’s been a fun day, and I’ll be very interested to hear if the site is useful to anyone!

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

Coming soon: A handy new application for freelancers, contractors and small businesses

Technical Services 7

Over the last few months, I’ve been working with Webwings to develop a new web application which we hope will save freelancers, contractors and small businesses a lot of time.

Development has been swift and pain-free thus far, due in part to the choice of CodeIgniter as the framework. It’s proven to be an excellent base on which to iterate and incrementally build our product.

We have been alpha testing with a select group of users, and have received very positive feedback. We are aiming to get a beta release out within the next couple of months. If you are interested in participating in this, please leave a comment at the bottom of this page, and I will be in touch.

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

iCal 502 error when syncing with Yahoo! Calendar

In the last few days, my iCal has been giving me the following error message when trying to access my Yahoo! Calendar via CalDAV:

The request for account "Yahoo! Calendar" failed.

The server responded with
"502"
to operation
CalDAVAccountRefreshQueueableOperation.

iCal error message when syncing with yahoo! calendar

Yahoo! have acknowledged this is a problem on their side:

We are aware of a Calendar (Proxy error) and our engineering team is working to resolve this issue. We apologize for the inconvenience and hope to have it resolved soon.

(source: Syncing / Mobile Sync | Yahoo! Calendar Help)

update 2nd November 2011: I am no longer seeing this error message, and Yahoo! have removed the notice from their help page. Looks like the issue has been resolved!

update 3rd November 2011: Seems like I spoke too soon, the error is back!

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

Synchronize iCal with Yahoo! Calendar

Update 26th October 2011: Are you receiving a “502” error from iCal? Please see my more recent post iCal 502 error when syncing with Yahoo! Calendar for more details.

The new beta of Yahoo! Calendar now supports the CalDAV protocol, meaning that sharing and synchronizing with desktop calendaring applications is possible.

iCal has supported CalDAV since version 3.0 shipped with Mac OS X 10.5 Leopard, so it is possible to get it working with Yahoo! Calendar. After completing the following steps, any events that you create in the web-based Calendar will be replicated to iCal, and vice-versa.

What you will need:

  • A Yahoo! account. In the example, we use the username yahoouser
  • Access to the new Calendar Beta.
  • iCal version 3 or above

Step 1:

  • In iCal, select the Preferences… from the iCal menu.
  • Click on the Accounts icon

  • Click on the plus button to create a new CalDAV account
  • Enter a description, such as Yahoo! Calendar, your Yahoo! username and password.
  • Click the Server Options link and enter the following into the Account URL field:
https://caldav.calendar.yahoo.com

  • Click the Add button.


Your Yahoo! Calendar should now be synchronized with iCal, refreshing every 15 minutes: you should see it listed on the left hand side of your iCal window underneath the calendars stored on your Mac.

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

Cal Henderson on Django

Very entertaining talk from Flickr’s Cal Henderson on Django’s shortcomings.

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

Wahey, new Delicious is out!

Over the past few days we’ve been transitioning Delicious over to our new platform, quietly starting with RSS feeds and APIs. Today we’re taking the final step and flipping the switch on the new web site: delicious.com.

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn

Best Web 2.0 Apps

These are the 100 best Web 2.0 applications, chosen by Webware readers and Internet users across the globe. Over 1.9 million votes were cast to select these Webware 100 winners:

Welcome to Webware 100 Awards 2008

(Lots of lovely logos, too!)

Glen Scott

I’m a freelance software developer with 18 years’ professional experience in web development. I specialise in creating tailor-made, web-based systems that can help your business run like clockwork. I am the Managing Director of Yellow Square Development.

More Posts

Follow Me:
TwitterFacebookLinkedIn