With the exception of SourceForge and Project Hosting on Google Code, there really is no free ride for Open Source, freeware, and shareware projects insofar as storage and bandwidth are concerned. As one of the earliest members of the Association of Shareware Professionals (circa 1985) and as a Hall of Fame inductee of the Shareware Industry Awards Foundation, we’ve always had a special relationship with shareware developers, most of whom are starving. So today we’re making a contribution to the community for the benefit of everyone involved in software development of any kind who needs an inexpensive storage and bandwidth solution for products they wish to distribute.
If you didn’t know, Google docs expanded its free offering this year in several ways. First, you now can upload any type of file up to a gigabyte in size. Second, for files that aren’t converted into recognized Google document formats, Google docs provides a free gigabyte of storage at no cost. And third, you now can buy additional storage in increments of 20 GB for only $5 a year.
You may also be unaware that the PBX in a Flash project provides an enormous source repository of just about everything connected with Internet telephony. Some of these products are open source while others are freeware or shareware, but they’re all available for your use from a single repository. We also provide one of the best forums in the business providing support from literally hundreds of telephony and Linux gurus around the world. While the gurus provide their time at no cost, the resources to support these projects are not free.
Google knols are one of the few cost-free platforms for preserving tutorials such as the main articles on Nerd Vittles. Our PBX in a Flash tutorial in knol format receives over 1,000 page views a week and is one of the highest rated, most frequently accessed knols on Google’s site. As time permits, we’re going to be migrating all of the more popular Nerd Vittles articles to Google knol-ville for posterity. Google knols house an incredible repository of medical reference materials. Hopefully others in the software development community will take advantage of this terrific resource in the future.
One of the drawbacks of Google docs has been Google’s insistence that you use a web browser and jump through several hoops even to download files which are tagged as publicly-accessible. Because many of our tutorials and scripts depend upon programmatically downloading files, we simply had to have a solution before Google docs storage would work for our project and many of our contributors.
Because many of you have contributed to Nerd Vittles in many ways over the years to keep the lights on, today we’re returning the favor. We’re releasing our new Gobble for Google docs app as GPL2 open source code. That means you can build your own public repositories on Google docs and download or let others download the files from the Linux command prompt whenever the need arises. Think of it as wget or curl for Google docs.
Before we get to the code and a brief tutorial on how to use it, we want to put in a good word for the folks that made this possible. If you haven’t heard of RentACoder.com, you’ve missed another great secret. The site actually has undergone a name change recently to better reflect their current offerings. vWorker.com (which stands for Virtual Worker) describes their new mission like this:
We changed our name to reflect the diversity of the many talented workers we have on the site. Back when I founded the company in 2001 we concentrated just on programming, and the name Rent a Coder fit us. But today in 2010, the site is not just coders, but also graphic artists, writers, translators, marketers, personal assistants and numerous other types of workers. Our new name reflects that and reminds employers that they can find all kinds of talent here.
As it happened, we needed a coder, someone who could translate HTML mumbo jumbo into a bash script to download files off of Google docs with no user intervention so we posted the following job announcement:
We distribute a CentOS-based, open-source Asterisk® PBX known as PBX in a Flash. The install requires booting of an ISO-based CD that sets up CentOS 5.5 and then downloads a payload file which is used to install the remaining components. We want to store these payload files in Google Docs for downloading and then use a bash install script (without user interaction or Google credentials) to retrieve the file anonymously for processing. We anticipate that the successful design will entail use of a combination of python or perl plus wget or curl. All of these tools are available in our base install of CentOS.
We knew at the outset that this would be a thorny problem with Google’s penchant for using multiple cookies and multiple layers of obfuscation. We learned all of that from our Google Voice adventures this past year. So we limited our search to top-ranked experts on the web site and ultimately accepted a bid from CoderDan in Romania. He spoke fluent English and finished the job in a matter of days. We had a dialog which consisted of about a half dozen emails before the final code was delivered. Once you’re happy with the code, then you release the funds which you’ve placed in escrow via PayPal at the beginning of the job. Because we had never used the site or CoderDan, we opted to use a Pay-for-Deliverables contract with an Expert Guarantee. What that means is that the contractor also must pay 10% of the cost of the job into the escrow account to essentially guarantee that they will complete the job and will do so in a timely manner. Not only did CoderDan complete the job, but he finished it in record time with some terrific code as you will see when you download it. All rights to the code belong to us, and we now are releasing it as GPL2 open source for the benefit of all of you. So… thanks to all of you who have donated to Nerd Vittles over the years. Here’s just one of what we hope have been many rewards from Nerd Vittles for your contribution. For the rest of you, enjoy! And don’t be shy about clicking the Donate button at the top of the page. Even small contributions matter and are greatly appreciated!
Gobble for Google docs Prerequisites. We’ve tested this application with CentOS 5.2 through 5.5, but it should work fine with most other Linux distros that have bash and wget support. It also should work fine with Mac OS X once wget support is added.
Installing Gobble for Google docs. We’re assuming that /usr/bin is in your search path and is an appropriate place to house this application. If not, substitute an appropriate directory in the first line below and execute these commands to install the software:
tar zxvf gobble.tgz
Using Gobble for Google docs. Complete documentation for using Gobble for Google docs is available by simply executing the script with no parameters: gobble. In a nutshell, you first must use a web browser to upload a file to Google docs making sure to change the Private setting for the file upload to Public on the Web. This is very important since Gobble can’t download files from Google docs that require authentication with user credentials. Once the file is uploaded to Google docs, click on the Folder where you stored the file and then click on the File name you wish to download. In the right column of Google docs, there will be an entry entitled Link to this page. Click on the link and copy it to your clipboard. Using SSH, log into the server with Gobble and type gobble followed by the link you copied to your clipboard. For example, to download the latest version of PBX in a Flash, the command would look like this:
When the download completes, you’ll have a file in your current directory matching the name displayed in Google docs, e.g. pbxinaflash17551-i386.iso in our example. You’re now a Gobble expert. For any gurus who embellish this script and we would encourage you to do so, please document and share your enhancements with all of us. Just leave a comment below, and we’ll take care of the rest. Enjoy!
News Flash: Many of you know Jared Smith, who has been a fixture at Digium® for many years and was one of the authors of the first two editions of Asterisk: The Future of Telephony. We’ve just learned that Jared has recently taken over as the Fedora Project Manager which is excellent news for the Fedora project. You can read all about it here. Best of luck and best wishes in your new role, Jared!
Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.
whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.
Some Recent Nerd Vittles Articles of Interest…