one more reason to hate the RIAA cartel

The Big Picture: Why Doesn’t Digital Music Go On Sale?:

Ever wonder why online music never goes on sale?

The Justice Department has — and is wondering if its merely a coincidence:”The Department of Justice said Thursday it has opened an
investigation into possible anti-competitive pricing of online music by
the world’s major music labels.

The probe closely tracks a similar investigation by New York State
Attorney General Eliot Spitzer into the pricing of digital music
downloads, sources familiar with the matter told Reuters.

“The Antitrust Division is looking at the possibility of
anti-competitive practices in the music download industry,” Justice
Department spokeswoman Gina Talamona said, confirming an earlier
Reuters report based on details from sources. She declined to comment further about the investigation.

One music industry source said that some subpoenas may have been issued
already in connection with the probe, while other labels had been
tipped off that subpoenas would likely be coming in the next few days.”


I thought this nugget in comments was very insightful:

I don’t think that anyone would say that the $.99/track price is the result of market forces; there have got to be thousands of tracks on iTunes that have never been downloaded. Since there’s no real “inventory” costs for these tracks, if the labels priced an un-demanded track at $.01 and had one download, they’re still better off than they’d be selling zero at $.99.

I would be interested to see statistics on how many tracks are available on iTunes for which there is statistically no demand. It would be a good indication of just how little most of the intellectual property of the majors is actually worth.

