Joining Cloudant

Since 2005, my partner Jason Pelletier and I have had the privilege of working with numerous great clients through our company, Found Line. While we have enjoyed this work, it’s time for us to move on to other things.

I’m happy to announced that I will be joining Cloudant (an IBM company) as a Developer Advocate early next month. Though Cloudant is based in Boston, I will work remotely. Our current plan is to remain in Burlington, Vermont for the immediate future. Jason will spend the next several months working on and wrapping up current projects. However, the plan is to shut down Found Line after a soon-to-be-determined date (be sure to get in touch with Jason if you’re looking for creative director level print and web/UI designer who can code in HTML5, CSS3, LESS, and JavaScript).

Cloudant (acquired by IBM earlier this year) is a fully-managed NoSQL database-as-a-service (DBaaS). If you’ve used CouchDB, then Cloudant should look familiar to you. Cloudant extends CouchDB with built-in scalability and many other features including chained MapReduce, full text indexing, and geo queries. Like CouchDB, data in Cloudant is accessed through a RESTful API that allows you to create, read, update, and delete documents. Data can be queried though a primary index or through secondary indexes. Secondary indexes can be built using MapReduce or the newly released Cloudant Query.

As a Developer Advocate, I will engage with and support developers who are using Cloudant in their software applications. This will include everything from writing documentation, building example applications, blogging, speaking at conferences, presenting webinars, organizing meetups, and training other developers. I’m looking forward to this opportunity to help other developers build their applications using Cloudant.

Northeast PHP Conference 2014

The Northeast PHP Conference 2014 in Cambridge, Massachusetts is just over two weeks away (Saturday, September 6th and Sunday, September 7th). We’ve got a great lineup of talks this year including talks on coding standards, content strategy, unit testing, PHP 5.6 (and beyond), leadership and teamwork, object-oriented programming, profiling (Xdebug and Cachegrind), Internet of Things, code quality, continuous integration, web security, Composer dependency management, Hip Hop Virtual Machine (HHVM), responsive emails, REST APIs, automated web testing (Jenkins and Selenium RC), API first development, and much more. We also have two awesome keynote speakers. Steve Krug, author of “Don’t Make Me Think” and “Rocket Surgery Made Easy”, will be giving the opening keynote. Frances Berriman of Code for America and former front-end development lead for GOV.UK will be delivering the closing keynote.

Important Notes:

Last Chance for Continued Municipal Ownership of Burlington Telecom?

Tonight’s special City Council meeting (5pm, Contois Auditorium, City Hall) may be the point of no return for continued municipal ownership of Burlington Telecom. City Council’s decision about a bridge loan in relation to the recent Citibank settlement could force the City of Burlington to sell Burlington Telecom at a future date. I use the words “may” and “could” because the details of the bridge loan have not been made public.

From Section 8 of the Mediated Settlement Agreement between Citibank and the City of Burlington:

“The Settlement is predicated on the assumption that the Financing contemplated in paragraph 4.1 is intended as a bridge to the eventual arm’s-length sale of the System to a private entity.”

The City of Burlington has asserted in this settlement that it plans to sell Burlington Telecom. However, there is still the possibility of continued municipal ownership. Also from Section 8:

“In the event that the terms of the Financing, or any proposed restructuring or refinancing thereof, do not require Burlington to sell the System during the term of, or at the maturity of the Financing, or provide for a similar liquidity event resulting in Net Proceeds being payable to Burlington or Citibank from the assets of the System, then the consent of Citibank shall be required, such consent not to be reasonably withheld or delayed.”

The terms of the bridge loan may or may not require the City of Burlington to sell Burlington Telecom. If the terms of the bridge loan do not require a sale, then it is possible to keep Burlington Telecom municipally owned as long as Citibank consents to this.

I do not believe that selling Burlington Telecom is in the best interest of our community. As has too often been the case with Burlington Telecom, these important discussions are being held behind closed doors. A robust discussion about whether or not to keep Burlington Telecom municipally-owned should be had in an open forum. In the meantime, I hope that City Council does not to shut out the option of continued municipal ownership with tonight’s decision.

Joining the Code for America Brigade Program

Code for BTV

