Carl the Zealot

October 1, 2008

The ill-fated drive through the hills

Filed under: News — Tags: , , — Carl Myers @ 12:25 am

Last weekend I was supposed to go on a drive through rural Washington with some friends. It was to be a 400-mile trek during which we could enjoy our vehicles, form important male-bonding type stuff, and bitch about work. That was the plan, anyways.

It all started out last Sunday morning. The plan was to meet at a gas station about an hour north of Seattle, at 8:30am. I was careful to go the speed limit and leave myself plenty of time to get there. Ominously, I saw two cars pulled over on the way down, which seemed like a lot. I also saw about 4 billion bikers. One pack, some riding 3-wide in a lane, 15 rows, no fewer than 30 bikes at least, passed me on the right. Something was amiss.

I showed up a little early to find Ben and Keith already there. We gassed up and waited for our other friends, Jerry, and Forrest. At about 8:40, we decided to call them. “We’re on our way, we just got held up” was the reply. About 10 minutes later, they arrived, and explained what the delay was. Forrest was pulled over for speeding, getting his first speeding ticket ever. We commiserated briefly, I gave him the name of my lawyer, and we all made the requisite “ominous start” and “better not get another one today” jokes. They gassed up and we proceeded on our way.

We went Ben first in his dark blue BMW, with Keith as a passenger, then me in my black Acura, then Forrest in his red Honda Civic Del Sol (it’s a very nice car, not your run-of-the-mill civic) then Jerry (I forget what he drives, but it was white and fairly unassuming). There were bikers everywhere. We also seemed to be seeing a lot of cops. As we came to the first turn, there was a police car right in front of us, in fact. He made the light and turned left, while we sat at the light and waited for it to turn.

After the light turned, we made our left and proceeded down the road. We had little radios, and Ben and I were talking over hands-free cell phone as well. We weren’t sure of the speed limit, but this close to that many cops we were taking it pretty easy. I warned them that my radar was going nuts, but we were going under the speed limit anyways. Sure enough, the radar warning was right on, there was a cop sitting directly off the road, facing in our direction. As soon as we passed by him, he pulled out and headed right for us. I immediately saw this and exclaimed “oh shit”. I assumed Jerry was about to be accosted, but as Jerry pulled out of his way, he made a beeline for Forrest, and pulled him over. Again. Second time today. And we were CLEARLY under the speed limit, all of us.

Via the implicit, unspoken rules of common sense, we immediately entered radio silence, but Ben, Keith, and myself continued to speculate over the phone. We saw a church and pulled over in the parking lot, and waited for Forrest to catch up. There was this adorable white kitten we found – he was initially on the roof of the church. He jumped around, into trees, back to the roof, exploring, clearly playing and having a fine time. I grabbed my camera and the photo shoot began. After a while he decided to check us out. Forrest called us on the radio and we said where we had pulled over. When he arrived he explained that the cop pulled him over because he didn’t have a front license plate. Ben frowned, noting that he didn’t have one either. The cat literally jumped into Forrest’s car. He climbed in the driver side door, which was ajar, then all over the seats, then out the back window (it is a convertible which had the top down). The kitty started to climb into Ben’s car but he shooed the cat away since he is allergic to cats.

This time, the cop let Forrest off with a warning (what is that? I’ve certainly never heard of this strange “warning” you people sometimes talk about…I just get “Hello, sir, I see you have a pony tail, here is your speeding ticket”). He also explained to Forrest that there is a biker rally to the east today, and the entire area is crawling with cops, especially the back roads. He should expect to be pulled over several more times before the day is over unless he gets that plate on. Realizing that 50% of our caravan was now big shiny cop bait even without speeding, and the cops were CLEARLY biting today, we decided to call it off and try again next weekend.

Carefully ensuring no kitties were in the way, we pulled out of the parking lot and headed to a Denny’s to grab some breakfast, then headed back to Ben’s place for Rock Band. On our way back to the highway, we passed about 10 cops, including an unmarked car sitting by the side of the road training their radar directly at us. On the bright side, I had plenty of opportunity to prove my radar detector works (if you were curious, WA cops seem to use K/Ka band radar in that area, not laser). Drivers, bikers and car operators alike, were “dropping left and right”. I think they made their entire ticket quota for the month that very morning. Fortuitously, none of us were pulled over. Hopefully this means they will all have some vacation next weekend, I guess we’ll just have to try again then. Stay tuned for part two, and adorable kitty pics!

September 30, 2008

Remembering Weird Dreams

Filed under: Code, Uncategorized — Carl Myers @ 11:57 pm

I almost never remember my dreams. I’m not even sure I have them very often. I slept particularly well last night, and I had a dream, and I woke up remembering it. What follows is every detail I can recall, I went to blog it immediately so I wouldn’t forget anything, since this is such a rare occurrence for me.

I dreamt I was playing in an orchestra dress rehearsal. By that, I don’t mean I was dressed up, rather, we were having a rehearsal in a performing venue, probably very close to the actual concert. The few faces I remember were all from my old high school orchestra, included my orchestra director Winifred Crock. I was sitting last chair cello, which I used to sit sophomore year, but instead of having only 3 or 4 cellos, we actually had 4 or 5 stands of cellos, a much larger section. Also like sophomore year, I had no stand partner. We were in a large, dark amphitheater, the stage had a dark, shiny, reflective look, and there was a row of lights on the front, but I don’t recall *any* overhead lighting. Also, the entire audience was just a huge pool of water, one at least 10 feet deep.

We were playing exclusively show tunes, which my high school orchestra rarely did. Lots of John Williams, hard stuff. I suppose there was one exception, I think we played Holst’s Planets also – maybe just Mars. As usual, Mrs. Crock was way stressed out over how difficult the material she had chosen was and our apparent difficulties in playing even now, days before the concert.

We finished our second-to-last song, and somehow I remember that Star Wars was up next. I carefully put my cello down, and slip away to get Mrs. Crock a soda, hoping it would make her feel better. As I leave the amphitheater, I realize it must be inside a mall, and it must be after 9 or 10pm, because the entire mall is dark and deserted. I walk around looking for a soda machine, but I eventually find a poorly lit arts and crafts store which happens to be open.

I don’t see anyone in there at first, I only noticed it because one of the two employees there calls out to me “hey you, over here!” as I walk by. Strangely, there are also other customers in the store. Also strangely, they have some cans of soda. The only diet they have is Pepsi. I could have sworn Mrs. Crock drank diet, but I couldn’t recall if she preferred Pepsi or Coke. I was pretty sure in fact that it was Coke. I got 2 cans of the Pepsi anyways (hey, gotta get one for myself, so if she doesn’t want it it wasn’t a wasted trip).

I go up to the clerks with the cans. As I approach the middle register, one explains “Sorry, this register is sorta like our calander, we don’t use it to ring people up” and the other one explains to her “silly, of course we could use it to ring him up, we just normally don’t” but at this point I have already moved over to another register. Just before they tell me what I owe, I realize my wallet is gone and I have no money at all. I say “hang on, I’ll be right back!” and I scurry off to find my wallet or some money or something. I distinctly recall briefly considering pan handling, but dismiss the idea since there is nobody around in this dark, deserted mall.

