MP3 Player

I’m not bragging or anything, but I’ve now got about 20GB of MP3s (of CDs or records I actually own, or freely available material, in most cases!). I keep them all on my Mac which sits under my desk at work, set on “random play” which means I get to hear the Dead Kennedys, then Mozart, then the Pogues, then Charles Bukowski, then Gershwin… Short Attention Span Radio.

I’ve been looking longingly at the iPod; 10GB and Firewire is really great. 20, or 30, or removable/replaceable harddrive would be better. IP and OSX Lite and a little keyboard, would be better; it could even be a little bigger, that would be fine. Till then my (most excellent) iBook will have to make do (it helps that I use that for development of PHP and mySQL, and Quicken, and everything else, too!).

But I’d also like something to take my music with me to Burning Man; some sort of a waterproof boombox that could play MP3s. The Sony S2 looks pretty cool, and it’s only about $150; I have the previous non-MP3 version (CFD980) and it’s taken a lot of Fredabuse(tm). But the S2 only takes MP3 CDs. Why can’t they drop in a standard (replaceable) IDE hard drive, and throw an IP port on the back? Or at the very least, give it a line-in jack so I can plug in an iPod? I actually disassembled the yellow one and tried to figure out where I’d jack in external audio, but haven’t had the nerve to start cutting wires to test it!

I think there’s a market (of at least one!) for portable (not pocket-sized) MP3 players with off-the-shelf hard drives and a network interface. Playa-dust-proof, if you please, and by some company that has some design sense, like Sony or Apple.

Money

In case you didn’t know, the most important part of my job is to prepare telephone bills for a small long-distance company (Cybertel). This means I spend most of my time manipulating data in databases, using either Perl or ASP or SQL (or occasionally Visual Basic).

