The Abbey

Write What Thou Wilt

About

There is no grace.
There is no guilt.
There is the Law.
Do What Thou Wilt.

Wedding Jukebox

June 29th, 2008

Weddings are rather expensive.  Well, for us anyway.  I’m sure we could’ve cut the guest list down to a handful and just gone to get a marriage certificate and be done with it, but we’ve opted for something a little bigger.  But since we can’t really afford a huge, lavish wedding, we’re trying to cut corners where we can.  One of the corners we’re cutting is the DJ.  I know that a DJ can be an important component of a wedding and that they do a lot to make sure the party keeps going, but there are good DJs and bad DJs and both are expensive.  Rather than spending the money that we don’t have on something like a DJ we don’t know, we opted for the ultra-chic “iPod DJ” for our wedding.

Now, we never really intended to have an actual iPod play the music for our wedding, but we do want to spend as little money as possible to get the grooves going.  My original plan was to hook up an external hard drive containing music to my old Powerbook and have everything run off of iTunes.  We’ll make a few different playlists, one for cocktail hour with some lower-key stuff, one for the actual ceremony and all of that and one huge playlist for the reception that could go on random.  Then I got to thinking, wouldn’t it be nice if people could go up to the laptop and “request” or queue music that they wanted to hear?  Then we would be one step closer to having a DJ without actually having a DJ…

I started looking into “Jukebox” software or front ends for various music players.  I have OSX on my laptop, and have an old PC, so I’m not limited by operating system.  I searched for any software anywhere that would do the trick.  It wasn’t as easy as I thought it’d be.  The only software I came across that did what I wanted it to was a homegrown package for Windows, but I wasn’t so impressed with the styling of it.  That’s when my coworker Jesse turned me on to DCOP.  DCOP stands for Desktop COmmunications Protocol.  DCOP is basically a way for KDE (a linux desktop manager) apps to talk to one another.  You can issue commands on a command line which control components of an application.  In a way, it’s similar to Applescript I suppose, not the scripting itself but the library attached to an application.  Scripts or apps can be built to make calls to DCOP to control the actions of a program.  Anywho… on to the good stuff.

In comes Amarok.  Amarok is a KDE music program similar to Winamp or iTunes, only better.  Or so I’m told.  I haven’t really played around with it enough to say whether it’s better or not just yet.  The setup for it is a bit quirky and I haven’t quite grown used to it yet so I’ll reserve my judgment until I’m more familiar with it.  The good part about it, though, is that it has a long list of controls for DCOP.  Just about anything you can control from the graphical interface, you can control from the command line.  It also allows you to queue songs in the playlist, so it will play the queued songs before going back to regular playlist play.  So now we have the perfect backend for a jukebox.  All we need is a front end.

Let me lay out my ideal, end goal prior to detailing various issues with it.  First off, I’m a web developer, so I’ve opted to try to get this to run as a local web app.  I’m sure this whole thing could be written in C++ or Python or Ruby or LISP or assembly or whatever your favorite language is.  I have to work with what I know best, which at the moment happens to be PHP.  Amarok has the option to store the music database in MySQL, which I’m also comfortable with, so that works best for me.  My final goal is to have a web browser in Kiosk Mode running a front end web page for interacting with the music playing in Amarok.  You’ll be able to browse artists, albums and songs, view album art and maybe some other information and select tracks to queue.  I want people to be able to see what’s on there and queue tracks, but not be able to stop the music from playing, change the volume, edit the queue, or anything like that.

The problem with this is that PHP is made to run web pages and web pages are designed not to interact with your system.  There are enough security problems as it is with the web, nevermind web pages having access to your files or running applications.  So, in order to have PHP call DCOP, we have to do some trickery.  My coworker Jesse threw together a small C++ app called DCOP Daemon that runs every second listening for comands written to a text file and runs those commands against DCOP.   By the end of this project I’ll probably have to add more to that program, so I may eventually have to learn a little more C++ or some Python if I decide to rewrite it in that.  I rewrote it as a PHP CLI app, but couldn’t get it to work reliably.  It might still work with a little more work put into it, but what I have now is at least good enough to start development and testing.