I approach the amphitheater. As I approached, I saw that a large group was joining ours, probably just for the star wars. They were all dressed in costume (dancers often do dress rehearsals in costume because it affects them more). As I approached the theater I saw rows of girls dressed in Star Wars type outfits – not the nerdy sort, the sort the background characters wear at the “end of movie celebrations”. I think I heard the celebration music coming from the theater too, and they were dancing to it (think the music from the end of episode 4).

I get inside the amphitheater. but this time, there is no way to get back to my chair without getting wet. I don’t recall how I got out of the theater but going in is a problem. Mrs. Crock is still conducting Star Wars stuff. I slip into the water and swim (mostly underwater, to be more quiet) up to the stage on the left side (where the cellos are). The stage is too high, I can’t get on it from here, especially not without Mrs. Crock noticing. I don’t recall if I had the cans of soda or not at this point, but I assume not. I might have thought about something like “would she still be as mad at me if I had the soda?” I swim over to the right side, and find a sort of ramp I can walk up, then I sneak back to my seat. I don’t recall how I did it, but I assume I would have gone around the back side of the orchestra, rather than walking right behind Mrs. Crock. I don’t know why I feared her anger, she was always a kind and understanding person to us. I think I was just in “full suck-up mode” or something, so anything bad in her eyes was to be avoided.

Well, that’s about all I remember. I think I woke up after that. I wanted to blog about this before I forgot it, because I almost NEVER remember my dreams, and because this particular dream reminded me of many people I miss a lot from high school, not the least of whom being Mrs. Crock.

I could analyze this dream, try to figure out where it came from. There are lots of references to the day’s activities. I cleaned out my wallet, which I hadn’t done in a long time, so that is the “losing my wallet” thing – my wallet lost some weight as I removed a ton of business cards and things. I recently met someone new at DDR last night, so I had mentioned that I started playing cello in 5th grade, which brought up all these memories of those fun times. We also talked about my musical preferences a bit. DDR could represent the dancers, and the show tunes could represent all the music I “don’t dislike, but don’t really seek out, I just listen to it when I come across it”. Though my high school orchestra rarely played show tunes, we always wanted to. My orchestra here in Seattle, on the other had, just recently had an almost full-concert of just show tunes (but not good ones, very little John Williams, mostly stuff from the 1960s). I walk past pan handlers every day practically, in Seattle, so that is not abnormal, but it would have been a strange thought in high school. I’m not really sure where the swimming came from.

That’s all I can really think of, to analyze the dream. Weird stuff, huh?

September 27, 2008

I <3 My New Acura TL!

Filed under: Me, News — Tags: , , — Carl Myers @ 6:42 pm

Hey all,
Been a while since I wrote a post, and part of the reason is my sporty new 2008 Acura TL. I really love it. I have been driving around a bunch and having a great time with it.

My old car, which was going on 8 years old, needed some major work done. Turned out to amount to almost 50% of it’s kelly blue-book value anyways, before I put that much money into a car I was thinking about replacing soon anyways, I decided it was time to take the plunge.

I did a lot of research. At first, I really wanted a BMW. My friend got a tricked out 5-series in the neighborhood of over 70k, and I must admit it is really nice. He tells me “Don’t get me wrong, I love my car… but do I love it more than TWO 35k cars? That’s hard to say”. He makes a pretty valid point here – BMWs are great and all, but are they THAT great? In the end, I decided that for the features I wanted, and the money I could afford to spend, a BMW was not an option, even a used BMW wouldn’t really get me what I wanted. I looked at many alternatives as well – I considered a Honda Accord (my old CR-V was a fine vehicle which literally saved my life on more than one occasion, endearing me significantly to Honda). I also looked at a Hyundai Sonata, a Nissan Altima, a Nissan Maxima, and a Honda Civic. Acura wasn’t even on my list, but it was a coworker’s recommendation which put it on my radar.

He told me that the new TSX is really nice, and I should go test drive one. He sent me specifically to Acura of Lynnwood where he “knew a guy” who wouldn’t “give me the hard sell”. Well, I went there “just for a test drive”, and fell in love. The guy he sent me to didn’t work there anymore, of course, but the sales guy I talked to was pretty good. I know you aren’t supposed to buy a car this way, but in reality, if everyone bought a car purely on statistics and performance per dollar, everyone would be driving a Toyota Camry or a Honda Civic, or the hybrid equivalents. “Holds 4 people, gets 30+ mpg, can go highway speeds” – that’s all you really need. But that’s not all I need. I was tired of driving a “4 banger”. I wanted something powerful, fun, sexy, something which said “this guy is successful and lives comfortably”. Yes, I know it’s pretty vain and stupid to judge a book by the car it drives, but it *does* matter.

He also “warned me” not to let them “talk me into” a TL. He explained that the new TL is coming out soon, and is a total redesign, and will probably be bigger and better for the same cost. He also guessed they would have a few TLs lying around they would be trying to unload. Well I followed his advice and went in to test drive a TSX. He was right that it was new and flashy and very cool. I just wasn’t 100% satisfied with the power. I mean, this is a car I intend to keep for many many years. Hopefully at *least* the 8 years my old car lasted. I asked “do you have anything with more power?” – the sales guy’s eyes must have lit up. What did he take me directly to, but the TL.

Now, due to my friend’s warnings, I was a little wary to begin with. Further evidence that my friend actually knew what he was talking about, the car already had 285 miles on it, more than one would expect on a brand new car, probably all from test drives. Also, they didn’t have a lot of them – my first-choice color wasn’t available (blue), but I saw a black one with light-colored interior which was close enough, after all, it was just a test drive.

I was driving around and having a great time, and the sales guy continued to show me all the nifty gadgets and things. Really, the only feature the redesigned TSX had which the “old” TL was missing was the ability to read MP3s directly off a flash drive. If I wanted to go that route, I would need an actual Ipod. This would have been a nice feature, but with a 6-disc MP3-CD-compatible changer, I was hardly that concerned (that is 4,200 minutes of 168kbit encoded MP3s, for those of you keeping track). The TL had heated seats, a nav system, hands-free bluetooth, voice-command navigation and calling, excellent climate control, and the power I felt the TSX was missing. Compared to the BMW, the only thing I was missing was the heads-up display. I really wanted one of those, I thought it would help me monitor my speed better, and it looks fucking sweet. In reality, it’s just another nifty gadget, hardly worth spending an extra 10k for it. Also, the Acuras are really just the “luxury name” used by Honda, so it is still in homage to the car maker whose SUV saved my life. Going from the TSX to the TL, I didn’t think a difference of 57 horsepower (201 versus 258) would be a big deal, but let me tell you, it was quite obvious.


Nope, that radar detector is not standard equipment – but it was a smart buy, trust me.

