BarCamp PDX: Haskell session

Haskell: How and Why?
Bart Massey, Portland State U.

Functional programming language
– General purpose

The next big thing? Driven by open source adoption


You give up global variables, and variables altogether.

Incrementally compiled, like Python bytecode

And now I have to leave to go home…

BarCamp PDX: Communities Gone Awry session

I facilitated this discussion, which is why my notes may suck more than usual.


Online consensus?

– Hierarchy (org charts)
– Total democracy, or representative
– Dictator, active or inactive

Effect of using a distributed SCM on governance?

Respect is critical to being listened to …

The importance of people who are catalysts (why? no clue, but they make things work). What motivation do they have to volunteer? The gratitude of others.

How to keep communities close-knit as they grow?
– Manifesto saying what’s acceptable, with an enforcer!
– Create smaller communities
– People to connect these communities
– One person can ruin an entire team: vetting new community members
– A “boot camp” for new members to intensively indoctrinate them to the social norms
– The buddy system: mentorship

Book: The Tipping Point

Dunbar’s number: maximum number of people who can work together. 150 to 300, depending on how strictly they’re indoctrinated

How do you tell whether someone’s really indoctrinated to the social norms? What criteria?

BarCamp PDX: Business 101 session

Much smaller group this time … about 15. People from 2-person startups, Microsoft and anywhere in between. Some from tech, some from biz, some consultants … I’m here to think about what it takes to start my own business (not now, but who knows?).

Issues: growth, fundraising

How do you decide where to take your business? Where do you get the info?
– Personal experience of making and watching mistakes, not so much market research
– Customer surveys, combined with a newsletter asking for feedback and building community
– Build community so customers do marketing for them
– Tiny percentage responded to newsletter, 15-50 of 4000
– Targeted survey to 150 users (of 4000) got about 50% response rate
– How do you connect others’ business experience with your business?
– Enterpreneurs’ forum
– CEO roundtable: get small biz owners together over meals
– Successful people in business meet, swap ideas that worked, discuss biz plans & needs
– Business Enterprise Center: incubator provides space, mentorship
– Bring in various experts in legal issues, accounting, etc to talk
– Choosing to build a business around yourself and your reputation vs a company reputation
– Even the name of your company depends on this
– Lifestyle business (you can leave whenever you want) vs having employees, etc.
– The people are the value, when they leave there’s no value left
– Small companies working with small companies or big companies?
– How do you build a consulting business that isn’t a lifestyle business?
– Growing without relying on just your personal reputation
– Locking into models
– If the model requires a certain technology, it can’t last forever
– Flexibility
– Do what you’re good at
– Outsource finances, etc. Time vs money
– Your time is best spent on your expertise
– You drop way too much time on things you’re unfamiliar with
– In the same way, use the tools you’re familiar with
– CFOs from big businesses can run small biz into the ground
– They don’t understand the urgency of time and the shortness of money
– Online database of information and experience from other owners?
– Trust issues
– My thought: show me the data, and I can draw my own conclusions (i.e. Fred Brooks)
– Ratings? Wiki-like model?
– What questions do you need to ask for a business plan? A list … inspires thought

BarCamp PDX: Collaboration in Communities session

Dawn Foster, one of the BarCamp PDX organizers, is facilitating this discussion. She’s interested in how people build communities.

How is collaboration changing within communities? Moving from mailing lists, newsgroups to blogs, wikis, forums …

Face to face (F2F) interactions build more trust than you get online.

How to bring non-technologists into online communities? Knitting is one of the biggest of these.

People treat each other differently F2F than online. Educating newer generations in social norms, cultural differences, etc all play a role.

How do you find forums moderators, e.g.? Let people who might want to contribute know where you need help. Not just technical but someone to set the expectations for community norms. Important to create a sub-community for the moderators.

Communities self-organize their structures more than being placed into a hierarchy.

Network weaving: intentionally creating tighter and more connections within groups. People apparently do this for a living?

Building a strong community, from a corporate standpoint (or any project), means that people have got your backs when bad PR comes up. Give trust to your community, and they’ll reciprocate. Companies have done this forever as product advisory councils, which also provides a beta testbed.

Building an internal corporate community is required before you can build a strong external community. And letting your internal engineers or whatever hear real customers firsthand sometimes makes the difference. Connect the creators to the users.

Business models move more toward ecosystems and away from your traditional corporate structure. Away from a two-state system and toward a spectrum — no longer just producer vs consumer.

When do bloggers become marketers? Are they still impartial if some company pays them to blog about its products? Does it matter?

More stuff. Funny relevant comic at

BarCamp PDX: User Experience session

I’m going to post my notes from the BarCamp Portland sessions here.

Packed room. We started out brainstorming one word each that’s related to the user experience. Ideas include: results, easy, story, predictable, relevant.

Startups: Don’t be afraid to throw some UI paradigm away. Your users may hate it, however much you love it.

Does gradually changing the UI work, or piss people off? No consensus.

Techies are really bad at pretending to be the naive users, so test it on real users!

Accessible interfaces as secondary UIs are different and need to be tested as such.

User personas are caricatures of reality and don’t model true users well.

And then we ran out of time…

Increasing contributions and interest via personal project aggregation

I just posted this to the Gentoo development list, but I thought other projects could use a similar idea so I decided to add it to my blog.

Hi all,

I’m sure I’m not the only one with a number of projects I’ll never get to, but I’d really like them to happen anyway. I suggest we create some sort of page that aggregates all of these personal projects together, so anyone can browse through them and look for stuff that sounds fun.

The goal is to increase contributions from outside by giving them a ready list of projects of all sizes and difficulty levels to work on, projects that go beyond what happens at Bugday. Further, it could also help current Gentoo developers who are bored or have lost interest in what they’re doing by helping them to find somewhere new to contribute.

A prototype with just my projects is at

Thanks for your comments!

Procrastinate your way to productivity

Ever want to get a lot of work done? Find something that really sucks to do, and then put it off. That’s right. Don’t do it—instead, do every little bit of work you can to avoid having to pick up that hated task. You’ll soon find that the more your procrastinated task sucks to do, the more work you’ll get done on other fronts, even the stuff you would normally find insanely boring.

So, try it. Don’t do something.