Another hurdle I came across is album art.  Amarok stores album art in a hidden folder nested deeply inside the home folder.  I know there are security issues with this app, but I’m trying to make it as secure as possible in hopes of releasing this code once it is complete.  So I’m riding the line between a secure app and an easy to use app at the moment.  I could have apache run as a different user (it’s www-data right now on Ubuntu) so that it could access all of my user files, but I’d rather keep the machine more secure and have it run as a normal server (I’m writing from that box right now, so until this is set up I’ll obviously have it on a network…).  My solution was simply to have a script copy the image files to a web-readable location so they can be accessed by my front end.  Once I have gigs of music in there, it’s probably not the most efficient method, but it works.  I figure once I have all the music I want on there, I’ll only really need to copy it once.  Just to be safe, I’ll probably have it copy on starting up the app/daemon just to make sure they’re in sync.

Another issue I’m currently worried about is the latency of the daemon and scripts.  The daemon is checking one input file and has one output file for messages.  It runs the commands it finds every second and writes output to the output file.  I had some trouble with the front end querying for play status.  The command “dcop amarok player isPlaying” returns true or false to say whether Amarok is currentlly playing, but if I issued a play command through my front end and then immediately query for play status, it would come up false.  It takes up to one second for the command to be read and then probably another second or so for it to return the status to the output file.  Meanwhile, the PHP app quickly checked the output file and saw it as false, as it hadn’t been updated yet.  For testing, I put in a sleep command, but the full implementation could see multiple commands being sent in quick succession.  My current thinking on this is to have the front end use AJAX calls so that I don’t need to reload the entire page each time an action is taken (which should cut down on the number of simultaneous calls), to use multiple output files, possibly one per command that requires output so that they don’t overwrite one another, and I might also opt for recording timestamps so that I know if a file has been updated or not.  I’m not sure at this point what methods will work best or be needed.

Now that I’ve got album art working and basic play functionality working, I’m going to start working on the design for the front end.  I need to play around with Amarok’s queueing system to learn how it works a bit better.  I’m hoping that if I set repeat to “off” that it will not allow users to queue tracks multiple times.  If it does allow repeats, I may need to record what has already played and control that on the front end.  I’m thinking maybe I could gray out songs and/or albums that have already been played so that they could not be selected again (ie, “Sorry, this song was already played/queued”).

Our wedding is in October, so while I have grand designs for this project, it also has a very strict deadline.  I’m hoping I can throw together a functioning app before the end of the summer and have some time to add features, test, and generally play around with it.  Once I’ve gotten a little more work done on it, I’m hoping to open source the whole project so that I can a) contribute to the community and b) maybe get a little help/feedback on the project.  I think it could fill a niche as I haven’t seen any other projects that are doing what I’m trying to do.  Who knows, maybe someone will be nice enough to donate a touchscreen to the cause. :)

My current setup:

AMD 1.7GHz, 512MB RAM, 40GB HD
Ubuntu 8.04 “Hardy Heron”
Amarok 1.4.9
PHP 5.2.4, MySQL 5.0.5

Came down with an awful cold last week, high fever and liquid lungs. I quickly passed it on to the fam. It’s scary watching a two year old cough like an old smoker. I was too busy sleeping most of the time to take too much notice, though. It’s left me quite winded. I think it’s all the buildup in my lungs, making it hard to breathe and catch my breath, I feel all asthmatic now. This is always when I’m at my worst, as the seasons change. The coming of Spring marks the coming of a cold. And now I sit here hacking up the remnants of it.

I need to move back to San Francisco where there are no such things as Seasons, at least not in the East Coast sense. “Summer” is that period in October when the clouds recede to let the strong nocal sunlight in and “winter” is that chilly period in February when it rains a bit more than usual. Of course, there’s that slight concern that the ground under your feet will eventually liquify and send blocks of buildings toppling onto your head, but mortality creeps in one way or another and I think I’d rather bite it from “the next big one” rather than some unnamed Asian bug.

Of course, that all assumes I have some plan of what to do with my life. Which, at this point, is kind of in limbo. I’m in that cycle of work->home->sleep->work that’s so easy to get caught up in. I’ve thought about starting up another live-action rpg, and I know I definitely want to go back to school, eventually. But for now I’ve just been trying to tread water. Life is expensive around here, and a lot of times more expensive than I can afford. And somehow I’ve got to move from this paycheck to paycheck game and into spending over $10k on a wedding in, oh, 6 months. Maybe then I’ll be in a better position to reevaluate this whole life situation. A bit naive, perhaps, to push off things like that, but the wedding is kind of an event horizon right now, after which everything is sucked into the black hole of married life. Not to say that being married is equatable to a black hole from which nothing escapes… but just that it is impossible for me to see what happens beyond that event horizon until I have crossed its threshold. I’ll let you know about further comparisons to a black hole after the wedding.

