History:Hack Weekend

From MusicBrainz Wiki
Revision as of 20:40, 25 December 2015 by Freso (talk | contribs) (Freso moved page Hack Weekend to History:Hack Weekend: Possibly candidate for deletion?)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


The first official MusicBrainz hack weekend will take place between 2012-08-17 and 2012-08-19.


The main event will be taking place in the #musicbrainz-devel IRC channel on irc.freenode.org. We also encourage local people to get together and work on things in person if possible. If you're interested in that, please add your details below.

In addition, there will be a BigBlueButton server running at http://musicbrainz.bigbluebutton.org/ (password: “guest”) which anyone at the hackfest can use for voice and video conferencing and collaboration. This server supports dialing in with a toll-free number (in North America). Thanks to Blindside Networks who are providing the server.

  • ocharles (Oliver Charles) will be in London. If anyone wants to meet, it may be possible to use the Last.fm offices as hack space (need to confirm).
  • ianmcorvidae (Ian McEwen) is in Tucson, AZ, USA. On the off chance anyone else is nearby Ian can host some folks, or we can find somewhere to congregate.
  • RobertKaye will be in SLO, California.
  • kepstin (Calvin Walton) is in Ottawa, ON, CA; but would consider going to Toronto to meet up with someone there.

Projects in progress

Changed Data Feed of MusicBrainz changed entities

Hacker: RobertKaye

This project creates a data-feed of changed MBID in the last hour. This parallels the live-data-feed that MusicBrainz already has, but presents the data in a much more user-friendly fashion. There are two data streams in this project:

  1. changed-ids stream: a JSON file of all of the MBIDs that changed in the last hour. See the directory examples for an example file.
  2. changed-ids-with-data stream: a tar file with the JSON file from step #1 a subdirectory that contains files named after the MBIDs that changed, with the .json extension. These files will contain the JSON data for each entity, as returned by the JSON enabled MB web service.

Part 2 is not complete yet, since the JSON web service isn't live yet. All of these files will be available on the FTP server before too long. The file system structure for this will look like this:


I've created a doc that will track the various notes for this project: Changed Data Feeds for changed entities and the GitHub project with the code is here: Changed Data Feeds on GitHub.

This project will go live shortly after the JSON support is rolled out on the main servers. At this point this project does not actually output an RSS stream since RSS is really dumb and this feed is easier to implement by piggy backing off our existing replication structure.

Improving MBChatLogger

Hacker: ianmcorvidae

Developers often mention JIRA tickets and Code Reviews in IRC, and it'd be really useful if a bot could translate those into real links that people can click. Going further, it might be nice to integrate Git commits, JIRA and Review Board activity straight into the IRC channel.

I agree; it'd also be really nice to get rid of the current useless links, and probably also improve or get rid of the silly catchphrases -- for example, stfu.se gets linked whenever the string 'stfu' comes up, making it hard to talk about your "restful night" and other such topics. MBChatLogger also doesn't actually log correctly, especially quits/parts. Ianmcorvidae 18:55, 15 June 2012 (UTC)
I've opened a ticket for automatically sending links to the chatlogs for development meetings to the -devel mailing list a while ago: OTHER-95 because finding them right now is a tedious task. --Mineo 19:23, 21 June 2012 (UTC)

Project Status: replying with jira, codereview, and edit links. Has on/off/[off] functionality and will only reply with [off] to things sent with [off]. HTML log output not totally complete (logs everything, but isn't proper HTML because it's just a stream of lines, no header/footer, no real styling). Needs to be migrated to MB hardware rather than ianmcorvidae's box.

Sample incomplete HTML log: http://www.mbsandbox.org/~ianmcorvidae/mb-devel-2012-08-19.html

Code for the MBChannelLogger plugin, the bulk of my work (other stuff is packaged with supybot): https://github.com/ianmcorvidae/mb-channel-logger-plugin

RSS/Atom Feed Support in Picard

Hacker: bitmap

This ties together with RobertKaye's project. I'm making Picard keep a small database of the files a user has tagged, what entities are associated with it, and when things were last updated. On startup, Picard will check the feeds for any changes to entities in the database, after they were last updated. If there are changes, the user will be notified somehow, and can view a list of files that need updating. This feature will be optional.

Status: With the hack weekend over, here's what works: Picard now stores what files you've tagged, and what MBIDs are related to them in a small sqlite database. When enabled, it doesn't add any noticeable slowdown for me (changed files are buffered and then committed in batch, not after every file save). There's also a preference page to enable/disable the feature and inspect/add/remove files to the database manually. This was the hard part of the project, so I'm glad it's done. Once RobertKaye's "Changed Data Feed of MusicBrainz changed entities" is implemented fully, I'll continue work on this ASAP! The current code will be pushed to github shortly too, and then linked here.

Latest Releases

Hacker: ocharles

We do an amazing job of collecting data, and we do a terrible job of showing it off. Now that we have the Cover Art Archive providing artwork, it might be nice to show the last 5 releases added that have a 'front' image. We could display this as a row of releases on the front page, along with a 'x minutes ago' part to show just how active we are.

Status: Done!


Real time events

Proposed by: ocharles

Now that we have PgQ in our live database, we can do a lot of cool things. Something I'd love to see is a #musicbrainz-editing IRC channel, where a bot can announce changes to an IRC channel. When someone creates an edit, or leaves an edit note, the bot will announce this into the IRC channel. I think this will be interesting just to watch editing in realtime, but also it might have nice side effects on encouraging editing/voting participation.

I would also like to use this event framework to generate an RSS feed of changed MBIDs. This should help reduce problems with libraries doing massive database updates via the web service (headphones, we're looking at you!)

It might be more than we can do in this weekend, but the same idea could be extended to full, actual last-modified support with a bit of legwork mapping database tables and potentially-affected WS endpoints/inc parameters. Ianmcorvidae 19:03, 15 June 2012 (UTC)


Friday, 17 August, 1900 UTC

We'll have an intro meeting, where we introduce the concept and people can talk about what hacks they plan to do and form teams around their work.

Friday, 17 August, 2000 UTC


Sunday, 19 August, 1900 UTC

An hour long meeting where everyone gets to talk about what they did, and show off their work.