So obvious, the cop manning the speed trap noticed as I accelerated up to traffic speed on I-5 during my test drive. Yes, friends, I got a speeding citation during my test drive (which is bullshit, I was just accelerating up to the speed everyone else was going, and having a little fun doing it. The sales guy said cops usually give a warning during a test drive, this cop was obviously an asshole short on his monthly quota). Speeding ticket aside, I loved the car. I played the part of the “disinterested buyer” as best as I could, but I suspect the sales guy knew he had me. I managed to haggle down to dealer invoice or so, then a little lower (hey, I gotta pay a couple hundred bucks to contest this ticket, right?), but then they came at me with the extended warranty and the “zylon” coating to keep it shiny (especially for a black car – trust me!) and so on, so after all was said and done I ended up paying a bit more than I planned to. But you know what? I love my car, and hard sale or not, they took pretty good care of me at the dealership. They helped me with the financing, explained the paperwork for me, traded in my old car, ordered new plates for my new car, etc.

Seeing that now, just a month later, the new TL with even more horsepower, and a full body redesign, is available, some might think I would regret my hasty decision. I don’t. Having a 2009 TL rather than a 2008TL would be nice and all, but I wouldn’t have been able to haggle them down as far, and I am already paying more than I inteded to for my 2008 TL. I “got a deal”, just by settling on a different (not better or worse) body design, and giving up 20 hp and the ability to play MP3s off flash drives. One difference I didn’t know about, in fact, is that the 2009 TL is available in all-wheel drive, which I would have been interested in (hey, it rains here all the time), but that too would have increased the cost (from the website, looks like going from FWD to AWD is a $3,600 difference).

I asked the sales guy if he had been in a test drive where a guy got a speeding ticket before, he thought about it a minute and said, “yeh, I think…about three times”. I asked “did they buy the car?” and he said “ya know, yeh, I think all three did.” I guess that figure is now four. =)


*sniff* isn’t she purdy?

August 24, 2008

The Space Elevator

Filed under: Future, Physics, Science — Tags: , , — Carl Myers @ 12:35 am

I have absorbed several accounts of the viability of the “space elevator” from Scientific American and various programs on the Discovery Channel, but I have remained as skeptical as I am eager for this advance. I decided to run the numbers myself, completely unassisted, to see how viable it seems to me. After about 20 minutes of “math fun”, I came across the Wikipedia article which basically had it all solved out for me. Check it out: Space Elevator. I highly recommend reading it, and definitely not reading the bullshit I was going to write before I found it =)

August 17, 2008

Trouble installing GNU/Linux with an ASUS P5Q Motherboard (Marvell 88SE6121 IDE controller)

Filed under: Hardware, Software, Troubleshooting — Tags: , , , — Carl Myers @ 1:39 am

There comes a time in every computer engineer’s life when they must analyze their storage solutions and admit that they are, in fact, no longer sufficient for the stuff they wish to store. In fact, this time usually comes about every 18 months for me.

I decided that this would simply not do. My last file server, now over 18 months old, had 600GB of raw storage in a 400GB three-drive linux LVM2 software RAID 5 array. I had added an extra 200GB of “non redundant scratch storage”, but it still wasn’t cutting it. I was also concerned that I had heard from several people that RAID 5 redundancy is not as good as one might like to think. Because the array can only stand a single drive failure without data loss, often times a single drive fails, a replacement is obtained, but then the stress of rebuilding the replaced drive causes one of the others to fail, dooming the entire array.

On a whim, I decided to see what it would take to slap together a fileserver with a little bit better longevity. I decided to get a rackable case, as my “tower of towers” is getting pretty ugly even though it is in a dedicated “machine room”. Some day I’ll actually buy a rack to put it in (but not today). I decided that for performance and reliability, I wanted to build an 8-disk RAID6 array. I figured I’d spec it out with 8 cheap drives, and cheaper hardware, and another with 8 huge drives and slightly nicer hardware. I ended up choosing the bigger and better one (naturally).

In the end, my file server would run me just under $2300. It included:

  • 1xChassis Supermicro (CSE-833T-R760) 3U chassis with 8 hot-swap SATA bays and 760W Triple-Redundant power supply
  • 8×1TB Seagate ST31000340AS Drives (32MB cache 7200RPM SATAII 3Gbps)
  • 2×2GB Corsair DDR2 1066Mhz (PC8500) ram
  • 1x Intel Core 2 Duo E7200 Wolfdale 2.53GHz
  • 1x ASUS P5Q ATX Motherboard LGA 775 (has 8 on-board SATA II ports)

With a RAID6 array, I would have 6TB of usable space – that’s a lot of por…erm…”Anime”. Once the parts had all arrived, I excitedly started slapping it together. In the end, I forgot a video card (whoops, thought I had one, but it didn’t work anymore), so that was another $30. I tried a serial console install first but that didn’t go to well. Next I finally got the bios to boot the Debian netinst CD – SUCCESS! Or…maybe not. During the install, I got this error:
No common CD-ROM drive was detected. I did some research, but I couldn’t figure out a solution. It appeared to be a problem with the debian installer.

