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:
cd /usr/bin
wget http://nerdvittles.com/wp-content/gobble.tgz
tar zxvf gobble.tgz
rm 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:
gobble http://docs.google.com/leaf?id=0B5oMpKm8e6A9Y2JlZDcyOWQtN2RiMy00NDhiLWFjODctOWFhYjIxZDU3ODc2&sort=name&layout=list&num=50
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.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
I’m a long time reader, but don’t normally comment. Figured I’d throw in some useful information that is relevant to this article.
I’m a programmer (I previously worked for Fonality), and heavily use Asterisk, Freeswitch, and other platforms in my work.
For source hosting (both open source and closed source), I prefer to use github (http://github.com/).
They provide an unlimited amount of storage, filehosting, statistics, version control (git or svn), issue tracker, wiki, etc., all for free. They also have an awesome website, great community, and automatic approval process. So, unlike sourceforge, you don’t have to submit a projcet for approval, you just create a new one instantly.
Anyhow, I’d highly recommend using them if you are looking for a good version control hosting website.
[WM: Thanks for your comments. GitHub is certainly another option although only open source hosting is free. Other hosting plans start at substantially more cost than many commercial web hosting sites. Users might also want to carefully review the GitHub terms of service which grant the site owners unlimited discretion to terminate accounts and delete account contents "for any reason at any time." Not my favorite kind of relationship, but others might be of a different view.]
Sooo, wheres the download link? Nice idea to release it as GPL2, but it does need to be somewhere…
[WM: Did you read the article? Try searching for the word "installing." 🙄 ]