Category Archives: technology

Location! at SecondConf in Chicago

This morning I gave a talk at SecondConf about location-based software.

You can download my slides with notes here: http://dl.dropbox.com/u/6541807/fun-with-location.pdf

I bookmarked a number of resources related to my talk as well: http://pinboard.in/u:spinnerin/t:secondconf2011/

Thanks to SecondConf for inviting me. I hope you’ll all be inspired to go out and experiment with location in your work.

Notes from OSCON 2011

I was at the Oregon Convention Center 7 days in a row last week, which feels like it should qualify for some sort of marathon record. First to attend CLS, where I learned a lot about open source foundations and various projects’ deploy processes, then OSCON, where I learned more about foundations and deploying (oddly enough). I left with a big stack of ideas to work on for Calagator and other projects.

Christie, Sherri, and I gave a well-received talk on event planning at OSCON (“Event Planning for Geeks”). We’re still building this out, but an initial event planning handbook is live on the Stumptown Syndicate site. You can also view our slides. We realized in the course of writing the talk that we have way more material than we’re comfortable squeezing into a <1hr slot, so we'll be working on expanding this into a 2-3 hr. long workshop.

In response to several conversations we had over the week, we set up a Citizen Code of Conduct site to make it easy to share our open source citizenship-focused guidelines from Open Source Bridge. The document is CC-licensed, so you can easily re-use it for your own events and projects.

Another cool thing happened while we were busy at the conferences: “Collective Agency” announced its plans for the space formerly known as Souk. Stumptown Syndicate is happy to be one of the initial workgroup partners, and we’ll be working on how we can use this space to support the local user group community.

So—onward to August.

Game Review: Dokobots

I’ve been playing with Dokobots on and off since being introduced to it at WhereCamp. I liked it off the bat, but I don’t think there’s much to keep the player coming back over time. I have a few thoughts on how that might be fixed.
Continue reading

Why I’m Part of Code n Splode

When Code n Splode started in 2007, it was in response to an event at OSCON and discussions that followed. Several of the people who would become involved had attended a “women in open source” BoF that left them unhappy with how issues of women’s participation in the technology industry were being discussed. (I missed the BoF but heard plenty about it afterward.) In the conversations that followed that week, we came to a kind of consensus that we wanted less talk about the problem and more direct action, and that women feeling isolated because we didn’t know many of our female colleagues (as few as those might be) was definitely not helping. So Code n Splode was born in response.

The meetings have a similar structure to most user groups: there’s a technical talk or workshop given by one of the members, and afterward the group moves on to a local pub for the “splode” part of the evening, a general discussion of whatever we want to talk about from our professional and personal lives. The guidelines for men’s participation have changed over time; the current rule is that all women are invited to attend and participate, and men are welcome as the guest of a female participant. The goal is to create a safe space for women to talk about our technical work in a friendly and open environment.

Why safe space? It’s no secret that the technology industry can be antagonistic, heavily competitive, and hostile toward outsiders who don’t immediately prove their technical competence. While not all women have experienced problems with this, many women (and men) have, and being a member of a visible gender minority often only increases that sense of otherness and hostility. Creating a group that is officially women-focused and has clear guidelines for inclusive behavior provides support in that environment. Men in the industry are part of a majority group; there are no defined “men’s user groups” or “men’s software conferences” because in many cases, that’s already what happens by default. In the open source world in particular, women make up a very small percentage of participants, and I find that having space where I feel visible and normal and not weird for being female is extremely valuable.

Besides that, having a cross-technology group where we can discuss our work with our peers is exciting. I’ve used this to present topics that don’t fit into any single-technology user group, like text game programming or privacy issues in software design, and I’ve attended other topics that don’t relate to my own work at all, but are interesting because of the enthusiasm of the women who are presenting it. It’s also a great environment for women who have never given a technical presentation before, and might not feel like they have the experience to present at a conference yet. This helps us learn the skills to move on to bigger events, meaning that over time we can encourage better representation of the women who are already present in these fields.

The best thing, the part that really demonstrates why this group is important, is seeing the effect it has on the women who participate. We’re learning to negotiate for better salaries, to find jobs we enjoy, to present our work to a larger audience, and we’re building friendships we can rely on when the problems of our industry are hitting us personally. It’s not a “fix” for the imbalances of the technology world, but a support system that helps us continue to be a part of this industry and still have fun.

Does this sound like something you want to participate in too? We meet every 4th Tuesday of the month, and you can find details on the group’s website or Calagator.

Notes From WhereCamp 2011

Land's End

I’ve been in San Francisco (and nearby) for most of the last week, primarily to attend this year’s WhereCamp, which was held at Stanford. I had a ton of great conversations about data, privacy, transit systems, community organizing, and how Portland is or isn’t like other places.

I also led a session on geo-games (games with a locative element, digital or otherwise) and design strategies, mechanics, and reward systems. We started off with a list of these items that I had gathered from earlier reading, and added more items and other details on the whiteboard through our discussion. Amber Case made a spreadsheet from the whiteboard notes: https://spreadsheets.google.com/spreadsheet/pub?hl=en&hl=en&key=0Asy5qINtkUStdEZPeE5mODVIa1hCV2tlOUFPZ3JxTkE&output=html

We couldn’t talk about games without playing a few, of course. Amber and Aaron ran a couple of demos of MapAttack, which is built on their GeoLoqi platform, and lets two teams compete for points by capturing dots while running around outside. At another session I was introduced to Dokobots, an iPhone game involving lost robots who crashlanded on Earth and have to be found and re-activated and sent off to explore things.

WhereCampPDX will be returning again this year as well. We’re tentatively scheduled for October 7-8-9 and ought to have more details on the site soon.