I finally came to the real answer. This motherboard uses a Marvell 88SE6121 controller (I believe it is a PATA controller only). The bios was able to read the CD to boot, but then the debian installer couldn’t find it, because the module we need (pata_marvell) isn’t available in the 2.6.18 kernel on the Debian netinst CD (or wasn’t built into it by default). I had to build a custom install CD with an updated kernel in order to get this baby up and running! =(

Details on how exactly I got the CD built will be coming up soon. Also, maybe I’ll post the ISO. For now, I gotta get some shuteye. Chow!

August 5, 2008

What it must be like to work for a crappy “average” software company…

Filed under: Uncategorized — Carl Myers @ 10:12 am

I work for Amazon.com. They are not your “average” software company. And so, I often wondered what it is like to struggle to find work straight out of college, just barely get that job, then work your ass off to get the requisite experience to get a job you don’t hate. This blog paints a pretty sad picture:

http://skepticalmethodologist.wordpress.com/2008/08/02/new-hire-cannon-fodder/

Wow, I haven’t seen something I disagreed with so completely since the windows 95 manual stated “Now windows is easier and more stable than ever!”. If this is how companies that aren’t Amazon operate, than I sure am glad to be where I am. Where this author is most wrong, however, is dragging the Amazons and the Googles and the Microsofts of the world into it. How the fuck does HE know? I don’t see any mention of him working for Microsoft of Google. He takes some article written SPECIFICALLY about YCombinator – a VC startup – and starts making all sorts of ludicrous conclusions about Microsoft and Google:

It probably began with Microsoft, but you can see its effect at Apple (notably Steve Jobs’ notorious temper) and I’m sure it’s at Google too (except it’s far more sinister there.) If you have recently graduated from college with a CS degree, congratulations, your stock options are just behind that Machine Gun nest.

Did Microsoft or Google even start with VC? I thought Bill Gates and Paul Allen started Microsoft by stealing from Xerox with their own sweat and blood. And Google started out at Stanford with a PhD thesis. Why is it “more sinister” at Google? Because their employees are even HAPPIER, and better compensated? Because they get free food?

The author of this blog suggests that companies hire all these “young, naive” programmers so they can make mistake after mistake, then suggests they shouldn’t try so hard, shouldn’t work so many hours, and should basically give up, coast through life, and be mediocre. How absurd! You don’t get a job at Microsoft, or Google, or Amazon, by being mediocre. The hiring bar is insanely high. This author either has some sour grapes over some startup they worked for, or they are completely making shit up. And as for the difference between startups and Microsoft or Google or Amazon – you can’t compare those inexperienced know-nothing startups who have only proved they have the strength to weather several months to a REAL software company.

Let me put it this way – Amazon was started in 1996 by a brilliant business man with a vision and a garage with some empty shelves where he hoped products would go someday. Now Amazon is a 20 billion dollar multinational company. It, unlike so many, survived the “dot com bust”. The people who founded the companies this author is referring to were “still in diapers” the year Amazon first made a profit.

Maybe I am just biased for Amazon, but I love working for Amazon. Sure, Amazon pays me “pennies” – over 8,000,000 of them a year, plus an excellent medical plan, plus I got a signing bonus, plus stock units worth an amount I’m not really supposed to discuss (let’s just say it’s more than you think). Add to that the fact that my work is interesting, challenging, and rewarding, and it’s a no-brainer. Add to THAT the fact that I could gain valuable experience here that I can get nowhere else, having worked for Amazon is a “get an interview free” card with just about any software company on the planet, my manager constantly talks about my career advancement and it is clear the company cares deeply about my future, and it’s a slam dunk.

So what hours do I *really* work? Am I just a brainwashed, 80-hour a week code monkey? Not at all. Amazon doesn’t care when you get to work, and Amazon doesn’t care when you leave. Amazon cares what you accomplish. So you know what? I’m not as smart as my peers. At Amazon, you are surrounded by brilliant people. Next to them, I feel inadequate at times – but that encourages me to work hard, and do my best, and it has made me a better engineer. So I work an average of 50-55 hours a week. I do this by choice, because I want that promotion, because some day I want to be able to take it easy, but today is not that day. When I do take it easy, it will be because I am talented and experienced enough to get my work done in 40 hours a week.

On that subject – the author is dead wrong about the ludicrous picture he paints of engineers:

Junior designers see lack of sleep as a ‘badge of honor’, they see long hours as proof of their worth.

That is, quite simply, the dumbest thing I have ever heard. What I see as a badge of honor is the guy that sits next to me, who I notice has a source control submit of *real* code every day, sends out code reviews twice as often as I do, and the guy leaves an hour earlier than I do, and arrives an hour later than I do, every god damned day. That guy is a fucking genius. In less time than me, he does twice as much. THAT is a badge of honor. THAT is an engineer I look up to, and hope to emulate some day.

So you can say what you will about “poor CS graduates” and the “mean startups” that abuse them, but from my perspective, that’s the exception, not the rule. If you want to work for a video game company, welcome to the club – so do 60,000 other CS graduates – and some of them are willing to pull 65 hour weeks if that’s what it takes. If you want to work for a startup that might mean retirement at age 29, well, so do 60,000 other CS graduates, so maybe you have to be willing to work a little harder. But if you are talented enough, you have plenty of “reasonable” options – for example, Amazon is hiring =P

June 30, 2008

Time to Wax Philosophical on Love and Relationships

Filed under: Me, Private — Tags: — Carl Myers @ 2:30 am

An oft-used cliche, “Wax Philosophical” means to “grow philosophically”. That phrase has made a lot of sense to me recently as I have been thinking about my life goals, my values, and my personal relationships a lot recently. The purpose of this blog is to share my technical and scientific endeavors, and teach people what I’m all about. There are some private posts which would not be appropriate to expose to the world in this, a scientific and career-driven blog. This post, however, I feel is core enough to who I am that I must make it public so people trying to get to know me, my friends and potential dates, can learn about this important viewpoint I have.

It all started Saturday night. A dear friend had called me over for some late night stir-fry. It has been a recent pattern of ours to try something new in the stir-fry genre and I am glad to say it went really well. Stir fry takes about 5 minutes to cook, but about 2 hours to prepare (if you cut everything up without a food processor). This naturally lead to the old “how goes the dating front” question, which naturally lead to more deeper philosophical discussions. In retrospect, I realized I was trying to communicate something very specific about what I believe love and relationships really are.

I did a very poor job at the time of congealing my beliefs into logical consistent ideas, It was only tonight, talking to a dear friend from college, that I managed to create the metaphors and descriptive glue needed to make my ideas ambulatory in the memescape and the blogosphere alike. First, I would like to discuss what is for me the highly scientific concept known as love.

Love is…

I love you, not for what you are, but for what I am when I am with you.
-Roy Croft

Most people want love to be something “special”. They want it to be magic – some metaphysical bond, love at first sight, god-approved, sanctity of marriage, my one special soul mate, until death do we part. This is a natural consequence of the patterns our brains evolved to create and prefer – but that is a whole other blog post. The reality, for me at least, is that love is explainable completely within the “strange loop pattern framework” of Douglas Hofstadter’s Godel, Escher, Bach and I am a Strange Loop (both of which I highly recommend).

Love (whether big ‘L’ Love or little ‘l’ love) is about a connection between two people. It is more than just a fondness – it is when your brains’ granular representation of someone becomes so complex, it is like their brain partially exists within your own – and vice versa. You are no longer just individuals, you are part of a “couple”. Your wants and needs merge and become one – you finish each other’s sentences, know each other better than you know yourselves. You feel a closeness which is so powerful it is described again and again using metaphysical terms, like a “psychic link”. But this link need not actually be metaphysical. Also, like so many things in life, it need not be binary, or black and white. There are many descriptions about how people in a “loving relationship” grow deeper in love as time goes on, “deeper than they ever imagined possible”. Of course, it can go the other way too as people “fall out of love”. In an era where 50% divorce rate is a commonly accepted figure, there is ample evidence to support this.

So where does love come from? What makes two people love each other? I think love is the result of a long term beneficial relationship between two people. Love grows over time just like lesser bonds, like friendship, respect, and familial bonds. Unlike these other bonds though, love is about sharing everything – at the very deepest level our brains operate at. Is there a single person out there somewhere who is my soul mate? Are they the only person I could ever love? Highly unlikely. Soul mates are a hologram, an image project by our brains. In reality the “capacity for love” between any two arbitrary people can be represented as some value which, when compared to the general population, would probably form some sort of bell curve.

Could it really be that simple? Could I have talked to 10 potential “soul mates” today alone? There are a lot of dimensions to this “capacity for love” figure. In fact, there are at a minimum three dimensions. There is some “compatibility factor” which is an “external” measurement of two people’s compatibilities. What I mean to imply by the term “external” is that it deals with external things, like race, appearance, education, socio-economic status, and so on. The remaining figures are person A’s internal compatibility with person B, and person B’s internal compatibility with person A. These figures could be affected by things like first impressions, opinions and stereotypes one things about another person, whether or not one “things of another that way”, and other internal factors which, by definition, are difficult to measure. Dating sites, especially ones which tout their mathematical and statistical chops (a la OKCupid), are probably mostly measuring the first number. Like I said, by definition, the second two numbers are internalized and difficult to measure.

This “vector” of values fluctuates wildly, especially the two internal ones. Can’t you remember a time you were hanging out with a coworker, and they said something that made you think “oh… I never thought about this person that way, but…” Things like that alter our perspective of people all the time. The meaningful value to chart or graph, in my opinion, is the “peak capacity for love” over a period of time, probably a couple of weeks to half a year. This peak is representative of the “best potential” for two people to form a loving relationship. Obviously, when two people are already in a relationship, or courting each other, they each “want it to work” to varying degrees. Since most of the “internal” factors are also factors largely in each person’s control, when two people both want it to work out they will subconsciously raise these internal measurements of feelings and attachment.

Regardless of what exactly determines whether a loving relationship will eventually form, we can predict from the model I have outlined that, given optimal conditions (that is to say, if “both people really wanted it”), most people could love most other people. It’s about finding someone “in the right place in their life”, with the right combinations of shared interests and physical attraction to convince someone that they really want it. Then, over time, a loving bond can form.

Relationships are…

Human relationships always help us to carry on because they always presuppose further developments, a future –and also because we live as if our only task was precisely to have relationships with other people.
-Albert Camus 1913-1960, French Existential Writer

The most important ingredient we put into any relationship is not what we say or what we do, but what we are. And if our words and our actions come from superficial human relations techniques (the Personality Ethic) rather than from our own inner core (the Character Ethic), others will sense that duplicity. We simply won’t be able to create and sustain the foundation necessary for effective interdependence.
Stephen R. Covey, American Speaker, Trainer, Author of ”The 7 Habits of Highly Effective People”

So now that I’ve outlined my beliefs about love, how does that apply to relationships? If love at first sight is an illusion, and love can only form between people in a relationship, what is a “loving relationship”? What is any relationship?Relationships are like trade routes. This is probably going to be the most “controversial” part of my post. This is how I see things, I don’t think it has a bearing on my professional career or anything, but it is a part of who I am.

Relationships are like trade routes. Everyone has their own needs they must import and assets they may export, just like a country. Some people have more “natural resources” than others, and some have more “unmet needs” than others. The metaphor is a surprisingly powerful one. Relationships are the vehicles by which people can get their needs met which they cannot fulfill themselves. A long and fruitful relationship may involve a level of intimacy which includes love as outlined above. And such a relationship is a true asset, an “entity made from mutual trust and gain”. But again, it need not be described in superlative or metaphysical terms.

Note also that international trade, and relationships, need not be exclusive. This model can describe monogamous relationships as well as open relationships, poly-amorous, and polygamous relationships. Some people want exclusive trade routes, and if they can get all their needs met on both sides of the trade that way – then it is a powerful, valuable, mutually beneficial arrangement indeed. Other examples of non-exclusive arrangements are plentiful in our day and age as well. Also note that even a faithful monogamous married couple has “relationships” with friends to serve needs besides sexual ones.

What does this imply about relationships? Well, one consequence my friend pointed out in our discussions is that this point of view could be used to claim any sexual relationship is really a form of “the oldest profession”, wherein a guy (usually) trades some thing of value for the physical “talents” of a girl (usually). I think this is a normal and natural consequence of a model which I hope includes all sorts of relationships, including the “transient relationships” of prostitution. While initially this may seem like an excuse for prostitution, arguing against the stigma it has in our society, I would actually disagree. In my opinion, most prostitutes are taking advantage of a market situation – a customer is going to pay a ton of money for 15 minutes to an hour of time – that’s very different from what members of a healthy relationship “pay” each other. You can’t put a dollar value on the “goods” received in a typical relationship. Support, actualization, love, sex, shelter, food, companionship. There is no grand scale, most members of a relationship are not measuring and weighing each contribution, trying to keep things “equal” – it’s not about that.

So what do I hope people will learn about me from this long-winded exposition? I hope people will know that I am not afraid to love, and I am not afraid to build strong relationships. I don’t demand an exclusive relationship, but I see it as a high possibility eventually. In the time being, I have needs and I will see those needs met. Additionally I have plenty to offer. I am successful, I have a great career and plenty of material possessions. I have food and shelter. I am also a great companion, and I like to think, a fun guy to talk to. I hope some day I will meet someone whose needs are wants so rightly align with my own that we establish a strong, trusting, meaningful relationship, and I hope that that relationship grows into a loving one. That is what I am looking for in a long-term partner.

May 30, 2008

Genetic Algorithms From Scratch: Harvesting the fruits of not-so-natural selection

Filed under: Code, Free Thought, Open Source, Science — Carl Myers @ 8:44 pm

There are people in this world who “don’t believe in evolution”. There are also people in this world who don’t “believe” the earth is round, or more than 6000 years old. In case any of you were wondering, I consider those two things to be equally well-proven by the evidence I have personally seen (that it to say – very well proven). There are some who would argue “have you personally seen this evidence? have you personally seen those experiments? Did you verify them yourself?”. Of course, that is a ridiculous and slippery slope. I’ve never seen my own heart, but I believe it’s there, dutifully pumping blood through my veins and arteries. Likewise, if some huge fraction of the scientific community accepts some result, I do as well, until evidence to the contrary is brought up.

Why this line of reasoning now? Where is Carl going with this? Well, it all started a few years ago, when I read an amazing article in Scientific American magazine, in the January 2003 issue. The article was called “Evolving Inventions”, and it was about creating software and hardware using genetic algorithms. It made me think “It’s hard enough to doubt evolution, genetics, and natural selection, when we find old bones and genetic markers and other highly-specialized evidence in a wide range of very specialized fields… but it’d be neigh impossible to doubt if you could see it work before your eyes.” The thing is, by definition, natural selection of humans (and most living things besides tiny bacteria) operates on geological scales, beyond the human imagination in most respects. But this article had the solution – Use a genetic algorithm to create complex things – hardware or software algorithms – from the simple, or even nothing. Surely, after seeing that before their eyes, nobody could doubt. Not to mention, icing on the cake, genetic algorithms proved to do a very good job of designing algorithms, according to the article. How potentially useful!

I learned several facts about “genetic algorithms” from this article. Here are the essential bits:

  • The three critical parts of evolution are mutation, sexual recombination, and selection – optimally all three must be present.
  • The most important genetic operation is sexual reproduction, or crossover,
    which mates pairs of the better organisms to sire offspring composed of genetic
    material from the two parents.
  • In addition to sexual reproduction, genetic programming copies about 9% of the “fittest” individuals in a population unaltered into the next generation, which generally ensures that the best organisms in each
    generation are at least as fit as those of the previous generation.
  • About 1 percent of the members of a new population undergo mutation

With that list of requirements, I felt ready to start thinking about my own implementation for running evolutionary experiments in programming. One phrase I really liked which the article used was “Think of it as a creative search through the space of all possible [objects].” In our case, we will be working on perl snippets that “do something”. So, we are trying to perform a very “creative” search through the space of all possible chunks of Perl code – a large space indeed. What we need to do to make this project useful is to abstract many of the specifics away.

What will we call the “object” we are selecting on? For convenience, I am going to call it a “fragment”. Additionally, I am going to say this fragment is a string of code which we can evaluate. The fragment can accept an object (in Perl, a hashref) which can have zero, one or more arguments in it. Additionally, the program can return a hashref with zero, one, or more arguments. Here is an example fragment which ignores its inputs and returns an output of the string “Hello, World!\n”.

my $fragment = 'my $output = "Hello, World!\n"; return { output => $output };';
my $code = sub { eval $fragment };
my $inputs = {};
my $results = $code->($inputs);
printf("Results: " . Data::Dumper($results) . "\n\n\n");

Here is an example of a fragment which takes the argument “input” and returns the result “input^2″:

my $fragment = 'my $input = shift->{'input'}; return { 'output' => $input * $input };'

With the “API” somewhat clearly defined now, we come to our three critical parts. How do we “implement” mutation, sexual recombination, and selection? First, let’s consider mutation. Obviously, mutation could mean doubling a line – having a statement execute twice – or removing a line. Mutation could mean making a copy of a variable, or changing an arithmetic expression to be slightly different. Mutation in the real world could mean the organism dies with 100% probability, which in this case would be represented by a syntax error. Since there is little point in keeping around a program with a syntax error, another mutation is unlikely to fix that error, we should make sure mutations always produce a fragment which “compiles”. Runtime errors are probably ok, they will just be selected against heavily.

The real problem posed by mutation is how do we exercise new constructs not represented in our original programs? For example, if we were selecting for a fragment which took two arguments,

{ 'a' => [int], 'b' => [int]}

, and returned the result

{ output => [a ^b] }

, but we started with the hello world program, we’d have a pretty long way to go. We’d somehow have to get the line

"my $a = $_->{'a'};"

, and a similar one for b. We’d somehow have to get the line

"my $result = $a ** $b;"

, but the ‘**’ (binary exponentiation operator) almost never shows up in practice. For now, my solution will be to implement a module which generates random mutations. mutations will affect a random line in the fragment, will have a chance of containing one or more variables mentioned on a previous line with probability proportional to it’s distance away in lines, will have a chance of defining a new variable, will have a chance of containing an arithmetic expression, will have a chance of calling a built-in keyword (shift, pop, push, first, reverse, splice, etc…) with reasonable arguments, will have a chance of creating a loop around the next N lines where N is randomly chosen such that the probability distribution of N is approximately 1/x (big N is less likely). The probabilities of everything in this module should be easy to tweak, and I’m sure I will tweak them. The following parameters should be configurable, at least, along with my “guess” for what the initial value will be:

  • Probability of any mutation happening – 0.01

If a mutation occurs:

  • Probability of a line being repeated – 0.15
  • Probability of a line being removed – 0.15
  • Probability of inserting a random generated line – 0.70

If a random line is generated:

  • Probability a built-in is called – 0.10
  • Probability a new variable is defined – 0.10
  • Probability of a new loop being added over the next N lines – 0.10
  • Probability one or more existing variables are referenced – 0.70

If previous variables are referenced:

  • Probability a variable is incremented or decremented – 0.10
  • Probability a variable is assigned to – 0.10
  • Probability an arithmetic expression is assigned to – 0.10

Any time a random expression is needed:

  • Probability expression is ‘1′ – 0.20
  • Probability expression is ‘0′ – 0.20
  • Probability expression is ‘undef’ – 0.20
  • Probability expression is a previously mentioned variable – 0.20
  • Probability expression is [expr1] [op] [expr2] where op is a random binary operator and expr1 and expr2 are randomly generated expressions – 0.10
  • Probability expression is [expr1] [op] or [op] [expr1] where op is a random unary operator and expr1 is a randomly generated expression – 0.05
  • Probability expression is [expr1] [op] [expr2] [op] [expr3] where [op] is a random trinary operator and expr1, expr2, expr3 are randomly generated expressions – 0.05

Ok, now that nasty mutation is out of the way, we have our next difficult task to design: Sexual Recombination. In humans, every human has two genes, and each offspring gets one of the two from each parent, making for only 4 combinations on each gene. The problem is, the basic unit of programming in Perl is the statement, but there is no clear way to make statements in two programs “line up” in a way that will make sense. If an offspring gets a line which references a variable from parent A, but not the line which declares such a variable, bam, syntax error – stillborn fragment. How do we combine two fragments in a meaningful way?

I’m afraid the simplest way is to “do it a lot” with small chunks, and hope the correct things randomly get selected over time. For example, instead of combining two programs into one program made up of equal parts of the two parents, the “best” parent will be copied, then a random chunk of the “second best” parent will be added to the copy, and the copy may or may not have a similar sized chunk of it removed to “make room”. For example:

my $fragmentA = 'my $args = shift; my $a = $args->{\'first\'}; my $b = $args->{\'second\'}; my $result = $a + $b; return { \'result\' => $result };';
my $fragmentB = 'my $args = shift; my $a = 5; my $b = $args->{\'first\'} + $a; return { \'first\' => $b, \'second\' => $a };';

Here you can see program A is a simple program which returns the sum of arguments “first” and “second”. Program B is a simple program which takes one argument and returns (”5+first”, 5). Now imagine they were combined, and statement 4 of program B was randomly put into program A before the last statement:

my $fragmentA = 'my $args = shift; my $a = $args->{\'first\'}; my $b = $args->{\'second\'}; my $result = $a + $b; return { \'first\' => $b, \'second\' => $a }; return { \'result\' => $result };';

The last statement is now ignored and the function of this fragment has totally changed. It now reverses the arguments passed to it – it is a simple swap() function! The chances of any random sexual combination like that happening “just right” is pretty small, so we will have to make sure this is tried a LARGE number of times.

For those keeping score, we now have “not-even-psuedo-code” solutions, as I like to call them, for two of our big three problems. The remaining problem is selection – how do I “select” fragments of code – how do I compare one to another? Each algorithm I am trying to develop is going to have to have certain tests to “guide” the selection index towards what we want – but there are some general aspects of a fragment which are universal too.

  • Like all good code – shorter is better. For two fragments which otherwise perform identically, but for which one fragment is shorter than the other in code length, the shorter one should win – but for two fragments where one significantly outperforms the other, the less efficient/correct one should always loose out, no matter how short it is.
  • If you try to evaluate code with a syntax error, it dies the same way a runtime error dies. It’d be nice to make a syntax error a “worse problem”, something we select against more strongly than code which sometimes gets runtime errors, but generally either of these conditions are something to select against.
  • Obviously, another “external test” we can do is track runtime. An algorithm which runs more quickly is preferred to one which is slow. As with length, correctness is far more important than runtime, but correctness and other factors being equal, faster runtime should win.
  • Simpler code is also better code – all other things being equal, code with fewer deeply nested scopes, fewer branch/goto statements, or fewer statements, should be preferred.
  • If an easy way can be found to detect memory footprint, smaller footprint should be selected for as well.

Obviously, besides external generic metrics to select against, we need some problem-specific metrics.

  • If the fragment is supposed to use arguments to accomplish its task, then the initial programs should read in the arguments and any program which doesn’t use/read all of the arguments should be selected against.
  • If the fragment is supposed to return certain results, then the initial programs should return undefined, but vivified arguments for those results, and any program which doesn’t return a hash with those arguments at least vivified should be selected against.
  • Any fragment which returns the correct “type” of data should be selected for. (I.E. a number where you expect a number)
  • Any fragment which returns something “close” to the correct answer should be selected for – for each expected output there should be some way to compare answers to expected and a weighted score should be possible which improves as the fragments return closer to the correct results.

Well, I mostly wanted to get my ideas written down before I started trying to implement this mess. Hopefully this post accomplishes that and organized my thoughts a bit. Now, to the implementation grind! =)

