Last.fm donates a 48-port gig switch!

Our friends at Last.fm just donated a 48 port gig switch to MusicBrainz! This new (to us) switch will allow us to shorten the update cycle for our indexed searches. Currently it takes about 3 hours to generate the indexes and to push them out to the search servers. With this new switch, we should be able to push the indexes quite a bit faster, which should shave off 60-90 minutes off our update cycle.

Thanks so much for the donation! Thanks to Adrian for making this happen in next to no time!

London pub gathering

On Monday we’re having the MusicBrainz mini-summit in London. Following the summit, starting at 6pm, we’re going to move to the Tower Tavern to have a pint of beer (or a few).

While the summit is open to people who have registered ahead of time, the pub gathering will be open to anyone who would like to join in. We’re not going to have any formal topics scheduled for the gathering — just a friendly gathering of like minded souls and of course, beer!

I hope to see you on Monday evening!

Server update, 2012-01-26

We’ve just pushed out the last MusicBrainz web server update out for this month. Here are the bugs we’ve squashed, and the new features and improvements that have been added. As always, keep helping out with scheduling at the scheduling game, and we’ll do our best to get the important things fixed as soon as we can! Thanks to Ian McEwan, Lukáš Lalinský, Calvin Walton, Johannes Weißl and the MusicBrainz developers for their work on this update.

Bug

  • [MBS-2690] – Release editor reports incorrect "Reorder mediums" edits
  • [MBS-3692] – Cover image from amazon.es is not displayed
  • [MBS-3798] – Cover art not working for amazon.cn
  • [MBS-4040] – "Add URL relationship" doesn’t autodetect YouTube channel URLs
  • [MBS-4150] – Edit recording edits include artist credits even when they didn’t change
  • [MBS-4174] – Changes to track times don’t allow to propagate to recordings
  • [MBS-4177] – Don’t add "musicbrainz" to the search path for tests
  • [MBS-4181] – Date field doesn’t display nice error message
  • [MBS-4184] – label releases list sorted wrong
  • [MBS-4185] – Release Editor should not offer to update recordings when creating new ones
  • [MBS-4198] – "Link type" in edit search should be "relationship type"
  • [MBS-4199] – Search criteria when searching edits by relationship type breaks after initial search
  • [MBS-4202] – The "Merge releases and recordings" recording diff always thinks artists are different
  • [MBS-4211] – Copy all track changes crashes with new recordings
  • [MBS-4222] – When merging releases, I’m asked to pick a "work"
  • [MBS-4231] – JS URL cleanup recognizes more URLs than it should

Improvement

  • [MBS-2037] – Unify all references to memcached servers in lib/DBDefs.
  • [MBS-2799] – RE: Add the option to indicate a release has no barcode
  • [MBS-4178] – Languages/Scripts statistics page should exclude unused/unavailable items
  • [MBS-4182] – Add RDFa attribute for artist IPI codes
  • [MBS-4187] – Display language and script statistics next to each other
  • [MBS-4191] – Stop auto-transcluding the Proposal namespace in wikidocs
  • [MBS-4195] – Improve Google descriptions
  • [MBS-4243] – Use EWMA to smooth rate of change statistics graphs
  • [MBS-4247] – Clarify language/script statistics to explain why some languages/scripts aren’t visible

New Feature

  • [MBS-3273] – Avoid memcached clashing when running in shared environments
  • [MBS-4244] – Add medium format distribution statistics
  • [MBS-4245] – Add release format distribution statistics
  • [MBS-4246] – Add artist credit distribution statistics

The tag for this release is v-2012-01-26-ngs-bug-fixes.

libmusicbrainz 4.0.0 released!

Andy Hawkins says:

In conjunction with Lukas I’ve been working on a complete rewrite of libmusicbrainz to support the new Web Service v2 released alongside NGS. I’m happy to announce the official release of this new library (libmusicbrainz4).

The library is written as a relatively simple parser for the results from the Web Service, with as little logic as possible. This should mean it is easy to maintain to keep in step with any changes in the schema for the XML Web Service.

The main interface is a C++ class ‘CQuery’, that returns a Metadata object containing a parsed version of the response. There is also a C interface that loosely wraps the C++ classes.

Using the library requires a good understanding of the queries and responses to and from the Web Service. Download the library, or browse the online documentation or generate the documentation from the source with make docs.

If you find any issues, please report them using JIRA (under the project ‘libmusicbrainz’).

I will follow the musicbrainz-devel mailing list and the #musicbrainz-devel IRC channel on freenode in order to answer questions if at all possible.

