Hello!
I currently live in San Francisco, CA.

I am a solution architect at Meraki, a cloud networking company, where I focus on the technical needs of our customers and how Meraki solutions address those needs. (resume)

Outside of work, I enjoy lining up telltales on a close reach, running along trails in the Marin Headlands (NPS pdf), and nearly all things dairy.

I've also lived on the east coast of the USA, in Guatemala, and in Germany.

Conferencing

My participation in conferences is almost always limited to the speaker’s side, behind a podium, or simply at a booth or on the show floor. I rarely participate as an attendee, but recently I had the chance to attend a conference simply to, well, do the things one does at conferences: attend talks and sessions, meet/greet others, and go to the demo booths!

Sitting in the audience I realized some speakers kept me quite engaged and others let my attention lapse a bit during their talk. Some conclusions from notes I took during talks I attended:

  • Don’t labour on the obvious
    If you represent a large, well-known company, say Intel* for example, but you are talking about a narrower topic, don’t spend five minutes repeating what your company is already known for (in Intel’s case, that would be semiconductors and processors). It’s ok to discuss the larger area to give context and perspective, but please don’t spend more than absolutely necessary (yes, Intel is in the semiconductor and processor businesses, I GET IT).
  • Unreadable slides are pointless
    If I can’t read the material on the slide it’s almost pointless to present it, especially if it has all text and no visual cues. And then to go on and read the unreadable-to-me text is simply punishment.
  • Easily digested slides build rapport
    As a counter to the previous point: easily read and digested slides are the opposite of pointless. Rather than alienate the audience, they help build rapport with the speaker as the audience internalizes the content and forms an opinion about it. And an easily digested slide ensures the audience won’t drown in details or attempt to listen to the speaker and read the slide at the same time, which may reduce comprehension.
  • Simple is beautiful
    Be clear, confident, and concise. Make a point and back it up. Don’t try to make ten points in the space of five, and don’t make references to related points unless they are in proper context. Stay on-topic and don’t ramble.
  • Make it worthwhile
    Make it valuable to the audience. If the objective is to introduce your product or service, make sure the audience leaves with a clear understanding of it. If the objective is to demonstrate complex and difficult achievements, let the audience leave with a sense of wonder. Don’t regurgitate a press release or blog. In most cases, people are in the audience attending your talk and skipped others that may be of interest because they felt yours would be more worthwhile.

By no means is this list even remotely comprehensive or unbiased, rather, it has just a few things I’ll keep in mind the next time I’m behind the podium.


*pure*

I do hope HTML5 and CSS3 are not the next

<table><tr><th></th></tr><tr><td></td></tr></table>

of the web.

I kid. Mostly.


VII Network photographer Donald Weber: Interrogations

VII Network photographer Donald Weber’s series Interrogations, a work-in-progress, is captivating and provocative:

http://www.viiphoto.com/showstory.php?nID=1180

If you’re not familiar with his photography, I encourage you to see some of his other projects, such as:
Bastard Eden, Our Chernobyl or Zek: In the Prison of the East.


Web2py: an application framework

Recently I’ve been using web2py as an application framework and front-end structure for a web page I’m extending. This is rooted in previous pages, tweeting the world cup, which then led to dropping tweets into a SimpleGeo layer. Web2py is described as a

Free and open source full-stack enterprise framework for agile development of fast, scalable, secure and portable database-driven web-based applications.

It is written in Python and was created by Massimo Di Pierro. He is amazingly omnipresent in support and development of web2py.

When considering how to extend the tweet-dropping capability, I looked at a few options. The program to record the tweets into a SimpleGeo layer was already written in Python so I looked at web applications and frameworks built around Python or at least with Python support. Looking back a bit, it seems a lot hinged on one program which ended up being but one very small element in a larger structure. But I was enjoying fiddling with Python and there are plenty of frameworks to choose from. I didn’t have much time to evaluate and test different frameworks so I wanted to make a decision quickly.

A framework that naturally comes to mind is Django. It’s popular, widely used in production, well documented, and actively supported through the community. Others like CherryPy and webpy are also available. After the head-slap that was realizing web2py is not related to webpy, I took a closer look and decided to go with web2py. My need was mostly to quickly make a prototype, and while the others would have been fine for this also, it seemed web2py would allow me to get up and running as with minimal learning of new template languages and other overhead. It also seemed to be easy to deploy to Google App Engine. Having limited information I knew there was some risk I would run into a roadblock while carrying a lot of sunk time into the development, but I estimated it was reasonable.

Now with an application framework comes MVC, hand-in-glove. I’d never used an MVC framework so I was completely green. MVC is a pretty broad model but it’s often seen in web frameworks such as Django and yes, web2py. web2py follows the MVC model but as I would soon learn, it is quite flexible. My use case really didn’t require many views at all, and probably only a couple of controllers at most. The flexibility of web2py allowed me to rapidly prototype what I wanted while still retaining the robust structure that MVC brings, and yet at the same time mostly abstract this from the user and even myself to some extent. It really seems to be the best combination in that sense.

As I investigated and experimented with the most suitable implementation of web2py for my need, I found an explanation on the difference between push and pull frameworks by Massimo:

There are two types of frameworks push and pull. In a push framework (like web2py, Django, Rails) the URL is mapped into a function, which returns data (in the form of a dictionary) and the data is rendered by one view. In a pull framework (like Struts and JBoss) the URL is mapped into a view which calls one or more controller functions. From your question I assume you have a pull framework in mind. You can mimic a pull framework in web2py in multiple ways. One way is via ajax requests…

This was exactly the flexibility I was looking for and just didn’t know it. I needed one or two views initially, and several groups of controller functions exposed within the same view. Reading this message gave me confidence I wasn’t going down a deep framework crevasse with no rope to haul myself back out if needed.

The learning curve for web2py is quite reasonable. It doesn’t have a separate template language per se, but it does have a structure and reusable components that, along with built-in helper functions, make prototyping speedy. And it allows Python code to be typed directly into .html files, by enclosing the Python code within {{ }}.

Extensive documentation for web2py is easily found and you can start by going through the tutorial on the web2py website. It’ll take you from rendering a simple web page to creating a wiki in one chapter! Other examples demonstrate some of the easier-to-implement functions and they really show-off how easy it is to get something functional up and running.


A single serving site

Just because: http://isdoloresparkclosed.com/

(http://en.wikipedia.org/wiki/User:Tlogmer/Single_serving_sites)




Copyright © 2010. All rights reserved. RSS Feed. Wordpress theme based on Modern Clix. Some icons by komodomedia.