Posts Tagged ‘meetup’

Central Florida Coders, Creatives & Entrepreneurs Pow-Wow

Tuesday, April 26th, 2011

Join Tropo at as we host the Central Florida Coders, Creatives & Entrepreneurs Pow-Wow on Wednesday, April 27 2011.

Central Florida has several thriving, yet disjointed communities.  There are groups of software developers, filmmakers, designers, entrepreneurs and an array of other creative individuals.   We’re inviting the leaders and members of these communities to join us for a brainstorming pow-wow on how tobuild an even stronger, more vibrant community of DOERS.  This is a FREE EVENT and open to any and all who would like to participate in building a better community.

Why? We have all of the pieces and parts of a strong and vibrant tech & creative community, but somehow we’re not quite living up to our full potential. By bringing together community organizers, thought leaders and people who actually know how to get things done, we think we can help lift Orlando beyond its stigma as merely a family vacation destination and put it in its proper place on par with other cities like Seattle, Portland and Austin. It’s a “meta-meetup” to discuss how we can work together to make our community better.

Who Should Attend? Leaders and members of existing groups of coders, makers, hackers, filmmakers, designers, digital medians, engineers, entrepreneurs…anyone with a passion for doing things and wants to work with other like-minded people.

 

South Beach Startup Drinkup Tonight!

Friday, February 25th, 2011

Join Voxeo Labs and Tropo for some free tasty beverages at the First South Beach Startup Drinkup on Friday February 25, 2011 from 8pm to 11pm at:

Kill Your Idols 222 Espanola Way Miami Beach, FL 33139

Check it out: South Beach Startup Drinkup on Plancast for more details.

Bonus points for playing songs from Johnny Diggz’ album in the jukebox. :-)

Join Tropo at SFBeta 5.0.0 Tonight!

Tuesday, January 11th, 2011

Tropo is sponsoring tonight’s SF Beta.  SF Beta is San Francisco’s largest monthly startup mixer.  Since launching in September, 2006, SF Beta has brought together thousands of people from hundreds of startups, creating innumerable connections along the way.

This month’s theme:

Is Silicon Valley the new Wall Street? We’re kicking off our fifth year with a brand new demo theme: Financial Innovation. In partnership with @robgarciasj and LendingClub, we have assembled a first class roster of a dozen hand-picked startups that are taking the financial industry by storm. If you care about your money, you won’t want to miss this one.

Some people go to SF Beta to be social, some come to make business connections, and many go to do both. Often called the “king of Web 2.0 mixers,” SF Beta offers something for everyone.

Palo Alto Startup Drinkup Wednesday 1/12

Monday, January 10th, 2011

Join Voxeo Labs and Tropo for some free tasty beverages and appetizers at the Palo Alto Startup Drinkup on Wednesday January 12, 2011 from 5:30 to 7:00 at:

The Old Pro 541 Ramona St Palo Alto, CA 94301

Check it out the Palo Alto Startup Drinkup on Plancast or Eventbrite for more details.

We’ll be hosting more of these in the coming weeks, so make sure you get in on the action.

Making of a USB giveaway, part two

Monday, November 8th, 2010

Tropo’s meetup kits come with USB drives that are loaded with tropo samples, libraries, and applications. This is the second half of a series explaining how we get the software loaded onto those drives.

In the first part, I showed how we’re using git’s distributed source code management and a git feature called submodules to manage the contents of the drives. In this part, I’m going to describe the installer.

We’re an all-Apple company, using MacBooks and OSX as our computing platform of choice. The installer created here is Mac-specific, since it uses some software that’s part of OSX to do some of the magic. You could probably find a way to accomplish all this with Linux or even Windows if you wanted to, but these instructions are for a Mac.

I wanted a system where I could plug a USB drive in, run a single command, and end up with the software loaded, the drive renamed to Tropo, and the drive ejected and ready for the next one. Every extra keystroke, window, or mouse click would make it harder to install and increase the time required.

The installer is in two parts. We have some people who might need to load a drive that don’t use git. Or be on a machine where git isn’t installed. For those instances, we maintain a zip file on our intranet and the first step of the installer is to create the zip.

This zip creation is done in a separate shell script, since I often want to just create a zip. bundle.sh pulls from git to ensure it has the latest copy of the USB pack. Next the script performs a submodule update, initializing any new submodules and recursing in case some of our submodules use submodules themselves.

git submodule --quiet update --init --recursive