Summer slowly creeps towards us again. Here’s to hoping it’s a good one.

wii are right-handed

December 27th, 2007

I’ve been using Gamefly for a few months now and I love it.  It allows me to see which games really suck and which games are really short and not worth the money before I lay down any cash on them.  Suffice it to say, I haven’t bought any new games yet (exempting the games I got for Christmas, which were worth the purchase).  So I gave in to curiosity and any-news-is-good-news hype surrounding Rockstar’s “Manhunt 2″ for the Wii.  I only briefly played the first one and wasn’t drawn into it like the GTA series.  In fact, now that I think of it, I haven’t really liked many Rockstar games besides GTA.  But anywho… Manhunt 2 didn’t excite me all that much, really.  Now granted, I didn’t get too far into the game (it was still giving me tutorial tips) but I think I played enough to get the general idea.  While beating someone to death with a sledgehammer is a bit viscerally enticing, the game itself is trapped somewhere between being a GTA shooter and a Splinter Cell stealth game without the elements of greatness from either game.  There are many things to love about the GTA series, but the best part about it is definitely the sandbox gameplay.  I’ve played other games that tout their sandbox, but it’s nowhere near as open and fun as in GTA (eg, Just Cause).  I’m sure there are plenty who will find the game enjoyable, but I just didn’t have the patience for it.  I think I might enjoy it a little more on another platform, though, and here’s where I get to the heart of my issues with this game and others on the Wii.

Early console controllers, such as on the Atari 2400, took their design cues from arcade controllers with a control stick and button.  Then there was the NES style controller with the direction pad (and additional button!). This has pretty much been the paradigm ever since, with extra buttons and better ergonomics added along the way.  Specialty controllers aside (steering wheels, flight control sticks, etc), the Wii remote is a huge shift away from the status quo.  Now, while this is not specifically the fault of Nintendo, the Wii remote exposes a problem that hasn’t been too big of a deal until now, and that is handedness.  I was fortunate enough to be born a lefty, and although I use a mouse with my right hand I am predominantly left-handed in just about every other facet of my life.  I use my right hand for my mouse because the mouse is always on the right side and I just got used to it that way.  The same can probably be said for all of those game controllers.  If I had grown up with the control pad on the right, maybe I’d be a better gamer now, but after years of finger-training there’s no turning back now.

The Wii changes that, though.  Now I have two controllers, one for each hand.  Now I’ve reversed my usual setup, with the control pad under my right thumb and the main buttons in the weightier controller in my left hand.  Now, plenty of games that I’ve played so far for the Wii either make no differentiation between handedness or have settings which allow you to specify handedness.  Manhunt 2 is not one of those games.  I didn’t really think about it at first, but as soon as I got a hold of the aforementioned sledgehammer I got a bit confused by the controls.  Then I realized it was because when I tried to swing the weapon, in the characters right hand, I had to swing the main controller, in my left hand.  It’s something I probably could have gotten used to with further play, but it caused some cognitive dissonance in the time I did play, which only increased with load, such as being surrounded by enemies.

Now, you reading this and being a righty (I assume you’re a righty because probability dictates I’ll be right more of the time by assuming that), you may think that this is simply a silly gripe that doesn’t actually effect gameplay and thus isn’t worth the developer’s time.  However, try this experiment for me before making your final decision on this.  Try switching hands that you use on a Wii remote and playing that way.  Unless you’re of that small class of folks who are truly ambidextrous, I bet you’ll find it uncomfortable.  Now try playing a game like Manhunt 2 that is only right-handed and tell me that it doesn’t cause some discomfort trying to figure out the controls.  I think this is an issue that is significant enough to warrant some developer attention and I seriously hope more games aren’t marred in this way.

