Not sure if similar laws exist everywhere, but in the UK the Sale of Goods Act should cover this. If the product is "not fit for its intended purpose" the store has to refund you. (Not the publisher, the store you bought it from)
I suppose "fit for its intended purpose" may be a bit vague in this case; I've played Dead Rising on a non-HD projector (6ft high image) and haven't had any problems reading the text. I wish they'd recorded dialogue for the characters in the game you rescue/interact with though, it's not always convenient to read whilst millions of zombies are closing you down:)
We just hooked up a 100mbit link to our data center at the Last.fm office, so we have 100mbit internet now.. very handy. Can't get any work done without it, as our staging servers and development platform is hosted with our main servers.
This afternoon a crappy netgear router blew up (you get what you pay for..) and we lost our internet connection a couple of hours before the end of the day.. Perfect timing on a friday, early pub:)
If you're working on an interesting and engaging website/product then web development can be very rewarding. You don't have to worry about people running old versions of your software, you can update as frequently as you please, and distribution on the web can potentially be much larger and faster than traditional applications.
Having said that, I prefer to work on back-end/behind the scenes stuff. Working in a team with a wide range of skills is great, if you also work with people who excel at front end/css/gui stuff. It all boils down to the environment you're working in. In the right setting, I say that producing web based products is much more rewarding than traditional software that the user needs to install and upgrade. I should point out that I've never really done the latter tho.. so I could be missing out:)
So, seeing as I work at Last.fm (I founded audioscrobbler), I feel obliged to pimp my last.fm journal, which has some interesting stats (imo) about which media players are most popular, and some graphs of artist popularity. I intend to do a "google trends for music" interface after the next site update (see below).
The KDE player Amarok is getting increasingly popular, which is nice to see. I use it myself; the built in support means no plugin is required. The next version of amarok adds lots more last.fm integration too.
Coming up - we'll be running a beta test of a fairly major update to last.fm towards the end of june, and going live with the new version 1st July.
And a random stat: we currently recieve on average 104 submissions per second from audioscrobbler plugins.
Traditional radio is becoming more homogenized, and clearchannel rules the roost.
Personalised radio programmes based on induvidual taste are the way forward!
Compulsory Last.fm reference:)
The motherboard that died was from a machine running postgresql..:(
I'm not dissing slony, just saying it's a shame there's no robust multi-master setup
I know.. we're thinking about trying slony, it seems like a lot of work and failover is a bit of a pain.. We are shipping the logs and replicating (recovering) with them on a slave machine at the moment, which isn't great as you dont get read access at all whilst in recovery mode (there's probably a good reason for this).
In fact, while i'm in rant mode, the only reason we're using MySQL at all within last.fm is because it has pretty kick-ass replication. Postgresql is miserably lacking on the replication front:'( Although I'm hoping that with the recent addition of two-phase-commit someone will mod pgpool into a synchronous multi-master replication system.
Oh yes.. mysql makes a copy of the table for every ALTER TABLE command i think, even if you want to drop an index. This sucks royally. Sometimes it's quicker to add and remove indexes when you want to run a few queries on a large table (at least it is with postgres). Locking the table whilst dropping/creating indexes is a huge pain in the ass - but won't show up in benchmark results. This also means that if you don't have enough disk space to hold a copy of the table, you can't easily alter it:(
Lucene in Action book rocks
on
Java Puzzlers
·
· Score: 1
I have Lucene in Action open on my desk at work at the mo. Great stuff.
Other than that, i always look online.. there are few other computer books i've encountered as useful.
Just thought i'd interject and say we use PHP/Smarty for Last.fm - Smarty is pretty good, i'd recommend it.
You need to learn 3 or 4 new syntax tricks, but it's well thought out and works nicely. Flexible too, you can easily add pre/post filters and what-not if you need to extend Smartys behaviour.
If you find yourself running a bunch of servers all with similar spec/config, you should consider removing the disks from them and netbooting off a single image on another server (or a single image available one 2 other servers just in case). Disks are far more likely to break than any other component imo, far more likely than fans or PSUs if you ask me.
As for RAID5, it's not always practical, but bear in mind if you buy all your disks from the same mfg at the same time, your chances of concurrent failure are increased. (the batch the disks came from may be suspect). You could buy disks from different manufacturers. Hot spares are always handy too.
The webservers for last.fm are all diskless and boot off a single debian image. Makes it helluvalot easier to upgrade/update them. We use Perlbal (from the LiveJournal crew) as a reverse-proxy load balancer, which works nicely.
I suggest a homegrown solution. If you primarily need to archive (but not search) emails then just use PostgreSQL (or MySQL i suppose).
If you'll need to search them, forget a database and use a Lucene index. You could also store all the text verbatim in lucene and forget the database.
I wrote an article about non-relation databases, and there were some interesting comments about the various tradeoffs etc: http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/
Please see the official response from last.fm on our blog: http://blog.last.fm/2009/02/23/techcrunch-are-full-of-shit
In the meantime (whilst we figure out how the hell to get every video known to man ;) you can check out the mashup:
http://www.lasttv.net/
which is pretty awesome.
Not sure if similar laws exist everywhere, but in the UK the Sale of Goods Act should cover this.
:)
If the product is "not fit for its intended purpose" the store has to refund you. (Not the publisher, the store you bought it from)
I suppose "fit for its intended purpose" may be a bit vague in this case; I've played Dead Rising on a non-HD projector (6ft high image) and haven't had any problems reading the text. I wish they'd recorded dialogue for the characters in the game you rescue/interact with though, it's not always convenient to read whilst millions of zombies are closing you down
We just hooked up a 100mbit link to our data center at the Last.fm office, so we have 100mbit internet now.. very handy. Can't get any work done without it, as our staging servers and development platform is hosted with our main servers.
:)
This afternoon a crappy netgear router blew up (you get what you pay for..) and we lost our internet connection a couple of hours before the end of the day.. Perfect timing on a friday, early pub
this is hilarious. Funny++ if i had mod points :)
If you're working on an interesting and engaging website/product then web development can be very rewarding. You don't have to worry about people running old versions of your software, you can update as frequently as you please, and distribution on the web can potentially be much larger and faster than traditional applications.
:)
Having said that, I prefer to work on back-end/behind the scenes stuff. Working in a team with a wide range of skills is great, if you also work with people who excel at front end/css/gui stuff. It all boils down to the environment you're working in. In the right setting, I say that producing web based products is much more rewarding than traditional software that the user needs to install and upgrade. I should point out that I've never really done the latter tho.. so I could be missing out
Moores law will certainly feature in their business plan :)
So, seeing as I work at Last.fm (I founded audioscrobbler), I feel obliged to pimp my last.fm journal, which has some interesting stats (imo) about which media players are most popular, and some graphs of artist popularity. I intend to do a "google trends for music" interface after the next site update (see below).
The KDE player Amarok is getting increasingly popular, which is nice to see. I use it myself; the built in support means no plugin is required. The next version of amarok adds lots more last.fm integration too.
Coming up - we'll be running a beta test of a fairly major update to last.fm towards the end of june, and going live with the new version 1st July.
And a random stat: we currently recieve on average 104 submissions per second from audioscrobbler plugins.
1) establish .xxx domain .xxx domains only .xxx domains.
2) pass law forcing all questionable content to use
3) block all
Although it would have been fun to own goatse.xxx..
i totally agree, it makes it much worse. It's believable, so many will assume it's in-game footage.
*checks inbox*
:|
Nope, spam isn't declining for me.
Wtf is a "Penis Launcher" anyway?
Traditional radio is becoming more homogenized, and clearchannel rules the roost. :)
Personalised radio programmes based on induvidual taste are the way forward!
Compulsory Last.fm reference
And Memcached!
The motherboard that died was from a machine running postgresql.. :(
I'm not dissing slony, just saying it's a shame there's no robust multi-master setup
I know.. we're thinking about trying slony, it seems like a lot of work and failover is a bit of a pain.. We are shipping the logs and replicating (recovering) with them on a slave machine at the moment, which isn't great as you dont get read access at all whilst in recovery mode (there's probably a good reason for this).
In fact, while i'm in rant mode, the only reason we're using MySQL at all within last.fm is because it has pretty kick-ass replication. Postgresql is miserably lacking on the replication front :'( Although I'm hoping that with the recent addition of two-phase-commit someone will mod pgpool into a synchronous multi-master replication system.
Oh yes.. mysql makes a copy of the table for every ALTER TABLE command i think, even if you want to drop an index. This sucks royally. Sometimes it's quicker to add and remove indexes when you want to run a few queries on a large table (at least it is with postgres). Locking the table whilst dropping/creating indexes is a huge pain in the ass - but won't show up in benchmark results. This also means that if you don't have enough disk space to hold a copy of the table, you can't easily alter it :(
I have Lucene in Action open on my desk at work at the mo. Great stuff. Other than that, i always look online.. there are few other computer books i've encountered as useful.
Just thought i'd interject and say we use PHP/Smarty for Last.fm - Smarty is pretty good, i'd recommend it.
You need to learn 3 or 4 new syntax tricks, but it's well thought out and works nicely.
Flexible too, you can easily add pre/post filters and what-not if you need to extend Smartys behaviour.
If you find yourself running a bunch of servers all with similar spec/config, you should consider removing the disks from them and netbooting off a single image on another server (or a single image available one 2 other servers just in case). Disks are far more likely to break than any other component imo, far more likely than fans or PSUs if you ask me.
As for RAID5, it's not always practical, but bear in mind if you buy all your disks from the same mfg at the same time, your chances of concurrent failure are increased. (the batch the disks came from may be suspect). You could buy disks from different manufacturers. Hot spares are always handy too.
The webservers for last.fm are all diskless and boot off a single debian image. Makes it helluvalot easier to upgrade/update them. We use Perlbal (from the LiveJournal crew) as a reverse-proxy load balancer, which works nicely.
I suggest a homegrown solution. If you primarily need to archive (but not search) emails then just use PostgreSQL (or MySQL i suppose).
If you'll need to search them, forget a database and use a Lucene index. You could also store all the text verbatim in lucene and forget the database.
May 02 1995, 2pm.
Oh, and you can write postgresql triggers that invalidate or repopulate memcache entries.
Or you could use something like Memcached. Works with pretty much any language, and tonnes less hassle. (Thanks LJ ;))