May 27, 2008

Coming Soon: Thoughts on Genetic Algorithms

Filed under: News — Carl Myers @ 2:14 am

I’ve always been interested in genetic algorithms – but how hard is it really to do something useful with that idea? I haven’t met the problem I couldn’t write at least a partial solution for with a couple hours of fiddling in Perl, so it will be interesting to see what I come up with. Stay tuned, folks!

The Future of Artistic Creations

Filed under: DRM, Future, Music, Open Source — Tags: , , , — Carl Myers @ 2:06 am

It’s the question on everyone’s minds and blogs these days. How are artists going to “cope” with the Internet? When is the RIAA going to stop suing grandmothers and twelve-year-old girls? How are artists going to make a living when the music they produce is practically free? Why would anyone even bother to make art in a world like that? As an amateur musician, and a professional software engineer, I think I have a pretty good idea of how the future of the music industry, and other art industries, might look. The effected industries include music and art primarily.

The coming change isn’t hard to see if you just look at the history of the music industry. The details that follow are largely taken from Cory Doctorow’s Microsoft Talk, which is available in that linked text format as well as a very entertaining video on Google Video. As Cory details in his talk, one early example of change the music industry had to cope with was player pianos.

The player piano was a digital recording and playback system.
Piano-roll companies bought sheet music and ripped the notes
printed on it into 0s and 1s on a long roll of computer tape,
which they sold by the thousands — the hundreds of thousands –
the millions. They did this without a penny’s compensation to the
publishers…