Sinking in rather nicely in the new digs.  Some growing pains with leaky pipes and unfinished electrical, but still preferable to the previous place.  Less reading time on the train, but more time overall.  And even when the 6 is crowded I usually still have breathing room, an improvement to be sure.  Work is busy.  I’ve gone from trying to finish everything on my plate to picking away at multiple plates.  Busy is good, though.  I just wish we could budget better.  My financial life is a nightmare. Hopefully I can straighten that out before we end up in a cardboard box.  And the brief love affair I may at one time have had with Ikea is now over.  Besides the speechless directions that answer all but the most important questions, they’ve run out of names.  So now you have a “system” named Anselv or whatever and it has a million different pieces with the same name so you can never tell if you have the right parts or not.  Whatever.  I must be getting old.  I’m on the very precipice of 30 now, with only a year and some odd days to prepare for my headlong dive into true “adulthood”.  Whatever the hell that means.  I have a kid, that defaults me as old.  I remember being in 4th grade and thinking the 6th graders were old.

I’m reading Origin of the Species.  Puts some perspective on the current ID debates.  I could see someone doubting Darwin’s ideas back when it was still being hashed out, but even Darwin knew there was insufficient data in the geological record to “prove” evolution that way.  Makes me fear for America when I hear the nonsense taken as plain truth in some minds.  Ah, to hell with America.  It’ll crash and burn eventually.  Every empire falls eventually.  I’m more concerned about the headspace that these ideas consume.  I don’t suppose we’ll ever really rid ourselves of them, though.  Too much memetic value in them.  Too many immortality ideologies invested in their furtherance.

The optimists, the forward thinking prophets, they drool over the beautiful beacon of our future, the utopia awaiting over the next horizon.  The pessimists, the fire-and-brimstoners and conspiracy theorists see the whole world ablaze in hellfire with each of us getting what we deserve, pain and suffering.  The truth of it is that things will change, quite drastically at times, but it will really just be more of the same.  Change happens over geological time and anything that we consider truly monumental is probably insignificant.  About the most harm that we can truly do is to kill ourselves off.  And if we do, do you think the earth will miss us?  If a tree falls in the woods…

moving day

November 6th, 2007

We’ve been planning for months, slowly boxing things up and making lists of things to do, but it’s hard to believe we’re moving out in just ten days. It’s not that I’m not excited to get out of here and go to our new place, it just seams surreal right now. As much as I just LOVE riding the sardine can that is the F line to and fro every day, I think what I’ll miss most about this neighborhood is the school up the street. Probably not for any reason you’re thinking, innocent or perverted. It’s one of those old, brick schools that could probably shrug off a direct hit from a few tons of explosives.

In my paranoid nightmare fantasies (no thanks to Max Brooks and Dave Wellington) I always imagine how I’d turn it into a fortress during the zombie apocalypse. Since they put up scaffolding to not do the emergency work they were supposed to do, oh, six months ago, it’s even better. Now the fortress has ramparts. Of course, it would only ever really work after most of the populace had fled or turned. God knows there’d be a large group of your huddled masses at the doors of any public building in case anything like that ever happened. With our new place I think it’d be easier to knock the wood stairs out, but we’re so close to other buildings that they’d either come in via the roof or the whole block would go up in flames. Oh well, new house, new escape plans for the apocalypse I guess.

Hopefully this move will also be a good turning point for Quin. Our plans of utilizing our dining room table never really happened here. I’m hoping he’ll start sitting at the table to eat, if only to save myself from having to sweep up yet more food crumbs from amongst his toys. We’re also going to try to kick him out of our bed… I mean, get him to sleep in his own bed. I don’t think it’s going to be too much trouble, really. I’m sure he’ll either come running to our bed or sit up screaming for a bit, but once he gets used to it he’ll be good. Tonight he fell asleep on top of the cushions for our couch that were stacked in front of the closet door. He was a bit fussy and overtired and so didn’t want to cuddle on the couch as per usual. If he can fall asleep there, I think we’ll have no problem with his own bed.

Kelly and Quin went up to her mom’s last week for Halloween. It was nice having the whole bed to myself, but it took some time to adjust. I didn’t sleep all that well without them in bed with me, even in my sleep I knew something was missing. Of course, I think I did get used to it by the last day, because when they got back I couldn’t sleep because I didn’t have any room… It was cold that night and Quin decided to curl up in a fetal position in my chest, and Nuit was nice and snuggled up to my back, leaving my approximately six inches to hold my breath in and god forbid I try to turn over…