Photo by James Lockridge

I’m very happy to be able to announce today that Code for BTV in Burlington, Vermont has been selected to join the official Code for America Brigade program! Code for America announced today the 2013 Brigade Captains. Jason Pelletier and I will be participating in the Brigade’s leadership program as Brigade Captains. Today’s announcement includes 15 new Brigades and 28 new Captains.

Over 50 civic hackers have been working with Code for BTV since the National Day of Civic Hacking in June. Joining the Code for America Brigade program will be a great opportunity to combine the substantial work being done by local civic hackers with the great work being done by Code for America at the national level.

Code for BTV will be working closely with the City of Burlington’s Mayor’s Office. From Mayor Miro Weinberger:

As Burlington’s reputation as a green, tech City continues to grow, I am impressed but not surprised that Code for BTV has been selected to join the ranks of the national Code for America Brigade. I offer many thanks to Bradley Holt and Jason Pelletier for launching Code for BTV and congratulate them on the well-deserved recognition of being named Brigade Captains. Burlington’s membership and participation in the Code for America Brigade will allow us to continue innovating within our City and provide a tremendous opportunity to collaborate with other innovative cities around the country.

The next major Code for BTV event will be a hackathon on Saturday, October 26 and Sunday, October 27 called Hack the Stacks: Civic Hacking at Fletcher Free Library. The focus of this hackathon will be creating apps for Fletcher Free Library, continuing to work with Big Heavy World to promote and preserve Vermont-made music, and building WordPress websites for Vermont’s non-profit organizations in collaboration with the Vermont Digital Economy Project.

The Tech Community and Economic Development

Lars Hasselblad Torres, director of the Vermont Office of the Creative Economy, retweeted a link today to an article about the The Real Reason Creative Workers Are Good for the Economy. From the article:

At bottom, [the findings from a new study by Neil Lee and Andrés Rodríguez-Pose of the London School of Economics] suggest the need to shift from firm-based policies to more talent-based approaches — something I have long argued for. It’s time to stop the old “industrial policy” approach of subsidizing private firms and industries and focus instead on developing the broader creativity of workers. As their findings make clear, the better, more effective path to generating the kinds of innovations that underpin job creation and economic growth comes from creative workers in cities.

The other day I started a list of community tech events in the greater Burlington, Vermont area. One reason I started this list is to help quantify the economic development impact of the local tech community. By community I mean people—not companies (a few of the events I cataloged are run by companies, but these are all community-focused events). So far I have documented 17 regular tech meetups and 9 major tech events that happen throughout the year in the greater Burlington area. I’ve documented 18 local community tech events scheduled for this September and October alone.

From an economic development policy perspective, these events are largely under the radar (with a few notable exceptions). However, I believe that these events have a huge unrecognized economic development impact. Individual creative workers attend these events, regardless of where they work (in the creative industry or not). From the article:

According to the study, creative workers were a “significant driver of product innovations overall” and a “key driver of learnt process innovations.” In other words, workers in creative occupations across all industries were essential in spreading innovative processes and products around the economy, as they introduced learned innovations to other firms. The key to innovation is creative workers, both within and outside of creative industries.

It is at these community tech events that knowledge and insights into processes, tools, and innovations are shared and diffused throughout the creative economy.

The Northeast PHP Conference Wants More Women Speakers

Courtney Stanton had the following to say about getting more women to speak at conferences:

The easiest way I saw for getting more women on stage at the actual event was to get as many women to submit speaking proposals as possible.

We opened up the call for papers for the Northeast PHP Conference about a week ago. Guessing by the names, it appears that we have a very low number of women who have submitted talks.

Courtney went on to say:

So! Getting women to submit content: easy? Um. When I’d talk to men about the conference and ask if they felt like they had an idea to submit for a talk, they’d *always* start brainstorming on the spot. I’m not generalizing — every guy I talked to about speaking was able to come up with an idea, or multiple ideas, right away…and yet, overwhelmingly the women I talked to with the same pitch deferred with a, “well, but I’m not an expert on anything,” or “I wouldn’t know what to submit,” or “yes but I’m not a *lead* [title], so you should talk to my boss and see if he’d want to present.”