The publishers asked Congress to ban the piano roll and to create
a law that said that any new system for reproducing music should
be subject to a veto from their industry association. Lucky for
us, Congress realized what side of their bread had butter on it
and decided not to criminalize the dominant form of entertainment
in America.

But there was the problem of paying artists. The Constitution
sets out the purpose of American copyright: to promote the useful
arts and sciences. The composers had a credible story that they’d
do less composing if they weren’t paid for it, so Congress needed
a fix. Here’s what they came up with: anyone who paid a music
publisher two cents would have the right to make one piano roll
of any song that publisher published. The publisher couldn’t say
no, and no one had to hire a lawyer at $200 an hour to argue
about whether the payment should be two cents or a nickel.

This same initial fear was repeated when *gasp* evil dangerous radio became popular.

This story repeats itself throughout the technological century,
every ten or fifteen years. Radio was enabled by a voluntary
blanket license — the music companies got together and asked for
a consent decree so that they could offer all their music
for a flat fee. Cable TV took a compulsory: the only way cable
operators could get their hands on broadcasts was to pirate them
and shove them down the wire, and Congress saw fit to legalize
this practice rather than screw around with their constituents’
TVs.

Each time technology jumped further, a more significant change in business model was needed to cope.

Jack Valenti, the mouthpiece for the motion-picture industry,
told Congress in 1982 that the VCR was to the American film
industry “as the Boston Strangler is to a woman home alone.”