Oh, so many things to say goodbye to here. Goodbye cockroaches, goodbye neighbors birds cheeping at 6am, goodbye neighbors playing loud Indian or Spanish music until three in the morning all summer long, goodbye unresponsive police department, goodbye strange homeless Indian man who changes his socks on my front stoop, goodbye drunk Mexican man who lays looking dead in the middle of the sidewalk, goodbye hoodlum school children (well, these specific hoodlum school children at least), goodbye non-air conditioned F train packed to the gills with po’ folk like me, goodbye train station who’s up escalators never work, goodbye police helicopter who so often shines a little light on me, goodbye flashing beacon from JFK that makes Kelly say “there’s lightning” every time it goes off, goodbye bulging ceiling and leaky radiators, goodbye peeling paint and rusting pipes, goodbye boiling water coming from my tap, goodbye neighbors who only understand english when you owe them money but especially not when they owe you money, goodbye neighbor who’s allergies are so bad that he has a dog, goodbye neighbors whose gate looks like the headboard to a very tacky bed, goodbye to the front door that always sticks, goodbye neighbor who locks the door behind you as soon as you step out but leaves all the ground floor windows wide open, goodbye wiring that causes bulbs to pop randomly long before they should, goodbye to the two-pronged electrical system that makes our lives so hazardous, goodbye to the sweaty two-pronged refrigerator that is well beyond its prime, goodbye to the cracks in the walls that show through twelve layers of white paint, goodbye Queens. and good night.

My toolbox

July 2nd, 2007

Over the years, my toolbox for web design has evolved numerous times. I’ve had the unfortunate luck of having to work with Microsoft FrontPage. I’ve also used just about everything, from the Windows Notepad to Macromedia (and Adobe) DreamWeaver. Who knows what I’ll be using further down the road, but for the time being I find the following to be invaluable tools for the work I’m currently doing.

To give this some context: I’m developing using PHP and MySQL on a windows machine for publishing on a FreeBSD server. My main development environment is Zend Studio, which has it’s quirks, but is great overall.

Support software:

CuteFTP - It’s not quite as friendly as Transmit on OSX, but it’s good for what is. I like being able to edit right in the browser, that’s a nice feature for quick edits or just to see what’s there.

PuTTY - Free SSH client so I can get onto our dev server.

NotePad2 - Drop in replacement for Windows Notepad that does syntax highlighting. You’ll never touch notepad again…

RegexBuddy - Awesome program for doing regular expression testing. This will save you tons of time if you have to write long/complicated regex searches, such as for screen scrapes.

I use Firefox for testing and development and go back to IE later to make sure it works. This sometimes lands me in hot water, but the extensions for Firefox just make it too good to do otherwise. Here are the most useful extensions I have. If you use any that aren’t on this list that you find invaluable in your work, feel free to leave a comment letting me know.

Extensions:

CoLT - Adds “Copy Link Text” item to browser’s context menu.

Console^2 - Extra features on error console.

Firebug - Invaluable debugging tool (CSS/HTML/Javascript).

IE Tab - Render tabs using IE engine.

Live HTTP Headers - view header information.

Professor X - View page head source, nicely formatted.

Tamper Data - View/Modify headers and requests.

Web Developer - Tons of useful dev tools in a toolbar.

X-Ray - View source inline with display.

I think I’m almost caught up with my thoughts. I’m not sure yet, so I’ll have to get back to you on that. I’ve been very busy lately, so all of my hobbies and various projects have taken a back burner. I wasn’t in school this semester, but I definitely had a finals week. I think the plan right now is to try to jam as much stuff as we possibly can into the summer before it gets cold again. We’re having a picnic at the lake this Friday. I think it will be very cold. We haven’t had enough warm weather for the lake to be warm yet. But I know Quin will get in the water and not mind the cold, even if he’s shivering with blue lips. But he will splash me. It will be cold. My parents got him a wetsuit that has foam body armor in it. He’ll look all buff on the beach. I’m sure there will be pictures, eventually. Until such time I do the best I can (…rollin’ sixes).

words, words, words…

May 26th, 2007

too much thinking going on in my head. it’s been a long day. every year it’s the same. winters are cold and long and while at first you don’t mind, by the end you’re praying for the sun. and then a hot day like this comes along and all i can think is oh yeah, i hate the summer. it’s humid enough to melt cotton candy. going on our little trip tomorrow. we went food shopping today. i wish cars weren’t so useful. it almost makes me want one. but without a driveway, you have to play musical cars. only when you’re left without a spot, instead of being “out”, you get a ticket. tv commercials make me feel like my brain has been put in a food processor. unending chatter pureeing my thoughts into a flat alpha. our automatic kitty litter cleaner is humming away. how long before i have a garbage bot? eats garbage, compresses it in its stomach, walks itself to the curb, delivers its contents to the sanitation worker or dumps it into the truck, comes back to my kitchen. fuck the roomba, that’s the better mousetrap.