The –quiet flag is on there because the shell scripts print out their own status messages, and I don’t want a bunch of git output cruft pushing that off the screen.

Finally, it creates the zip file, using tar’s --exclude option to leave the installer shell scripts and the .git directories out of the zip.

tar --exclude=.git --exclude=bundle.sh --exclude=install.sh -czf ../tropo-usb.tar.gz *

The second part of the installer is the install shell script itself. install.sh first runs bundle.sh to update everything and build the zip file. It uses this zip file to actually build the drives.

Next, the installer renames the USB drives to add Tropo branding. Instead of showing “NO NAME” when the drive is plugged in, I want “TROPO” to appear.

This is done using OSX’s command line Disk Utility. My first attempt was by just renaming the volume in /Volumes/ with the mv command, but this didn’t change the name that showed up in Finder or Windows.

The command is pretty simple, just give the target volume and the new name.

diskutil quiet rename /Volumes/NO\ NAME Tropo

The next step is to copy the contents of the zip file to the drive. I started out by just unzipping straight to the drive, but then later decided that if I wanted to load a handful of drives at once, I could speed things up by only running the the git update and zip file creation process once.

With this in mind, the installer unzips the file that bundle.sh created to a temp directory…

tar -zxf ../tropo-usb.tar.gz -C /tmp/tropo

… then calls a function called installme that copies the files over with cp and then uses diskutil to cleanly eject the drive.

diskutil eject /Volumes/Tropo

It then asks the user if they’ve got another drive inserted to load and if so, runs the installme function again.

read -p "Do you have another drive inserted you would like to install to? (y/n):" [ "$REPLY" != "y" ] || installme

When the user eventually says “no” to that question, the installer cleans up by deleting the temp directory it created.

If you want to see what bundle.sh and install.sh look like, they’re both in our github account.

Now that you’ve built your drive installer, here’s the steps to install onto a drive. The very first time you do it on a new computer, you’ll need to fetch the pack from git and run git clone git://github.com/tropo/usb-pack.git

After that, all you need to do is..

  1. Plug a blank USB drive in
  2. ./install.sh
  3. Profit!!

If you have a great sample app that you’d like us to include on these drives, send us the git URL for it. Thanks to the magic of submodules, it can be any publicly available git URL. It doesn’t even need to be on github. If we use your app, we’ll send you a tshirt and one of the drives.

Feel free to copy this whole process to create your own USB drives. And if you want one of ours, find someone from Tropo at an event and ask for one. Or put on an event of your own and order one of our meetup kits.

The making of the Tropo USB Drive

Sunday, November 7th, 2010

Part of the Tropo meetup kits is a solid metal 2 GB USB drive that has a bottle opener on one end. They’re laser engraved with the Tropo logo, and people we’ve given them to think they’re pretty nifty.

As part of the drive, we wanted to load some Tropo samples and software, so that people who get them have some Tropo code to help them get going. Like most promotional USB drive makers, the manufacturer of our drives offers a data load service for a pretty tiny fee. But we wanted more.

We’re constantly adding new samples, updating existing ones, and adding features to our code libraries. We wanted to make sure that people who get our drives have the latest and greatest software, and loading something a few weeks ahead of time simply wasn’t good enough for us.

Perhaps you’d like to try the same thing, so here’s how we create the software load for our USB drives.

The whole system relies upon git, the distributed version control system. Git has a concept called submodules that allows you to essentially embed one git repository inside another, while still maintaining the original repository for updates, history, branches, and all the other goodness you get from a SCM.

By using submodules and git, we can create a process that ensures we always update to the latest version of the various packages prior to loading them on the drives.

The first part of this describes how to set up your git repository and use submodules to construct your software pack. The second part will describe the installation process and how it’s streamlined to make it easy to load the software on the drives.

I created a git repository called “usb-pack” and inside it created the directory structure we wanted to use. The USB pack is up on Github if you want to follow along.

git init usb-pack

Our sample code would go in a directory called “examples,” our WebAPI libraries in a “library” directory, and some various applications that use Tropo in an “applications” directory on the drive. I even wanted to include the Phono SDK and some sample Phono apps.

I wanted a directory structure that looked like this…

The “examples” directory will be a clone of the Tropo samples git repository, so I didn’t actually create that directory yet. It will be created in a minute when I add the submodules in. The other directories are mostly containers for a collection of submodules, though, so they need to be created up front.

mkdir applications