But the Supreme Court ruled against Hollywood in 1984, when it
determined that any device capable of a substantial
non-infringing use was legal. In other words, “We don’t buy this
Boston Strangler business: if your business model can’t survive
the emergence of this general-purpose tool, it’s time to get
another business-model or go broke.”

Hollywood found another business model, as the broadcasters had,
as the Vaudeville artists had, as the music publishers had, and
they made more art that paid more artists and reached a wider
audience.

This is why this blog’s opening question is so important. What is the “next business model”? Will customers really settle for “renting music” rather than owning it? I think not. Rental means “now you have it, now you don’t”, and without involving physical media (which is SO 1994) that means DRM. DRM is doomed to failure for all the reasons Cory lists in his talk, which I won’t repeat here.

So what will the future look like? For all intents and purposes, music will be free. That’s right – free. Not free as in beer, free as in no cost. In case you’ve been living under a rock, here’s an update: right now, someone could make a CD of anything they had already digitally recorded for about 10 cents. What about making that digital recording? Well, I bought an electronic pickup for my cello for $250. Now I can record my cello playing with a $600 computer, and edit the sound files with free and open-source software (like Audacity). Someone could hire a sound engineer (someone with a 2-year degree or 4 years of experience) to do studio quality recording with a couple thousand dollars of equipment. Compare this to 20 or 30 years ago, when you had to pay a couple thousand dollars per hour in a recording studio.

Today music publishers and their promoters spend tens of millions of dollars trying to convince people how great Brittany Spears’ newest album is. Maybe if we need that much convincing, she isn’t such a good singer after all. Maybe music should be a free market. Maybe musicians should put all of their music up for free – and do whatever it takes to get it heard (or, at least have the option to do so if they wish, as opposed to the current restrictive contracts they are all but forced to sign, giving away rights to their own music).

Maybe having large numbers of fans is better for a musician than having fans who already paid them 15$ for a copy of their latest album. Maybe if anyone could listen to a musician’s music for free, ten times as many people would listen than if they all had to pay for it. Then, just maybe, if only 10% of the people that listened to a musician’s music donated a bit, musicians would break even with the other model. But, just maybe, if 20% of the people that listened donated some money, musicians might even do better. And musicians still could go on tours, perform live, and keep a lot more of the proceeds from those concerts with no record label middle man taking their cut.

What this idea suggests is that the next business model may be a return to the *very* old ways. Long ago, artists made art, be it visual or auditory or others, because they loved to. It served no obvious purpose back when people were painting it on cave walls, or playing in primitive town squares, but they did it just the same. But buried deep in the moral code of people is the “golden rule”, do unto others as you would have them do unto you. And, for that reason if no other, when someone is truly moved by a street musician, they often donate money or praise, or both. There was no way to sell music before the Internet, before MP3s, before recordings, before sheet music. People were paid for performances – and sometimes, not even that. At first, most likely, musicians were only paid “as thanks”, after the fact, not unlike a street performer today.