Thanks.

Andy

2012-01-12 Schema change upgrade instructions for replicated setups

We just finished the latest schema change release! If you are running a full musicbrainz-server mirror, then follow these instructions for upgrading your installation:

  1. Take down the web server running MusicBrainz, if you’re running a web server.
  2. Turn off cron jobs if you are automatically updating the database via cron jobs.
  3. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  4. Switch to the new code with git fetch origin followed by git checkout v-2012-01-12-schema-change-2
  5. Install any necessary perl modules by running perl ./Makefile.PL and sudo make installdeps
  6. Run ./upgrade.sh from the top of the source directory.
  7. Set DB_SCHEMA_SEQUENCE to 14 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

If you are running a mbslave mirror, check out the latest code and read the upgrade instructions in the README file.

Server release tomorrow, January 12: Noon PST, 3PM EST, 20:00UK, 21:00CEST

We’re going to push out a server release tomorrow, January 12, at Noon PST, 3PM EST, 20:00UK, 21:00CEST. We expect to be offline for only a few minutes, but we’re going say that we’ll be offline for about 15 minutes starting right around that time.

Once we complete the server release, we’re going to post the usual list of bugs fixed, changes applied and new features created. Stay tuned!

Mini-summit and pub evening in London on January 30

The BBC requested that we convene a meeting with MusicBrainz community members and MusicBrainz developers in London. The goal of this meeting is to open lines of communication between MusicBrainz community members and developers and the BBC. Now that editors from the BBC and its affiliates are using MusicBrainz more, we should aim to properly indoctrinate these editors into MusicBrainz’ community.

I’ve decided to take this opportunity and invite other companies who are using MusicBrainz or are interested in using MusicBrainz to join this meeting. If you are interested in working with MusicBrainz commercially and would like to find out more about MusicBrainz, please feel free to attend this meeting. This all-day mini-summit will focus on the people who attend the summit — the attendees will largely set the agenda for the day. We will have technical, community and business focused representatives present who can talk about nearly all aspects of MusicBrainz.

The meeting will be held on January 30 in central London — the exact venue will be determined shortly. If you are interested in attending our mini-summit, please send me email at rob at musicbrainz dot org. Please tell me who you are, which company you represent and what sorts of topics you would like to see discussed. I’ll start building a rough agenda based on this feedback.

After the meeting we’re going to adjourn to a pub and enjoy a pint of beer. If you’re interested in MusicBrainz more casually or would like to meet some of the people behind MusicBrainz, feel free to pop in. As with the main portion of the meeting, we’ll pick a central London venue closer to the date.

I will mail out information about the mini-summit directly to the attendees, but I will post more information about the pub evening here on this blog.

I hope to see you in London at the end of the month!

Server donation and finances for 2011

I’m pleased to announce that an anonymous company decided to donate a pile of 20 Supermicro servers to us!! I’ve tallied up and estimated a value for all of these servers and it comes to $49,480!

Out of that pile of servers, I’ve built 10 servers that are very close to the servers that we purchased during our fundraiser last year. Two servers are nearly ready for use and a bunch of other servers decorate (read: fill up) my tiny office. Thanks so much to our anonymous donors — you’re going to help us grow over the next couple of years! With the rate at which our traffic is growing, the timing of this donation couldn’t be better!

If anyone wants to send dark chocolate to our donors as a thank you, please do! Just send them to MetaBrainz and I’ll pass them on our friends.

The timing of this donation was especially spot-on since it put us into the black for 2011. With a scant excess revenue (retained earnings) of $4,166.91 on revenues of $239,756.07, we barely made it. Phew. See our financial reports for all of 2011, if you care to get more details!

That closes an exciting year for MusicBrainz/MetaBrainz! We hope to have the annual report published before the month is out.

Thanks for an amazing 2011 everyone!

Search server bug fix release: 2011-12-24

On Christmas eve we updated our search servers with a couple of bug fixes, but then got side-tracked with Christmas itself to write this blog post. I’m finally now fixing this. 🙂

We updated our search server so that is it rate limiter enabled, which will allow us to free up another machine in the New Year. We also have two fixes in search to give better results when a name is made up of numbers, or a title contains punctuation characters.

Release Notes – MusicBrainz Search Server – Version 2011-12-24

Bug

  • [SEARCH-158] – artist not found when searching
  • [SEARCH-159] – : shoud be ignored when searching

New Feature

  • [SEARCH-161] – Search server should consult ratelimit-server

Many thanks to Paul for working on this!