Much of the data I have to deal with is dollar amounts – buy rate/sell rate of calls, payments and credits, total invoices, past due, commissions, etc. When you put information into a database, or in most programming languages, you must specify the data type. Is this particular piece of information going to be words? numbers? yes/no? And when you decide it’s going to be numbers, there are even more choices: INTEGER (“whole” numbers only: 2, 3000, -123; nothing to the right of the decimal point), FLOATING POINT (4, 4.1, -4.1234567, 5.64E-10 (scientific notation for .000000000564), FIXED (5.001, 3.222, -9.543 with a setting of 3 for decimal). There are actually a bunch more choices.

Well, obviously when you’re talking about dollars, you want x.yy – an integer plus two digits to the right of the decimal point. Four dollars and twenty cents is $4.20 not $4.2; and half of a quarter is 12 or 13 cents, not 12.5 cents. It doesn’t see anything wrong with telling me someone owes 1/3 of a dollar .33333333 unless I specifically tell it – and I have to explain how to DISPLAY as well as how to STORE the number (since this might be different).

Microsoft SQL, which we use for our primary database, has data types for INTEGER, FLOATING POINT, and even a special one called “MONEY”. Seems like that would be the one to choose, right? Actually, no – money STOREs FOUR digits of decimal; but DISPLAYs two digits!?!?! And the number of decimals stored for data type MONEY is not adjustable! So if a customer owes $4.21 (4.2100!) and I add a 10% late fee, the amount becomes $4.6310. And if I add up numbers with these wacky partial pennies I get bizarre results: .244 (“$0.24”) + .383 (“$0.38”) + .684 (“$0.68”) = 1.311 which might “display” as “$1.31” – which is just different enough from $1.30 to be annoying.

(By the way, this is commonly known as the “Superman” problem – because in one of the Superman movies, Richard Pryor was a programmer for a large company, who added up all the partial pennies left off from people’s salaries and added them to his own – and showed up at work the next day in a Ferarri.)

Why hasn’t Microsoft fixed this? As far as I can tell, this is the way it worked in Sybase which Microsoft bought, added pretty graphics to, and renamed SQL Server; and they haven’t bothered to fix it. And people like me aren’t willing to spend $500 on a support call to ask them to fix it, which they probably wouldn’t bother to do anyway. But I think next time I have to buy something from them I’d like to send tens of thousands of checks for $0.0049.

Perl, which I use for much of my bulk processing programming, is even worse (tho otherwise I love using perl!): it only knows “numeric” or “alpha”, so $1.456785 is fine (tho I can “sprintf” to display $1.46 if I want to but it still stores the entire number). To make matters worse, floating point numbers are stored in binary as integers plus calculated FRACTIONS!!! $4.20 is stored (hidden in binary) as 4 1/5. What this means is that if you add .70 + .15 you might get .84999999!

The solution? One of the data types I hadn’t considered, DECIMAL. DECIMAL lets me specify the number of digits to the right of the decimal. Unfortunately, unlike floating point, I also have to say how many digits to the left, too; so I have to guess what the largest number I might ever have is. Is it possible to have a $1000 phonecall? Maybe. Could a customer have amount due more than $100,000? I hope not, but it’s possible.

(The reason I’m ranting about this now is I’m waiting for my database to convert the cost of 5 million calls from MONEY to DECIMAL(10,2), and some of my bills last month were off by a penny – a tragedy of epic proportions!).

Don’t even get me started on NULL, because it’s 12:4 and time for lunch.

Media Ownership

The music industry would like us to think that when we “buy” a CD, what we’re actually buying is a limited-use licence to listen to that particular music, conveniently packaged with a plastic disk containing the music. We’re allowed to make “backup” or personal use tapes or MP3s of the music (well, they’d really rather we didn’t, but since the technology to do it exists, and there’s that pesky backup/personal use clause in copyright law, it’s hard for them to stop us – but they’re trying) but we’re not allowed to play the music publically for profit, or make copies and give them away. Fine, this makes sense to me so far.

But what if that disk gets scratched or damaged by the sun? Or what if you own an LP and you’d like to convert it to a CD? Your only option currently is to repurchase the CD, or “steal” the MP3s. What if suddenly technology changes and music comes on a solid-state memory chip of some sort – you’re going to be asked to repurchase that. In my opinion, this is where the licencing argument breaks down. Failing some other certificate or licence, he damaged or old format plastic should be viewed as my “proof of purchase/proof of licence” showing that I indeed have rights to a single copy of said material – and if I need to replace the plastic it came on, I should be able to do that at any record store for a nominal price ($5 or less sounds appropriate to me for materials and labor and overhead). I’ve got a stack of LP albums, some of which I’d really prefer to have on CD (which I would then convert to MP3, of course, keeping the CD as a backup). The nice thing about downloaded (purchased) MP3s is you never have to do this (till that technology becomes obsolete); but by the same token they have to keep track (in a database) of who has what licences. By the same token, if a friend has an LP of a particular album, it should be perfectly legal to give that friend a copy of the MP3s (of the exact same album, of course) – because she is licenced for it, and it’s for her personal use.

The same arguments should be applied to books, magazines, newspapers, movies.

The source of the problem is of course the dichotomy of corporations wanting to maximize profits, versus people wanting something for nothing – and both capatalizing on the fact that this issue is unclear. I think the best solution (for the moment) is for someone to create a very simple legal media licence (backed up by more specific legalese if necessary) that explains what everyone’s rights are. Heck, make it retroactive! If you haven’t purchased (and have physical or electronic proof of) a licence for media, you aren’t allowed to have any copies of it, anywhere. If you HAVE purchased it, you are allowed to use it as specified, no more, no less.

Update (020614.1839) Even more absurd: now they want to charge a royalty on USED CDs! I say fine, as long as we get a full rebate for the royalty we paid on buying it new (nearly the entire price of the CD).

Instead, just make it clear that when you sell a CD you lose all right to using the music that was contained on the CD – since the CD _is_ the (manefestation of the) licence. Hey – that’s basically what happens now: the original buyer might get a few dollars for the CD for which they paid $15.

Fireworks

Last weekend was another “beach burn” gathering of San Diego Burning Man folx at South Shores boat ramp (near Sea World). This is a seldom-used beach area on the backside of the boat ramp parking lot, in a back corner of Mission Bay across from Fiesta Island (where the drunken louts and tweakers seem to hang out). We like the area because we can play drums and wear wierd costumes and burn effigies and noone seems to bother us much.

At about 2130 people were still arriving, and we were standing around the fire chatting, and the local LEOs (Law Enforcement Officers) showed up. “What kind of a party is this?”; none of us were sure what sort of answer they were looking for. One person had driven his truck out, to drop off firewood, speakers, and green blinkey lights; hadn’t made plans to drive back to the parking area so he got a ticket for parking on the beach; another person got a ticket for having a glass container (alcohol also isn’t legal on the beach in SD but they didn’t seem to hassle anyone about that). They didn’t seem to notice that several of us were wearing chef’s toques.

As they were walking off, the LEOs stumbled across a small cache of fireworks – not bottle rockets or m80s, but (apparently) actual small tube-launched “stars”. At previous gatherings there have been occasional displays of these; they seem to be done safely, by someone who knows what they’re doing, and though I guess we all know they’re illegal, they’re also very cool and the general ethos among the group is to ignore “victimless crimes”.

Not so with the San Diego PD however. Who reacted to the discovery by telling us that if the person who owned the fireworks didn’t come forward we’d all be cited (which they might have been able to do, but most likely would not have stood up in court). Strangely, no one came forward. So the LEOs confiscated the fireworks (the expected result).

As they were driving off, they came across the OTHER box of fireworks. This one somewhat larger and (apparently) prepared for an impressive time-performance presentation. This time the reaction from the PD was “We aren’t going to give out any tickets here, we just want whoever built this to come forward and defuse it or tell us if we have to call the bomb squad.” Several more police cars showed up. Strangely, no one came forward. At that point we all sort of gathered up our chairs and blankets and wandered off. The last of us to leave could overhear the police laughing and exclaiming how impressed they were with what they had found.

No one was there long enough to hear them say “Dude, they’re gone – let’s spark this up!”

Stingrays

The other day I went to bodysurf at Carlsbad beach, and as I was wading into the water happened to notice that I was surrounded by stingrays.

Specifically, baby bat rays, about 1′ across – over the course of an hour I probably saw over a hundred of them. I waded in and out of the water (carefully!); when a wave would come in and the water would clear, I could see several of them feeding on the bottom or “flying” – when I moved or stomped my feet a little they’d skitter away. Amazingly cool to watch.

Here‘s the article I wrote about stingrays for Wikipedia.

Eclipse

There’s a partial eclipse tomorrow afternoon; most prominent at about 5:15. Apparently the Reuben H Fleet museum has glasses you can wear to view it. Otherwise, a neat way to watch it is to make yourself a “box camera” – take a big box; fold down or remove the top flaps; pop a small round hole in a side of it (with a pen, for example), then let the sun shine through the hole to the inside of the box, where you should see the eclipse well-defined. If you want to get sophisticated about it, cut a larger hole in the side, cover the hole with piece of aluminum foil, then make your small hole in the foil (easier to make a nice clean hole in the foil than in the side of the box); tape a white piece of paper to the inside of the box so the “camera” will shine on it – you can then label it and take pictures! A bigger hole makes a bigger, but less-defined image; the hole should be as round as possible. You can also do some stuff using binoculars as a lens (NOT looking through them, of course).

Welcome

Hello and welcome to Obtainium! I’m justfred, and this is my combination home page/bookmarks/blog/php public beta/whatever!

Some of my entries are links; some are just blog entries; some may even be random gibberish and navel-gazing (like this one!). Can’t promise anything – obtainium is what you make of it.

Someday I may even have places for visitors to enter comments. For now you can email me; justfred and the domain name of this site (please, no unsolicited commercial email; I don’t need a mortgage, investment opportunities from Liberia, Viagra, or email harvesting programs!!!)

Also, eventually the code for this blog will be open source (as soon as I can live with having it seen by the public). The obtainium source runs Microsoft-free on OSX, using php and mysql – but should run fine on other platforms, databases, and browsers.