Web comics provide some modern-day evidence for the viability of this model. Many web comic authors, as their primary and only career, produce free web comics from the daily to weekly range. They put their art on the web for all to see, free of charge, often under a Creative Commons license or similar terms. They subsist via many methods. One such source of income is the same way Google all but prints money – via ads – although their earnings from that are probably not significant. Most of their income comes from their customers, to whom they “give away free” all the fruits of their labors – how? They sell T-shirts, bumper stickers, prints, coffee mugs, and other paraphernalia on their website stores. Also, almost without fail – web comic authors have “click here to donate” links. Finally, web comic authors go to conventions – the “concert tour” of web comics, where they can draw sketches for their fans, meet them directly, and sell their wares as well.

Comic Merchandise? Ads? Donate Link?
Questionable Content Yes Yes Yes
Dresden Codak Yes Yes Yes
Dr. McNinja Yes Yes Yes
Penny Arcade Yes Yes Yes
VG Cats Yes Yes Yes
Ctrl-Alt-Del Yes Yes No
Xkcd Yes No No
Darths and Droids No No No

As you can see, there are plenty of examples here of folks making a career of “giving away” their art – they are supported by their loving fans, via donations, ads, and someone just from selling related merchandise. Also note that these comics are not “financed”. Arguments such as “without the record labels, nobody would make music – nobody could afford to” might have parallel arguments for free web comics. They aren’t quite as expensive as putting together an album, but there is still quite a bit of startup cost. A comic author needs a web server or web host – a website design – drawing equipment and a high-resultion scanner, or a nice tablet and related equipment. Some free software might be used, like GIMP, but many would prefer a license for Adobe Photoshop (easily $400-600). To get the word out, they might take ads on similar web comic sites which already have a following. These comics all started as hobbies initially, grew beyond that, then were finally big enough to support their creators and become their career. The fans decide when an artist is that good, not some record label. Nobody has to be “discovered” and no record exec gets to decide who is “good enough”. Clearly, web comics are perfectly successful without big contracts or funding.

Just in case some readers remain unconvinced of the reality of fan support of artists, I will now relate an event I personally witnessed. The names have been withheld to protect the affluent, but the comic name will be revealed to pay homage to its talented creator. At the 2007 Emerald City Comicon I was particularly excited to meet the author of my favorite comic, Questionable Content. Little did I know, my friends were even more excited to meet the author of a comic I had not yet been exposed to called Dresden Codak, by Aaron S. Diaz. When I say “excited”, what I actually mean is “full of dollars”. I called one friend who was not present and told him “Hey, the Dresden Codak guy is here, do you want me to buy you a print?” He replied, “I want you to buy every single item he has, until you run out of cash. Then I want you to take those items, and do whatever you want with them. Or give them back to him. I don’t care. Give him all your money, I’ll pay you back.” I called my other friend who I knew was a reader of the comic, who said “I’ll be right there.” A few hours later, about 45 minutes before the end of the convention, he arrived and made a beeline for the “Dresden Codak Guy’s table”, and immediately wrote him a check for a large amount. Over $100. He bought a $30 ticket to the con so he could find the guy and give him the check personally. When the guy offered my friend some merchandise he replied “No thanks…but can you show me the next comic? I must have it. Is it done yet?”. It was not done, but my friend insisted the guy take the check, and finish the comic soon. My friend didn’t even so much as give the guy his email address, he expected nothing in return, but hoped the comic creator would feel appreciated and continue his work.

This is the extent to which fans are capable of appreciating their artists. Not everyone can afford to give a huge wad of cash, and it’s certainly true that some people who might save up the money to buy 10 CDs might not give that same amount in donations to the same group if they gave their music away for free – when you think about how many more people might be exposed to said music, it is easy to see how artists might make money, even more money than they currently do after the record labels take “their cut”.

Imagine if you could stream all the music you wanted for free, listen to it, then download any you liked to put on your MP3 player? Imagine the traffic that website might get – that’s some significant ad revenue, even from folks that don’t donate. Imagine if next to your favorite song was a link to a T-shirt with a popular lyric from the song on it – wouldn’t you consider buying that shirt, knowing it supports the artist, and you would have a cool shirt? Imagine that there was a small donate link at the bottom of the page which let you use your Amazon, Google Checkout, or Paypal account to donate money directly to the artist. 100% goes right to the artist, no middle man. Wouldn’t you consider giving $1 or $2 for a song you liked? $10 for an album that “touches you”?

Here’s another idea – take Transgaming’s Cedega as an example – the program is based on open-source software, but also has proprietary bits. What it does is not particularly important, the short version is it lets you play video games for windows on a Linux machine. In exchange for $5 a month, you can download Cedega and use it on as many computers as you like. If you stop paying, you stop getting upgrades. But the real reason to keep paying is to vote – each month you pay for you get one vote in each poll. Each month there are several polls. “Should we add support for this game?” “Should we work on better DirectX 9 support?” “Should we improve support for Steam games?” If you want, you can pay more than the minimum $5/month and get additional votes. People could just buy a minimum subscription (3 months), then cancel and not pay again until they find an unsupported game and need to download a newer version…but instead, they keep regular subscriptions so they can always vote on what they want improved. This is another fine example of something people could fairly easily “steal” (have one friend subscribe and download it for everyone), but most choose to support it – in part because of the empowering feeling of voting for features – just like voting for the features of the next song might do. Now imagine there was a form you could fill out when you donated to an artist, which let you “vote” on what sort of song or album you want the artist to make next. Maybe you prefer their acoustic work? Or perhaps their most recent collaboration with another artist was great, and you want a repeat. Nothing stops an artist from being creative and artistic, but this way, their fans can vote with their dollars and tell the artist which of their works they like best. Right now all artists get is feedback at the album/single level (except from a few online sales and other non-dollar-related polling methods). Many artists could benefit from this extra feedback (and income).

There is one final question I haven’t addressed – “why would authors bother creating music without the ‘huge fame big dollars’ of record label deals?”. Well, why wouldn’t they? I create my music for free. As we have already discussed, there are plenty of examples of artists creating as an outlet, for fun, with no financial motives (at least, initially), only for their creations to grow so large they must quit their jobs to focus on their art. Most importantly, would it be such a bad idea if money wasn’t encouraging artists to create? If artists were on their own, free of the record labels, you wouldn’t have artists releasing their “yearly album” of rehashed crap nobody wants. There would be no money in it anymore. Artists would try to create something people actually wanted to listen to – because things people don’t want to listen to wouldn’t make them any money anyways.

There have been some discussions of the relatively new concept of music as a disposable product. In my opinion, this practice is the last-ditch effort of a dying business model. If they can’t figure out a way to sell customers their “standard product”, and make it worth the price they want for it, they will overwhelm customers with other “rebuy options”. Pay for the CD. Then pay for the MP3. Then pay for the ringtone. Then pay for the “ringback”. Then pay for the “high definition audio CD”, or whatever technology some day replaces Audio CDs. Maybe I’m wrong – maybe customers love to buy everything three times. Hey, remember that movie you bought on VHS ten years ago? You totally want to buy that again on DVD, then again on HD-DVD, then again on Blu-Ray, then again on Amazon Unbox, right? I didn’t think so.

« Newer PostsOlder Posts »

Powered by WordPress