I promised mentoring, I promised practice sessions, I promised one-on-one slide deck reviews with people who have spent hundreds of hours speaking at conferences. I emailed my Women in Games Boston group, I attended events and encouraged groups of women in person, I sought women out online, I met with women over coffee. I encouraged/begged them to consider translating the hours and hours I’d spent with them in the past talking about their careers, their specialties, their ideas, into a 45-minute presentation. I told them how much I respected their reputations and their ideas and that I’d be thrilled if they had the time or interest in submitting a talk.

If you have even the slightest inclination to submit a talk proposal for the Northeast PHP Conference then please email me a draft or a sketch of your idea. I will happily take a look and help you develop your proposal. By the way, this offer applies to anyone (not just women).

What else can I, or others on the organizing team, do to encourage more women to submit proposals? Please let me know.

Why Gigabit Matters: Guest Post in the Free Press Blog

I’ve written a guest post in the Free Press blog on Why Gigabit Matters. From the post:

Gigabit is almost 150 times as fast as the average national broadband speed, giving communities an opportunity to develop a thriving culture of innovation.

But simply noting it’s 150 times as fast fails to capture its true import. Gigabit is a new paradigm, one in which the network’s speed is no longer a bottleneck.

Read the full blog post.

Diversity at Technology Conferences and Metrics vs. Quotas

Another discussion about diversity at technology conferences is making its way around various technology communities. This is a huge and important topic and I’m glad that people are talking about it. Given the enormity of the topic, it’s not one that I’m prepared to tackle in a blog post. Besides, I feel that most of what I could add to the discussion has already been said by others.

However, I do want to share some thoughts on one narrow aspect of the discussion. There has been much hand wringing about diversity quotas at conferences. In reality, I don’t think anyone with any credibility on the topic of diversity is advocating for quotas. My theory is that many people are conflating metrics (and associated goals) with quotas.

A commonly used mantra in research and other disciplines requiring critical and analytical thinking is, “If you can’t measure it, it doesn’t exist.” Assuming that one believes that diversity is a worthy goal, how do you know whether or not you have achieved this goal? Diversity itself cannot be truly measured. We are all different from each other in an immeasurable number of ways.

While diversity can never truly be measured, there are indicators of diversity that can be measured. Some of the indicators of diversity are gender, race, culture, and sexual orientation (to name a few). These indicators can be measured and evaluated in order to quantitatively infer whether or not the goal of diversity is being achieved. I believe that most advocates of diversity (including myself) are encouraging conference organizers to have a goal of diversity and establish metrics to gauge their progress towards this goal—not enforce quotas.

Why Gigabit Matters

A handful of communities across the United States currently have access to gigabit-per-second (1 Gbps) Internet speeds. This super-fast connectivity is only possible with a fiber-optic infrastructure and a fiber-to-the-home (FTTH) deployment. Existing coaxial cables and telephone lines can’t even come close to providing gigabit-per-second bandwidth. But why does gigabit-per-second Internet speeds (and fiber-to-the-home) matter? A recent post on The Economist’s blog had this to say about fiber-to-the-home and gigabit-per-second Internet speeds:

There are limits, though, to the benefits to a fast connection. Often, they can end up demonstrating just how (relatively) slow the rest of the net is becoming. Cyrus Farivar, a writer for the tech website Ars Technica, traveled for a few days to Kansas City, Kansas, for a stay in one of the Homes for Hackers set up by a local entrepreneur to boost the city as a place to move to work and start companies. Mr Farivar’s first posting explained that despite having a purported 1,000,000,000 bits per second as his disposal (and somewhat fewer in practice), he found it hard to fill the pipe.

The above quote describes the early stages of a classic technology adoption lifecycle.

Innovation Adoption Lifecycle

This bell curve describes the adoption lifecycle of a given technology. First come the innovators (2.5%), followed by the early adopters (13.5%), then the early majority (34%), the late majority (34%), and finally the laggards (16%). The innovators love technology and will be first to use the new technology, even if it’s still in the lab. The early adopters represent the first successful commercial use of the new technology. The early majority represents the technology breaking out of a niche and into the mainstream. The shift from early majority to late majority represents the technology becoming commonplace and standard. At some point, the laggards have no choice but to use the technology.

