Since my last post I’ve been in a car crash (I’m ok, but it threw me for a loop) and changed jobs. I’m still doing web things, and still in a relatively broad range, but I’ve specialized. Hell, my title even includes the word “Specialist.”

So for the time being I’m turning off this blog. I’ve already turned off comments. I’m not deleting it or anything; I know of a couple of people who were interested in maybe writing a little something, and I’d be happy to hand it off to the right person.

I’m switching back to my main blog (elainenelson.org) and doing some work-related writing at my new new job (blogs.evergreen.edu/nelsone). If you want to get in touch, check those places, or find me on Twitter (epersonae).

I’m back at the office after a week of training & conference, a week of being sick, and a week of vacation. I’m delighted that I cleaned my desk & email before I left; that made it a LOT easier to ease back into my routine.

Yesterday was spent cleaning up, filing expense reports, and doing little random things. FWIW, I had 258 emails in my inbox, although I was checking my email some during that first week; a first pass got it down to 101, and I ended the day at about 10, including what I’d received over the course of the day.

Today…well, there’s some more of all that, but I did print up my notes from the Google Analytics training. I’m hoping for a chance to read through and condense it into a report for my boss and a to-do list. I took all my notes here and have them saved as draft posts; if my notes turn into something shareable (ie, not too much internal info) then I’ll post it here.

Tomorrow I’m planning on doing the same with my Drupal Summit notes, which are already available here in live-blogging form.

All of that, hopefully, should provide some redirection on my projects for the rest of the year and for 2011. During the whole week, I kept realizing all the back-to-basics things that I want to be doing. I’ve spent most of the last five years constantly surging forward into new areas; now it’s time to review, to assess, to clean up and polish. I’m looking forward to it.

(Plus I read Rocket Surgery Made Easy while I was sick, and I’m inspired to do more usability testing!)

a tweet: “the part of open source I dislike the most is [dammit, didn’t get to translate, but amounts to I hate it when everyone is wrong and just doesn’t use my idea]

from a negotiation perspective this is the worst option

at the core of every conversation: interests (as separate from positions) – why do you want this? underlying motivations. (it’s like doing usability testing!)

the smart-alec comment: I just want you to tell me that I’m smart.

use them to generate options, then what external standards can you use to make decisions. (legitimacy)

often breaks down because relationship and/or community are lacking

in open source communities, relationships are often MUCH weaker. communication also often weak, missing 70% because of lack of visual/audio cues.

“crazy distorted version of this framework”

build this stuff into the tools we use – nudge people to better communication

Inquire – Paraphrase – Acknowledge – Advocate

example of bug report (?) that is ALL advocating

modeling behavior and setting norms

“what should the software have done?” vs “What were you trying to do?/Why did you want to do that?”

and yet there’s all these tools out there

fork as a big threat – but github as a structure allows people to run off and innovate, at an infinite scale

attracting/empowering the lone individual

cooperation vs collaboration challenge

collaboration is very high-touch; open source restrctured process to enable cooperation, going off on your own and then bringing it back into the whole.

example of Firefox add-ons – which sounds a LOT like Drupal module situation

mapping consumption of memory by add-ons: a real issue of cooperation – then providing more data can empower the user to make better choices, which provides useful feedback to addon developers.

discussion of bug vs support

developers are incented to be mean, because they don’t want to waste their time. so talking about changing the culture maybe not the best place to start. look at the incentive structure: what’s driving the behavior?

open source projects don’t have open data portals.

if you want to advocate for drupal, you have to recognize that there are things that drupal is not good at. (in context of bug/issue tracking)

how do we create dashboard systems? shows example of seeclickfix

the hardest people to get data about are the people who leave and never come back.

he’s more of a server-side guy, but don’t ignore front-end. (which was all in yesterday’s talk)

diagram of process of getting to the site. browser cache, if it’s accurate, is best of all possible worlds, speed-wise

caching at multiple levels: it’s caches all the way down.

a lot of f-bombs in this presentation. interesting.

history of drupal: first actually popular drupal site: the website fell down under slashdotting. so, very basic page caching, which is still with us.

PHP caching! dynamically compiled language, when you make a request, reads all of the files and compiles them into executable code on the fly. cool, but slow. “build an app every time you make a page request” so then OpCache, APC, speeds site by “like 10x” (should probably check on that.)

CSS/JS aggregation, starting with D5. 3 requests rather than 35.

Pressflow? Friendly fork of drupal made for high performance. Can generally install right over existing drupal installation. huh. http://pressflow.org/

Palantir getting involved, notable client American Public Media. (would imagine they have similar use cases?)

philosophy: reuse/reduce/recycle – rather than writing custom stuff.

two branches: one stable, the other with shiny new stuff

the Future!

I’m wondering: what does awesome look like?

looking at module page: “Flexible display filters for image manipulation, audio & video players and more.” – that’s what I’m looking for. Excellent, now I have the right option for one of my “try alts” entries in my spreadsheet.

needs moar screenshots.