More Income Questions and Answers

As promised, a little follow-up.

Matt asked in comments: “I’d love to see how this compares to the bay area.”

For the San Francisco-Oakland-Fremont metro area, the mean annual wage for Computer and Mathematical Science Occupations is $91,440. (The Portland metro area number for that was $74,890).

San Jose-Sunnyvale-Santa Clara is a separate metro for this report, and the mean annual wage there is a little higher: $109,130.

For more west coast comparison, the Seattle metro comes in at $87,620.

In comments on Hacker News, a couple of people expressed surprise that developers wouldn’t know how their wage compared to the local average. It may seem obvious if you’re already paying attention to this yourself, or work for a company that uses cost of living and prevailing wage to determine compensation, but many developers really aren’t aware of this information. I’ve seen that to be especially true for younger workers, or those who haven’t had a lot of mentoring in their career. It’s very common to assume that what a company offers you is an average amount to be paid for that job, and that other people around you are earning a similar amount. This happens even within individual companies.

Hacker News also had some interesting discussion of whether wage variance from city to city was related to how companies in those places were valued by investors, i.e. if investors penalize a company from being in Portland, that should affect wages, but if companies are getting an equal level of investment, then wages should match other cities. One of the things I’ve been wondering is whether wage variance in Portland is partly related to company revenues: I’ve seen a fair amount of anecdotal evidence that employers that are paying developers less than other local competitors are also doing less well as a business. I don’t really know where to find the data to study either of these issues, though.

Another thing on HN was a discussion of whether a company paying developers in different cities the same amount is fair. Alex from BankSimple says that they decided it was, but other people thought it penalized developers who lived in more expensive places. There’s several issues wrapped up in this: is the market for developer talent local, national, or international? Do developers have sufficient freedom to move or choose where they live that the trade-offs between bigger and smaller (more expensive and more affordable) cities is a fair choice? Much of this depends on the specific company, but given that programming can often be done from anywhere, without requiring the same built resources as other industries, this is worth discussing.

One last thing: I think all of this highlights how useful an annual wage survey for the software industry would be. I’ve been looking at the AIGA survey of design salaries and what they report. They break their data by categories like type of company, location, and whether the company’s client base is local or national or international. It makes it really easy to find out what someone at your job level, working for a similar company, could expect to earn.

How Much Does a Software Developer in Portland Earn?

One of the topics I’ve become interested in through PDX11 and other economic development discussions is the variation in wages for local programmers. Surveys like the one we did last year reveal a wide range of annual incomes for developers, so while software development pays better than the local median, that gain appears to be more significant for some of us than others.
Continue reading

Upcoming Presentation: Interactive Fiction

Tomorrow night I’m giving a talk at Code n Splode about interactive fiction. I’m planning to do an intro about how the history of these games has had some interesting outcomes from the technical side (including encouraging open culture/open source practices), do a coding demo with Inform 7, and have some group game play time (9:05, Aisle, and maybe the intro of Lost Pig). It should be a lot of fun, and I’m excited about being able to share what I’ve learned so far.

Note: Code ‘n’ Splode is a women-focused technology user group. If you need more details about the group and our guidelines for participation, see here.

Games in Text

As I mentioned last week, I’ve been spending some time thinking about text adventure games. Or Interactive Fiction (IF), which is what most of the people actively writing and playing these things call it.

It’s interesting, as someone who hasn’t paid more than casual attention to this area of games since childhood, to see where it’s ended up. There’s a very lively online community of people working in text games, but it’s primarily amateur, unlike most other areas of game creation [1]. It also seems pretty insular, in the same way that leads Elizabeth Bear to describe science fiction short story writing as a club scene [2].

One of the general things that caught my attention is that there’s a ton of informed, well-considered discussion within this community about storytelling in games, and about game structure and technique in general, but the scope of games in practice seems much narrower. If, like me, you’re not likely to touch anything involving medieval fantasy, fairy tales, or steampunk, that can really limit your options. I’m finding that the text nature of the game means I’m much more likely to judge the game on whether I find the story compelling, not just whether I find the gameplay enjoyable.

Most of the things that normally combine to make play compelling are absent here, as well. There’s rarely a timing or physical performance issue [3], moves can be made at any speed the player desires, and while many games do award points for solving puzzles, that seems to have more of an effect on the sense of pacing (if you have 4 out of 6 tokens, you’re about that close to finishing).

Anyhow, enough general babble. Here’s what I’ve been playing and what I’m using to play it.
Continue reading

Why I Write Code

There are many stories I could tell about why I’m a software developer, but since my current topic [1] is text adventure games, here’s one that ties into that:

When I was in grade school, we acquired an Osborne computer. It was a hand-me-down from my grandfather, who had purchased it to run Visicalc (or something pragmatic like that). You could write programs on it in BASIC, though this version of BASIC made it difficult to get the programs from the back of 3-2-1 Contact to work (they included instructions on changes needed for common systems, which the Osborne was not).

It came with one game: Adventure. I was already an expert at the graphical Adventure game on the Atari (thanks to tutoring by one of my uncles), but this was different. You typed at a command line, instead of using a game controller. The computer interpreted this and responded with a game action (or not, if you couldn’t figure out the right commands). It was something of a disaster, in that I could barely accomplish everything, I was always struggling to work out what it wanted me to type, and I couldn’t save my progress, so every time I played I started over from scratch.

Still. That left a mark, the idea that I could type things into a computer and something else would happen. I think many of my later interactions with computers continued to be driven by that idea, that I would find something interesting if only I kept typing and reading the result.

[1] The previous topic was Antarctica. Thus the images of sled dogs and icebergs.