Gigabit-per-second technology is currently in the innovators phase of the technology adoption lifecycle. Only a handful of communities in the United States have access to gigabit-per-second Internet speeds. There are no statistics available on how many people within those communities have signed up for gigabit-per-second service. Successful commercial uses of gigabit-per-second bandwidth are practically non-existent at this point.

Fiber-to-the-home technology is currently in the early adopters phase. Fiber-to-the-home has been a commercial success but has not yet reached the mainstream. The Fiber To The Home Council Americas reports that nine million North American households are connected directly to fiber-optic networks. With over 115 million households in the United States alone, this puts fiber-to-the-home technology adoption well within the early adopters threshold but clearly not yet in the early majority phase. Within urban areas, one might see fiber-to-the-home reaching an early majority phase, yet there is very little availability of fiber-to-the-home in rural areas due to the high costs of deployment.

This brings us back to the question, why does gigabit-per-second Internet speeds (and fiber-to-the-home) matter? If you live in a community with access to gigabit-per-second Internet speeds, why should you care? If your community doesn’t yet have access to gigabit-per-second Internet speeds but does have fiber-to-the-home, why should you care? What are the advantages of your community being an innovator or an early adopter? Why not just wait for the technology to reach the early majority or late majority phase? Or, why not just be laggards and wait until you have no choice?

The main answer to these questions should be obvious by now. If one accepts that gigabit-per-second bandwidth and fiber-to-the-home technology are on a trajectory towards mainstream adoption, then you will eventually have to get on board as a laggard. Wouldn’t it be better to get on board during the early adopters phase (or maybe even during the innovators phase)?

As with Moore’s Law, bandwidth speeds are ever increasing. Moore’s Law correctly predicted that processing power would grow by 60% every year. In 1998, Nielsen’s Law of Internet bandwidth correctly predicted that bandwidth for high-end home users would grow by 50% every year. Since processing power is increasing faster than bandwidth speeds, Nielsen observed that user experience is ultimately bound by bandwidth, not processing power. Just as computers will and must get faster, bandwidth will and must get faster. Extrapolating from Nielsen’s Law, I predict that gigabit-per-second Internet speeds will reach the early adopters phase within five years and the early majority phase within ten years.

It takes innovators using a new technology in order to discover its first successful commercial use and move the technology to the early adopters phase. Communities with gigabit-per-second Internet speeds will be the incubators for these innovators and the place where successful commercial uses are discovered. These communities have much to gain by fostering innovators and early adopters as they discover and refine commercial uses of this technology.

Building a Hypermedia API in CouchDB

php|architectThe latest issue of php|architect includes an article of mine on Building a Hypermedia API in CouchDB. The article’s description:

This article demonstrates how to create a hypermedia data API using CouchDB, a document database and application server that is accessed through an HTTP API. URIs identify CouchDB resources such as databases, documents, attachments, and configuration sections. HTTP methods define actions on these resources. Requests from CouchDB clients—and responses to CouchDB clients—are self-describing through the use of request headers, response status codes, and response headers. However, CouchDB’s core API does not include hypermedia controls. This article will demonstrate how you can add hypermedia controls to your CouchDB application through the use of show functions, list functions, document update handlers, rewrite rules, and a virtual host or a reverse proxy.

The article uses the JSON Hypermedia API Language (HAL) draft media type (application/hal+json). This allows for the creation of a generic hypermedia API. HTTPie is used to demonstrate interactions with the hypermedia API.

The article includes a companion proof of concept Hypermedia API built in CouchDB which is available on GitHub. PHP, the Doctrine CouchDB Document Object Mapper (ODM), and Cilex are used to push the proof of concept application to CouchDB. PHPUnit and Guzzle are used for a suite of tests that exercise the hypermedia API served directly from CouchDB.

This same issue of php|architect also includes the following articles:

  • Using SimpleDB by Eli White
  • Stored Procedures and Variables in MySQL by Chris Tankersley
  • Performance: Performance Concepts from Those That Know by Matthew Setter
  • Outside the Box: Method Overloading by Joshua Thijssen