making a commitment to maintain this module. “if I choose this module, what kind of future does it have?” indeed.

want to make sure, though, that other people can get involved, that it’s not just this one company’s project.

looks like the process is still getting ironed out, altho apparently there’s a default view that ships enabled.

guy in the audience is using 2.x – “I like spicy foods” – and it works really well for him.

wysiwyg integration – “kinda needs a lot of work”

what about other submodules staying in sync with 2.x (ie, youtube, vimeo, etc)? relying on maintainers of those modules. still not stable, so not actually recommending those integrated submodules. “oembed”

audio player? not much lives in media right now. ok, so maybe not so much. he recommends “media element” module: http://drupal.org/project/mediaelement html5, even!

but I do like how

can you replace the image and keep the fields? media replace module – works with media 1.x – something they want to consider putting into the main module.

causes: feeling overloaded, lacking control over what we do, not being rewarded, breakdown in community, not being treated fairly, dealing with conflicting values.

rewards: giving attribution, pats on the back…but easy to find people who feel ignored (which is the open source version of reward?)

“family problems” – at tense times, “it’s all going to hell” — and it didn’t. making personal statements on twitter, inflamatory comments on drupal.org, etc.

lack of boundaries with professional projects vs hobbyist.

slide of 12 stages of burnout.

individual solutions.

“real interconnectedness in a local community” which is hilarious for me, because that’s where I’m actually experiencing burnout. I think my 4e (D&D) game is my alternative/outlet for that.

burnout is NOT an individual problem, but an organizational problem.

specific things that Drupal does that make things work

calls out Dave Reid – has created 87 modules – module creators automatically become module maintainers. Even Dave has a limit. what do we do about that problem?

no explicit way to step down from a lot of responsibilities: no natural way, just guilt and overwhelmedness. “abandoned module hopper” –

“what’s wrong with assigning to abandoned”

“adopt-a-module”

not just name change – realizing that we have to promote people taking over and giving up responsibilities.

“there’s a process for adopting humans” (audience comment)

figuring out how to mentor and helping people to grow

you have to step away for people to feel comfortable stepping in

audience member – traveling is a universal way to “break the chain of misery” – also, finding a good psychologist. It really was my therapist who helped me work through that I needed to step away from friends of the library and recognize that I felt better after having done it. (because I’ve been going through whole life burnout, really)

tarpits – things that are not sustainable and will never work – not just module maintainership – docs team, good steps towards sustainability – project application process. sometimes you just can’t work harder.

organizational development – audience member’s wife does that professionally. no position for a documentation lead, for example, on modules. interesting idea: not having to be a co-maintainer to contribute to a module.

things that we do right!

don’t forget the risks for not trusting newbies.

time-limited responsibilities – reminds me of the n’hood association board – knowing that I have a term, and that it has an end point, is really helpful.

I’ve been involved in doing this review of bicycle parking in Olympia at places that have been built in the last 5 years, to see if the inspectors are catching parking that isn’t installed to code. (Or at all.)

I had an Excel spreadsheet — or rather, two spreadsheets — with the names of the locations, street addresses, application ID numbers, date of inspection and a few other bits. I imported them with Node Import, which was really easy, and tried a bunch of stuff to get the locations plotted on a map. Finally got it tonight! With this tutorial: http://drupal.org/node/1041632 – although the critical bit is that you have to set up a geocoding service before anything will work.

It’s pretty late right now, but I’ll try to go into a bit more detail about the process later.

usually don’t have to start from scratch, even if goal is to do something complex! often adding to or building on existing module.

will encourage you not to write a module if you don’t have to.

hooks – extend existing action.

I’m performing a particular action – does anyone have anything to say about it? I’m getting up to get napkins, does anybody want anything else? Yes, please get straws. I’m presenting a form to the user – please add a checkbox to that form.

hook_form_alter

hook_user

hook_nodeapi

hook_mail

form API – an array that translates to html. I like arrays. includes some automatic security protection.

APC? “this are the things that you have already done before this can be useful” – missed some details in his answer to the question that I didn’t actually hear very well. (from webchick?)

so maybe I should look at devel query log FIRST, but this is probably useful too.

is he talking about the xhprof module? or xhprof in devel? xhprof module is coming back to life, I guess; makes more sense than devel integration.

I can’t hear any of the questions, especially since the VACUUM CLEANER IS RUNNING. (so I shut the door.)

q: was originally designed for evaluating a single page – how is this useful for a whole site? that’s why he’s doing work on extending xhprof for drupal. or something. I am genuinely baffled. (once again, sorta wishing I’d gone to a different session. Omega theme might have been handy.)

CPU time and function calls are key info.

(seen on Twitter: Omega has a subtheme wizard! session info at http://omega.cellardoormediagroup.com/)

Subscribe

About The Web Generalist

A site about sitting in that intersection where all the web fields meet; the world of the web generalist. And yes, at the moment I am using a WordPress theme created by someone else. An important skill of the web generalist is knowing when to use someone else’s work.more →