twittering on 2009-02-13

twittering on 2009-02-13

twittering on 2009-02-12

  • thank you @gorthx for awesome 4 mi run #
  • @karolcooks 🙂 i mean it. #
  • @EvaCatHerder happy bday 🙂 #
  • mmmm. coffee. #
  • excited to have a waffle-meetup at my house this weekend to work on #osbridge conference ware #
  • Varnish in action: #
  • happy to see coworkers @axisofentropy and @murwiz in my tweetstream 🙂 #
  • @magnushagander well, i’m following @perbu now if its any consolation. #
  • ‘caller’ perl function FTW! #
  • @kcomandich if you’re interested – in the app or the waffles – you should come too 🙂 #
  • what’s cheaper than therapy? @methneighbor #
  • (disclaimer: not my neighbor) #
  • @ljbanks gives you hope for humanity, eh? #
  • @sumwan 🙁 #
  • not sure how I feel about @methneighbor following me. will he move in next door next? #
  • and what kind of DMs will I get? #
  • waffle-induced development #
  • @AaronThul have a great time!! 🙂 #
  • @spinnerin i know someone who did that, and has gotten 3 years worth of funding out of it 🙂 #
  • @spinnerin the trick is often making sure that the work is accepted back by the main development community #
  • @spinnerin yes, definitely. i think it would be harder if the company was a corp, and dev didn’t have a formal agreement ahead of time #
  • @spinnerin have also seen that model work with devs register and have a “dev license” agreement with commercial company #

Waffle-induced development

My waffles will probably not look as good as this.

People often ask me for advice on how to motivate and get people excited about coming to meetings, participating in user groups and contributing to projects. I’m going to try to blog more about the things I do that work.

Friends in Portland know that I often use food (and sometimes alcohol) bribes to get them to come over to my house to hang out, and then do work that is best done with a group (recall a major weeding project in my front yard).

We needed a few good folks to help out with the next phase of our Open Conference Ware application, and so I decided to reuse this “get house chores done” trick to hopefully motivate a few hungry developers to work with us on the next phase of the project.

When I sent out the message, I got both an enthusiastic “Hell yes, I’ll come for waffles”, and an “Oh man, I already had plans — which, if they fall through, I will totally be there for the waffles.”

I’m sure that the good people who stepped up to help us would have done so anyway. But, if I can provide a warm breakfast while we hack away on wireframes, why not? And, after I tweeted what we were up to, I got another volunteer!

Image courtesy of rizkapb, Creative Commons 2.0 generic license.

twittering on 2009-02-11

twittering on 2009-02-10

  • home, and just rounding up the last bits of blogging and email before trying to re-adjust to PST. #
  • oh cool, slideshare featured the leading without being in charge slides from #fosdem 🙂 #
  • ugh. timesheet fail. lost a very long entry. 🙁 #
  • whoa, scappoose is out for the day! #pdxst #
  • today’s coffee: stumptown house blend roasted on 2/8 #
  • @PINguAR ugh. that sucks. #
  • Puppet (the configuration management system) users? raise your hands please. would like a meetup in portland, w/sponsored beer. pls @ or dm #
  • @sheltren i promise not to tell anyone your little secret. so, yes. #
  • @jshirley thanks for the tip! #
  • having a “cat at basement window” FAIL. #
  • @erth64net awesome! will keep you posted. #

FSM, visibility map and new VACUUM awesomeness

Heikki Linnakangas, listening as Simon Riggs sketches on the chalkboard.

Update: Heikki’s slides are here!

Heikki Linnakangas gave a presentation this past Sunday at FOSDEM about the improved free space map (FSM), which tracks unused space inside the database, and new visibility map, a bitmap which will indicate which data pages can be skipped during a partial VACUUM. This performance enhancement will affect all users of the upcoming 8.4 software release. You can see what the new FSM implementation looked like back in October from depesz’s blog.

Despite Heikki’s modest claim during the talk that the performance tests were inconclusive, the consensus among Postgres contributors is that this feature will result a substantial improvement in the performance of VACUUM for tables that are large, but have few UPDATEs.

The new free space map and Visibility map (in 8.4) and autovacuum (enabled by default starting in version 8.2) are huge administrative usability improvements to version 8 of Postgres. Prior to version 8.1, VACUUM had to be scheduled outside of database system. Autovacuum has been part of the core Postgres distribution for over two years, and is tunable via several global configuration parameters.

The visibility map enables partial VACUUMs — meaning that VACUUM no longer has to examine every tuple to update the FSM. The new FSM implementation eliminates two configuration parameters, effectively automating a formerly manual configuration process.

The new FSM is stored on disk in seperate files inside of $PGDATA/base/, and is cached in shared_buffers. The result is that the max_fsm_* configuration parameters are no longer in 8.4 — Postgres is able to track and adjust this data structure without user intervention.

A few critical features of the new FSM are:

* Now a binary tree structure
* Constructed using 1 byte per heap page
* The top level shows the maximum amount of contiguous space available
* The data structure is auto-repairing and can be reconstructed from the bottom

Previously, every time that VACUUM was run, the free space map had to be reconstructed from scratch. Now, individual nodes in the map may be updated (aka “retail” updates).

Visibility map is a bitmap of heap pages which tracks which tuples on pages are visible to transactions, and therefore not available for VACUUMing.

Previously, when VACUUM ran, it *had* to look at every tuple in a table, because there was no information about which pages may not have been updated since the last VACUUM. With the visibility map, VACUUM will now be able to perform partial scans of table data, skipping pages which are marked as fully visible. Partial scans means fewer I/O operations for VACUUM, and happier database administrators.

Leading without being in charge: updated slides for FOSDEM 2009

I’ve got a post about Heikki’s visibility map talk in the queue, but first I’ll post the updated slides for the user groups talk — Leading without being in charge.