Nothing special about that. Just create the directories.

I then went and added the git modules that we wanted to include as submodules in the appropriate directory using a command like this…

git submodule add git://github.com/tropo/tropo-webapi-php libraries/tropo-webapi-php

This creates a linkage between the repository at github.com/tropo/tropo-webapi-php and a new directory called tropo-webapi-php in the libraries directory. I did the same thing for the various applications in the applications directory and the Phono directory.

It’s not necessary for all the git repositories to be in the same place, or belong to the same github account, or even be on github. They can be any git repository anywhere that’s accessible to you. For example, Zhao Lu’s Openvoice, the Ruby on Rails clone of Google Voice, is in his own git repository, but is included as a submodule inside applications.

For the examples directory, since I wanted it in the root, but called “examples” and not “tropo-samples” like the repository is named, it was as simple as this:

git submodule add git://github.com/tropo/tropo-samples examples

Some of the other directories like “logos” and “bin” contain files that aren’t submodules at all. The only place they exist is in this repository. You can mix and match submodules and your own files. In fact, in the phono and other directories, I’ve added README files to explain what they are.

I also created a README that would appear in the root directory so when someone pops the USB drive in, they can see what it’s for.

One thing we discovered when setting up the modules is that it’s best to use the git://github.com/{username}/{repository} format to fetch your submodule repositories. Using the http access or the git@github.com:{user}/{repository}.git access to the repositories caused various sorts of permissions errors for some users.

In a future post, I’ll describe how we built the installer and how to get the software on the drives.

Get some Tropo gear for your next event

Friday, October 29th, 2010

Are you going to an event where you’re going to be showing off Tropo? Maybe you’re demoing your latest creation at the local web developer’s meetup. Perhaps demonstrating the power of cloud communications at a BarCamp. Whatever it is, we’d love to help you kick off your event in style by sending you some Tropo schwag.

The Tropo meetup kit

We’ve prepared a meetup kit for you, and all you need to do is let us know when and where your event is. We’ll ship you shirts, stickers, and even some awesome USB drives (2GB, solid metal bottle openers!) with Tropo samples and docs on them. Give them out, raffle them off, whatever you want, it’s up to you. We’ll even help you promote your event so everyone can come see how awesome you are.

SF Telephony Videos

Tuesday, July 6th, 2010

Couldn’t make it to last week’s SF Telephony meetup? The videos from each talk have been posted online, including a ten minute overview of how we built Tropo.

There’s a bunch of other great talks from the event on YouTube.

SF Telephony meetup

Monday, June 28th, 2010

SF Telephony Inaugural Meetup - San Francisco Telephony Group (San Francisco, CA) - Meetup.com.jpgCome join Tropo and a bunch of people interested in building telephony apps and products in San Francisco Wednesday night.

Zhao Lu from Orange Labs and creator of OpenVoice has organized the San Francisco Telephony Meetup and the first meetup has a bang-up agenda.

Gabriel Sidhom CTO, Orange Labs – Introduction

Jason Goecke, VP of Innovation at Voxeo Labs, will talk about Tropo & Moho – An open-source cloud communications platform that helps developers to create multi-channel real-time communications apps from the cloud or on your own open-source instance.

Adrian Georgescu, CEO of AG Projects Introduction to SIP2SIP.info - Free SIP accounts for the masses - Self-organizing SIP server infrastructure - Remote provisioning API based on SOAP/XML

Chris Matthieu, the Founder of Teleku.com, will introduce the new cloud communication start-up’s RESTful web service APIs which allow web developers to write sophisticated phone applications using PhoneML, TwiML, or VoiceXML that run on any carrier’s network as well as their own free open-souce telephony stack called Ninja.

Dan Miller (Opus Research, 10min), Opus Research: Intro to Recombinant Communications (RC), what it is and what opportunities it presents to developers, incumbent carriers, wireless enterprise IT/app managers.

James Li/Dominic Lee (Orange Labs) – What else can you do while watching TV

Darren Schreiber (15min): an open-source, distributed cloud platform for putting distributed FreeSWITCH nodes on disparate servers. It’s written in Erlang mostly and utilizes some cool messaging and data storage technologies, including NoSQL.

A handful of Tropo people will be on hand, including me (Adam Kalsey), Jason Goecke, and John Higgins. RSVP on meetup.com and come join us.

June 30, 2010 at 6:30pm
Orange Labs
801 Gateway Blvd Suite 500
South San Francisco