We all know what a cakebox of CDR media costs, and I think we can assume the pressing plants might pay even less. So the cost of media-less music is $9.99 for what we called an album back in the day. The list price (what you might pay in a low-volume shop or extortionate mall outlet for Coldplay’s latest is $18.98 — almost double that. Even at Amazon, it’s $13 and it’s not like I can listen to it for a week or so.

I dunno, but I’m feeling like someone’s trying to rip me off.

Speaking of taxonomies

Wow. Folksonomies rule. Here are some of…:

Wow. Folksonomies rule. Here are some of the tags that people have used to categorize Everything Bad Is Good for You via Amazon’s newish tagging feature:

pop culture (1), td123 (1), not worth Clooneys weight gain (1), gillian (1), 235555555 (1), gggillef (1), t03131235 (1), 23456h74 (1), temple of doom (1), turqoise accessories (1), 3231 (1), dimitris arvanitis (1), 35223 (1), translations for Fever 1793 (1), manhattan project (1)

I think they really nailed it, right? Particularly “turqoise accessories.”

Nothing I can add . . .

Now playing: TMBG Podcast 4A by They Might Be Giants from the album “They Might Be Giants Podcast”

getting old

To the MD tomorrow to find out about mysterious chest pains . . . not the first time it’s happened. But the longest duration. The preliminary diagnosis is heartburn, though it didn’t really feel like that. Location is all they have in common, as best I can tell.

My goal is die in bed at 100+, murdered by a jealous spouse . . . .

<update> Of course, it could be this:

The findings of a new medical study may be enough to make you spit out your morning coffee.

And that could be a good thing — at least for half of you.

A study of 4,000 coffee drinkers has found that two or more cups each day can increase the risk of heart disease — but only for those with a genetic mutation that slows the breakdown of caffeine in the body.

In diverse urban areas, the mutation is found in roughly half of all people. People without the mutation can drink as much coffee as they wish with no added risk of a heart attack, scientists said.

Now playing: 96 Tears by The Stranglers from the album “Greatest Hits 1977-1990”

treehugging

Some environmentalists gave a presentation at my kids’ school today and we have been talking about the Things We Can Do to Make a Difference, to help preserve the salmon and the orcas (the two totem animals of our region).

Most of the suggestions are things we already do and have since before our inquisitors arrived. But it’s interesting to go over it all.

The only real 24/7 usage I can see cutting down would be the CPUs churning away downstairs: I’m not using them, necessarily, but they represent my small contribution to the conversation and I suspect cost less than other devices.

broadband » SETI@Home FAQ 1.3 Advanced Information:

300w PSU
Assumed maximum demand due to losses: 375w
In one calendar month this would consume 270.90 Kw/h at a cost of 0.06c per Kw/h, the maximum cost is $16.25

SCL (my local utility) say they charge 8.05¢/KWh, so a PC with a 300W power supply would cost about $34/month: a dollar a day or near enough for a system that’s not all that loaded.

Graph Image-2.Php

Now playing: Keito by Ali Farka Touré with Ry Cooder from the album “Talking Timbuktu”

resolution

This seems to work for what I have in mind: subsecond returns (though with a pretty small dataset).

DROP TABLE IF EXISTS `access_log`;
CREATE TABLE `access_log` (
id mediumint AUTO_INCREMENT,
agent varchar(255),
bytes_sent int(10),
child_pid smallint(5) unsigned,
cookie varchar(255),
machine_id varchar(25),
request_file varchar(255),
referer varchar(255),
remote_host varchar(50),
remote_logname varchar(50),
remote_user varchar(50),
request_duration smallint(5) unsigned,
request_line varchar(255),
request_method varchar(10),
request_protocol varchar(10),
request_time varchar(28),
request_uri varchar(255),
request_args varchar(255),
server_port smallint(5) unsigned,
ssl_cipher varchar(25),
ssl_keysize smallint(5) unsigned,
ssl_maxkeysize smallint(5) unsigned,
status smallint(5) unsigned,
time_stamp timestamp(15),
virtual_host varchar(255),
FULLTEXT KEY request_uri (request_uri),
PRIMARY KEY (id),
INDEX ip_timestamp (remote_host,time_stamp),
);

So the ultimate goal of this is to be able to pull out the top 10 or 25 most-requested URLs. I’m guessing I need to grab the URLs (more likely the entry numbers) and then query the wp database for the title, then write out my list of URL, linked by title, and the count.

Right now, I am loading the data for 2006 for some more tests. Then I’ll pick this up again.

Thanks for all your help.
<update> I’m not sure this is do-able, given the constraints of my systems here. Once the dataset gets to a meaningful size (like 300k records — this year’s volume, so far), queries are quite slow. It shouldn’t take 30+ seconds to fetch and order 10 rows from a 300k row table. I’m sure it’s tunable or something a competent database designer would fix. I’ll get back to it after awhile.
Continue reading “resolution”

index, from the creation

Second whack at this. Suggestions welcome . . .

  1. Made the id an index
  2. Removed the NULLs
  3. Removed the extraneous tables I don’t use
-- MySQL dump 10.9
--
-- Host: localhost    Database: apachelogs
-- ------------------------------------------------------
-- Server version       4.1.18-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `access_log`
--

DROP TABLE IF EXISTS `access_log`;
CREATE TABLE `access_log` (
  `id` mediumint NOT NULL AUTOINCREMENT,
  `agent` varchar(255) default NOT NULL,
  `bytes_sent` int(10) unsigned default NOT NULL,
  `child_pid` smallint(5) unsigned default NOT NULL,
  `cookie` varchar(255) default NOT NULL,
  `machine_id` varchar(25) default NOT NULL,
  `request_file` varchar(255) default NOT NULL,
  `referer` varchar(255) default NOT NULL,
  `remote_host` varchar(50) default NOT NULL,
  `remote_logname` varchar(50) default NOT NULL,
  `remote_user` varchar(50) default NOT NULL,
  `request_duration` smallint(5) unsigned default NOT NULL,
  `request_line` varchar(255) default NOT NULL,
  `request_method` varchar(10) default NOT NULL,
  `request_protocol` varchar(10) default NOT NULL,
  `request_time` varchar(28) default NOT NULL,
  `request_uri` varchar(255) default NOT NULL,
  `request_args` varchar(255) default NOT NULL,
  `server_port` smallint(5) unsigned default NOT NULL,
  `ssl_cipher` varchar(25) default NOT NULL,
  `ssl_keysize` smallint(5) unsigned default NOT NULL,
  `ssl_maxkeysize` smallint(5) unsigned default NOT NULL,
  `status` smallint(5) unsigned default NOT NULL,
  `time_stamp` int(10) unsigned default NOT NULL,
  `virtual_host` varchar(255) default NOT NULL,
  FULLTEXT KEY `request_uri` (`request_uri`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;