quin took a header off the couch tonight. i had just gotten comfortable when i look across the room and see him fall. he was sound asleep at the time, so i think he was more stunned than anything else. he cried a bit and then passed out again like nothing happened. i liken it to drunk drivers who survive accidents because they’re so drunk that they don’t resist the accident. i mean, if there’s anything in nature that is like a drunk adult, it’s a tired baby.

is civilization learned? i believe that we have some innate social instinct. And yes, I mean instinct just like when we say a skunk’s spray is instinct or how plants instinctually grow towards the sun. But the brain is a very good turing machine, right? I think it’s a few orders more complex than our current digital analogues, but it’s the best analogy we have at the moment. but could this “incredible machine” adapt to surroundings to such a degree as to _learn_ “from scratch” all the things we do? i mean, if it’s true that we have brain centers specifically handling language, we presuppose an environment in which we can communicate with others of our kind. The body is built to be social. i somehow feel that the dichotomy of nature and nurture isn’t a useful definition of reality. without nature, we would be ill adapted to survive in a dynamic environment. but without nurture, experience, the programming done by dna would be useless.

here’s what i want to know… if you believe in evolution (please god, say you believe in evolution), then you know that man evolved to this state in an environment we call “nature”. but why is it that there is “man made” and “natural”? man comes from nature but views his own works as something that stands outside nature.

oh well, i need my beauty sleep.

meme day wknd

May 24th, 2007

So I officially graduated. I got a souvenir cap and gown and a sunburn. After waiting in one of the halls for over an hour and sitting in the sun for another hour, I walked across the stage for a whole five seconds to get a thank you note from the school president. I walked next to Jesse, though. Somehow, after years of following her around the country we ended up in the same lineup. So how has graduating from college change my life? Hmm, well, I have another piece of paper to add to my ever growing pile of them. This one is leather and plastic bound though. I guess that counts for something. I’ll hang it up on my office wall one day, I guess. Along with my Presidential Physical Fitness award…

So we’re ready to go on another excursion to the great white north (upstate New York, that is). This will be the third year we’ve gone to Kelly’s dad’s for memorial day, so it’s become something of a tradition. I’m not looking forward to fighting traffic this evening, though. Hopefully we’ll get out early enough on Friday that we’ll be able to stop in PA for some incendiary devices. That would make it worthwhile. But for now I continue to ply my trade, brokering in bit and bytes. Yeah, well, that’s about the extent of it for now…

untitled

April 19th, 2007

Another four weeks until graduation. Not much going on until then. I met up with Zach from the RepRap project about two weeks ago at the dorkbot event. I’m excited to see what comes of this project. I’m hoping they get printed circuit boards in soon so I can start playing around with it. Yet another project to add to my list of projects. This one pretty much blows most of the other things I want to do right out of the water, though. Imagine being able to manufacture your own goods right in your own home… I’ll be satisfied when I can print my own little green army men. I know, I know, it could do much better things than that, but you’ve got to have goals. You can’t just start out trying to make a mind-bending death ray. You have to take it in small steps. Army men, then action figures, then the mind-bending death ray.

I’ve heard back from most of the grad schools I applied to. The only one that accepted me is McGill for a Master’s program. I’d love to go, but I don’t know about the logistics of moving the family to Montreal. I’m still waiting for an official admissions package from them. Kelly’s really not about moving up there though. Living here is going to get a whole lot harder as well, though, since I’ll have to start paying my loans back in the fall. Well, at least Spring is almost here… even though it’s almost been here for about two months now. I think it may have been warmer back in February. At this rate we’ll probably climb out of the cold weather and straight into the unbearably hot and humid. Oh, I can’t wait to see what it’s like having a bedroom in an attic with no air conditioning. We moved from the basement to the attic. Maybe one day we’ll get a regular apartment somewhere. Until then…



Recent Tracks (via Last.fm):

  1. Straight From Your Radio Straight From Your Radio
    Gold Chains
  2. Paranoid Android, CD1 Paranoid Android, CD1
    Radiohead
  3. Maxinquaye Maxinquaye
    Tricky
  4. Crackle Crackle
    Bauhaus
  5. The Fragile The Fragile
    Nine Inch Nails