Main server update updated

We’ve gotten a slew of bug reports overnight as to what was wrong with the latest release. Keschte and I worked hard to address a number of these issues and I’ve done a mini update on the server. Check out this list of recently closed bugs to see what we did. Thanks to all those … Continue reading “Main server update updated”

We’ve gotten a slew of bug reports overnight as to what was wrong with the latest release. Keschte and I worked hard to address a number of these issues and I’ve done a mini update on the server. Check out this list of recently closed bugs to see what we did. Thanks to all those who reported bugs!

The broken tagger issues should also be resolved now.

Technorati Tags: ,

Main server updated

We just updated the main server with the long awaited new release: Not really new, or not so obvious features The MusicBrainz web pages have been polished and cleaned to be web standards compliant. We proudly serve the pages in XHTML 1.1, CSS 2.0 compliant mode. The user interface has been given a face lift … Continue reading “Main server updated”

We just updated the main server with the long awaited new release:

Not really new, or not so obvious features

  • The MusicBrainz web pages have been polished and cleaned to be web standards compliant. We proudly serve the pages in XHTML 1.1, CSS 2.0 compliant mode.
  • The user interface has been given a face lift and a cleaner look.
  • We have made great steps on the terminology changes, which had hung in limbo for quite some time. From now on, the term ”album” is reserved for release attributes. The albums are now called ”releases”. The same is true for the term ”moderation”: we replaced this with the more appropriate term ”edit”.
  • Lots of static pages have been replaced with WikiDocs pages. This means that most of the documentation pages displayed on this very server are no longer static html pages, but are instead content transcluded from the MusicBrainz Wiki. For each of these pages, a given revision is labeled as “official content”, and is displayed inside the MusicBrainz site. (For example, compare http://musicbrainz.org/doc/ContactUs to http://wiki.musicbrainz.org/ContactUs). If the content is not labelled as official, it can still be browsed in the same way, but will be labelled as unofficial content. WikiDocs is a huge project, and some parts will always be in the works. Please talk to the Wikizens if you’d like to contribute!

New features

  • The “Release Editor” (nicknamed “The edit page to rule them all”) replaces the FreeDB Import, the CD-Lookup as well as the “Edit all” workflows. It supports all the edit types usually applied to core entities (artist/release/tracks), including single artist conversions, various artist conversions, but also explicit changes to one track artist of a single artist release. This will allow us to more flexibly edit releases to conform to the new ReleaseArtistStyle, all in one go.
  • Timestamps on edit notes.
  • Diff display of changed titles on the voting (previously: moderation) pages.
  • Edits are linked to their respective documentation.
  • Edits show all the parent objects that are relevant for the current object (example: on a track title edit, the artist and the release are shown in the header).
  • Pending edits are shown and explained in more detail on the edit pages. Links are provided to review the pending edits.
  • The help blurbs on the editing pages were extended, and now include links to official WikiDocs documentation relevant to the current EditType.
  • GuessCase classical mode.
  • The Indexed Search was extended to include additional fields for the Artist Search. Users can choose to include artist names, sort names and alias’ for more precise search results.
  • The Indexed Search results have an additional row which allows to add the entity to the Create Relationships list. This should allow to enter relationships much faster now.

Improved features

  • Lots of fixes for the GuessCase function.
  • Numerous others: please see the closed tickets for the current Milestone and Version.

Many thanks to Keschte and everyone else who contributed and tested for your hard work on this release!

Technorati Tags: , ,

Google pledges $15,000 to the MetaBrainz Foundation

I’m extremely pleased to announce that Google has just pledged $15,000 to the MetaBrainz Foundation! The goal of this donation is have the foundation pay me a modest paycheck that will allow me to keep focused on managing MusicBrainz and writing more code to move the project forward. Without this support I periodically have to … Continue reading “Google pledges $15,000 to the MetaBrainz Foundation”

I’m extremely pleased to announce that Google has just pledged $15,000 to the MetaBrainz Foundation!

The goal of this donation is have the foundation pay me a modest paycheck that will allow me to keep focused on managing MusicBrainz and writing more code to move the project forward. Without this support I periodically have to stop working on MusicBrainz projects for a few weeks to earn some money so I can continue to pay my bills. You may have noticed lull periods where I am not very present because contract work demands my time — hopefully we will be done with these periods. This donation will cover me for at least 6 months and by then I hope to have more data licenses sold which would keep the paychecks rolling!

A big fat thank you goes out to Google and Chris DiBona, the Open Source Programs Manager at Google. Thank you so very much for supporting MusicBrainz!

Technorati Tags: , ,

Picard 0.7.0 released

Lukas finished the final round of bug reports in Picard and prepared the 0.7.0 final release. This is the first non-beta release of Picard with MusicDNS acoustic fingerprinting. The changes are: Automatic identifying of audio files using MusicDNS acoustic fingerprinting technology. Support for automatic translations of non-English artist names. New file name format variable %albumtracks. … Continue reading “Picard 0.7.0 released”

Lukas finished the final round of bug reports in Picard and prepared the 0.7.0 final release. This is the first non-beta release of Picard with MusicDNS acoustic fingerprinting. The changes are:

  • Automatic identifying of audio files using MusicDNS acoustic fingerprinting technology.
  • Support for automatic translations of non-English artist names.
  • New file name format variable %albumtracks.
  • Support for connecting to the Internet throught a proxy server.
  • Option to write “Windows-safe” file names on non-Windows systems.
  • Detection of GNOME and KDE default browser settings, in addition to the BROWSER environment variable.
  • New file formats: Speex, WavPack, TTA !

Download links:

Thanks to Lukas for his hard work on this release!

Technorati Tags: , ,

libmusicbrainz 2.1.3 released

libmusicbrainz 2.1.3 has just been released! Changes in this release:

  • New queries for selecting album artists:
    • MBS_SelectAlbumArtist
    • MBE_AlbumGetAlbumArtistName
    • MBE_AlbumGetAlbumArtistSortName
  • New query MBE_AlbumGetCdindexId
  • Using size_t instead of int in networking code
  • Little fixes in the API documentation
  • Python bindings:
    • Using the new ctypes 0.9.9.x API, with support to fallback to the old API if only an old ctypes version is installed
    • Removed dependency on ctypes in setup.py

You can also view the complete diff of this change. You can download the new release in the usual place. Big thanks to Lukas and Sander for working on this release!

Technorati Tags: , ,

libtunepimp 0.5.0 released

libtunepimp 0.5.0 was just released — the changes for this version are:

  • Versioned header files. tunepimp/tunepimp.h -> tunepimp-0.5/tunepimp.h
  • Removed track lookup parts of libtunepimp
  • WavPack, Speex and The True Audio metadata plugins
  • Correct handling of UNC paths on Windows
  • Fixed non-album tracks renaming/moving (#1408)
  • Trivial change to id3tag to read tags empty ID3 frames (#1568)

IMPORTANT: Please note that libtunepimp 0.5.0 is incompatible with previous versions of libtunepimp. We’re in the process of re-architecting libtunepimp and we’ve started removing the features that do file lookups, since Picard now does lookups with python-musicbrainz2. If you wish to use lookup features with libtunepimp, you will either need to use python-musicbrainz2 or call the XML Web service directly.

You can also view the complete diff of this change. You can download the new release in the usual place. Big thanks to Lukas for working on this release!

Technorati Tags: , ,

New Server Release

It has been rumoured for quite some time now, and I think that the new server release is ready for beta-testing. Please jump in, and help finding the remaining bugs. If you find any, file them to the XHTML 1.1 Milestone, and owner to yours truly. This is a significant update to the look and … Continue reading “New Server Release”

It has been rumoured for quite some time now, and I think that the new server release is ready for beta-testing. Please jump in, and help finding the remaining bugs. If you find any, file them to the XHTML 1.1 Milestone, and owner to yours truly.

This is a significant update to the look and feel of MusicBrainz — many pages and workflows have changed and there are bound to be a number of bugs. We’ll need people to jump in help testing if we want to get this release out soon.

See what has changed: Release Notes
Test Server (as usual): test.musicbrainz.org
Bug Tracker (as usual): bugs.musicbrainz.org

For right now, we’re not specifying a release date — we need to get more eyes looking at this new release before we can nail down a date. So, please jump in and help test!!

What's up with those pesky 502 errors?

There are two web servers running on the main web server machine. The first web server is light and handles all the content that is simple, such as static pages, images and the like. Anything that requires more intelligence, such as talking to the DB, gets passed to the second web server, which is designated … Continue reading “What's up with those pesky 502 errors?”

There are two web servers running on the main web server machine. The first web server is light and handles all the content that is simple, such as static pages, images and the like. Anything that requires more intelligence, such as talking to the DB, gets passed to the second web server, which is designated for these heavy requests.

The light server will wait for a specified time for the heavy server to finish its job — currently 120 seconds. If the heavy server hasn’t finished the job in that time, the light server gives up and and returns you the dreaded 502 error. The DB server will unfortunately continue to chug on the query and finish executing it as requested — cancelling an existing query is hard to do, and often times its better to let the server just run its course.

The gut reaction might be to say: “Why not stick around longer and wait for the results, if the DB is going to crank them out anyway?” Problem is that if we do this, the light web server is sitting idle doing nothing while waiting for the DB/heavy server to finish its job. The light server can give up and instead spend its time better doing things it can accomplish in a reasonable amount of time — like serving smaller requests for others. With this setup, the overall system favors the less intensive requests and thereby increasing the overall number of queries that were successfully handled. If we stopped and waited for the DB/heavy server to finish its stuff, we would pretty quickly clog up the web server with requests that are sitting idle, doing nothing. And that clog would then prevent any further connections to the web server and the whole site comes to a halt.

If you want a visual representation of what is going on, check the load graphs for dexter, our DB server. Any load greater than 4.0 and the DB server is no longer running optimally. We’re fine right this second, but in 10 minutes time?

So, what are we doing about this?

  1. Optimize the server code so that the user cannot make these intensive requests
  2. Spread the DB load across multiple replicated slave servers.
  3. Partition the database so that we can have multiple master servers. For instance, we could have one DB server that handles all the edits and one that handles the data. Maybe one that handles TRMs and PUIDs. This way each machine does less work, but this is a lot of work to code for mb-server devels.
  4. Find someone to give us a beefy database server with 12GB – 16GB of RAM

So, next time you’re aching for new mb-server features, please keep in mind that we’re spending a lot of time just keeping the service running smooth. Our income isn’t great enough yet that we can hire people to maintain the site AND hire people to hack on new features. In the meantime, Dave Evans and I will focus on keeping things running and hard working folks like Keschte are working on new features for the server. Overall we’re still moving forward, just a lot slower than we care for.

What can you do?

  1. Help us solve our DB issues if you’re a DB person.
  2. Help us write more mb-server code.
  3. Most important of all, make a donation!!
  4. Bug your rich friends to donate to MusicBrainz so we can buy a beefy database server. 🙂

Technorati Tags: , ,

Artists, labels and users

The previous blog post about Flagrant managed to raise a number of issues that we had never dealt with before here at MusicBrainz: When an artist comes to MB and asks that their data be removed, what should we do, if anything? Should an artist be more important than the users? How about music labels? … Continue reading “Artists, labels and users”

The previous blog post about Flagrant managed to raise a number of issues that we had never dealt with before here at MusicBrainz:

  • When an artist comes to MB and asks that their data be removed, what should we do, if anything?
  • Should an artist be more important than the users? How about music labels?
  • How can we tell that someone mailing us is in fact that artist or a valid representative of that artist?

These are very difficult questions to answer and given the feedback from the community to this issue, its clear that people feel strongly about this. Also the favor does not seem to be towards the artists, which intuitively I do not agree with. Rather than deal with these very sticky situations that involve recognizing one person or group of persons more than others, I would like to suggest the following much simpler course of action:

  • Every MusicBrainz user is treated the same inside of MusicBrainz.
  • Users may have different powers, depending on their past history inside of MusicBrainz. (MusicBrainz is a meritocracy)
  • All users start with the same level of power, regardless if they are an artist, a label, a representative of either, or a normal music lover.
  • Neither an artist, a label, nor any user can request data be removed from MusicBrainz, unless they have a clear legal argument. Given that MusicBrainz indexes only factual data at the moment, this is going to be very unlikely.

This policy is enforceable since it makes everyone equal. If an artist or a label wishes to enter/remove data to/from MusicBrainz, they must use the moderation system just like everyone else. Please post comments and let me know what you think of this proposal!

P.S. Thanks to our board of directors for chiming in on this important topic!

Technorati Tags: ,

Please do not add any albums/tracks for artist Flagrant (UPDATED!)

Apparently the person who contacted us was not actually authorized to speak on behalf of Flagrant. Now the real Flagrant wants this blog entry taken down because its incorrect, but we don’t censor our blog. So, this entry has the original body struck out so everyone can see what is going on. As for adding … Continue reading “Please do not add any albums/tracks for artist Flagrant (UPDATED!)”

Apparently the person who contacted us was not actually authorized to speak on behalf of Flagrant. Now the real Flagrant wants this blog entry taken down because its incorrect, but we don’t censor our blog. So, this entry has the original body struck out so everyone can see what is going on. As for adding information back to Flagrant, please feel free if you feel motivated. And stay tuned for how we plan to handle this case in the future.

It was bound to happen… Today the artist Flagrant asked us to not index any of their music. I’ll leave the artist in place with an annotation so that other brainerz can see the note in the future.

Even though I attempted to appeal to them to reconsider their decision, they did not. Nor did they provide any reason for this. So be it…

Technorati Tags: