So I had this idea for a post about things I like and don't like up here, in the spirit of my previous pro and con post. I'm trying to limit this to location stuff. (i.e. no job stuff or complaints about the obvious lack of friends, etc...)

Con: The nearest grocery store is like ten minutes away by car if there's no traffic. This feels obscenely far away, given that we lived literally across the street from an HEB in Austin.Con: The grocery stores here are nowhere near as good as HEB. The selection isn't as good and they aren't as clean, etc. And they require use of the stupid loyalty cards (which we managed to get without giving them personal information, but the idea still bothers me).Pro: Our apartment complex is really nice - we love our apartment and they have a small but decent gym. And there are cookies in the main office! And there's covered and assigned parking.Pro: We're right across the street from a mall, which we used to walk to in better weather. There's also a movie theater and restaurants there.Pro: It seems like there are lots of good restaurants around here, Copeland's and Bertucci's among them.Con: We definitely live in the suburbs, which means almost all the stores around are chain stores. Still looking for a good independent bookstore like Bookpeople.Pro: We're close to both Baltimore and DC, which means there are lots of things to do if we feel like it. The huge number of museums and such in DC means we'll never lack for things to do when people are visiting. (hint, hint!)Pro: The weather. Yeah, on the whole I'd say this is a pro. It is cold here, but it's warmer today (50s!) and it really does feel like Christmas. Also, I can't wait for snow! (I reserve the right to change this to a con in January...)Con: Radio stations. This is another close one, but I liked Austin radio better than here. At least WAMU is a good NPR station with shows like The Kojo Nnamdi Show. (the Diane Rehm Show counts against them because I cannot stand her voice)Con: This is probably a suburb thing and to some extent a Maryland thing, but things just aren't as close as they seemed to be in Austin. We have to get on the freeway to go anywhere. This also may be because we haven't lived here too long.

Our story begins earlier in the week. In my usual calls to local stores, two different EB Games said they were scheduled to get more Wii's in Thursday or Friday. This was exciting news! Yesterday I drove out to a few of them around noon (which is when they said their shipments usually come in) and neither one of them had gotten them. So today was to be the day!

Anyway, I figured I'd take some time off to be sure I was there. I arrived at the closest EB Games at 11:30 and there were the Wiis! And people standing around, buying them! It took me a few minutes to realize that they all had numbers, and the store guy confirmed that they had received nine, and nine numbers had been given out, so I was out of luck.

Well, crap. I was pretty unhappy at this, what with the excitement of driving there and then the letdown. I called the other EB Games I had talked to earlier in the week, and they had gotten a shipment but it had sold out. (I later heard people at that store were waiting in line at 8 AM to get their number...)

So, I decided to head up to Arundel Mills (very large mall), since I knew there were an EB Games and a Gamestop around there somewhere. Stopped by a Circuit City on the way, no dice.

Decided that the most likely places for these stores would be in the mall proper (there are lots of strip malls surrounding the actual mall, but I had driven by those before and not seen either of them), so I parked and went in. Only been there once before, and that was for a movie, so I didn't really know where I was going. Pretty quickly I stumbled across the EB Games. They had received a shipment today, but they too had sold out of them.

I was feeling angry now about this whole affair. Not that it was anyone's fault, but man it was frustrating. So I grabbed a map and found where the Gamestop was. The mall is set up like a big racetrack and I decided to take the long way around to walk off some anger (and to see the rest of the mall). Lots of stores there - stopped in the Best Buy on the way, but no Wii.

Well, I finally arrive at the Gamestop and they haven't received their daily shipment yet! The guy said it usually came in around noon, and it was like 11:50 now so I decided to hang around. Gamestop and EB Games are now owned by the same company, so the odds of there being Wii's on the shipment seemed pretty good. While I waited, I deposited my driver's license and credit card to get a Wii controller to play with the demo unit. The demo unit had a demo of Zelda, which I hadn't seen before so I thought I'd give it a shot. When I walked up to the unit, the guy next to me (at the PS3 demo unit) expressed surprise that I got the controller. (I guess he didn't realize you could ask for it at the counter) He said he was waiting for a Wii as well, and he had gotten a number earlier.

Oh. Crap. That's not a good sign. So I went back up to the counter, and (after the counter guy got off the phone) asked if they were giving out numbers for Wii's. He gave me a bit of a furtive glance and said that they were, but to keep it to myself. (I guess he didn't want a big rush of people or something) And he hands me the number 8! Since the last place had nine, I thought my odds were good.

Anyway, to pass the time I played some Zelda. Took me a minute or so to get used to the controls, but man they're pretty cool. Was still figuring things out when the UPS guy came in with a big dolly of stuff. My excitement level is through the roof at this point! So a line forms for the counter and after a minute I figure I should get in it, just in case. Talked with the woman in front of me (who had number 1! She said she had gotten there when it opened at 9 to get it...) while we waited, and lo and behold, when I got to the front I got my very own Wii! (they had gotten in 15 units, I think)

So, I can't wait to play it tonight. And I'll post my friend code so people can friend me and share their Miis and stuff. Woohoo!

Sidenote: it is very cold here. There were supposed to be isolated snow flurries last night but I didn't see any when I checked a few times. The low tonight is 20 degrees! A few days ago I noticed that, even after we got in the car (parked in a parking garage!) to go to work, djedi and I could still see our breaths. Yikes!

I put up a new version of a sample LJbackup - the only thing of note is the stats page now includes the longest posts. Interestingly, my longest posts is a friends-only meme I posted, probably because the word counting is pretty primitive and inaccurate (counting HTML tags as words, etc.)

...except for not actually getting a Wii. I got up at 6:45 this morning and went to my Target - they only had 3! Went to a different Target and they had 27 but I was 55 or so in line. I was pretty disappointed at first, but the electronics guy at Sears has been looking for one too and he was very Zen about it, which helped. Overall the people I've dealt with trying to get one have been very friendly. And there are always more on the way, and I have my list of phone numbers and when to call, etc., so I'm hoping soon will be my time.

David's sister was in town this weekend, so yesterday we saw the National Gallery of Art and walked around a ton to see the Washington Monument, Lincoln Memorial, World War II Memorial, Vietnam Memorial, and almost saw the White House Christmas tree (well, we saw it but it hasn't been officially lit yet). Took a lot of pictures, which will go up at some point. Today we took it easier - after church we went to Annapolis to eat and look around. Found a nice little pottery store as well as a bookstore/coffee shop before we had to drop her off at the airport. When we got home I took a much-needed nap and am back to feeling pretty decent.

So I've noticed off and on for a while that my gallery has been getting some weird hits - mostly google searches for "hentay" (I'm guessing they meant hentai, which is most definitely a NSFW search term) and such. At first I laughed it off because they were obviously mistaken, but I couldn't figure out why it was happening. Apparently I have a knack for missing the blindingly obvious, so I was a bit shocked today when I looked on the front page of the gallery, again trying to figure out what was going on, and saw comment spam. Lots and lots of comment spam. (people posting links to their web sites to gain PageRank) Unfortunately, this meant I had to disable anonymous commenting, so if you want to comment just open an account and I'll approve it :-)

More unfortunately, there were still over 2000 comments (all of them spam) on the front page! I looked around and it turns out there's no way to bulk delete comments as of yet. And I sure wasn't going to sit there clicking more than 4000 times (one to delete, one to confirm). So I dug into the SQL and beat those bastards!

Anyway, in case anyone else runs into this problem, here's what I did: open up mysql and the first thing I found was that the root album had a g_id of 7. So I did these commands to first isolate the ID's of all the comments, and then delete them. There are probably better ways to do this but I'm a novice at this so I was aiming for safety...
CREATE TEMPORARY TABLE tmptable SELECT g2_Entity.g_id FROM g2_ChildEntity, g2_Entity WHERE g2_ChildEntity.g_id=g2_Entity.g_id AND g2_ChildEntity.g_parentId=7 AND g2_Entity.g_entityType='GalleryComment';

DELETE FROM g2_Comment, g2_Entity, g2_ChildEntity USING g2_Comment, g2_Entity, g2_ChildEntity, tmptable WHERE g2_Comment.g_id=tmptable.g_id AND g2_Entity.g_id=tmptable.g_id AND g2_ChildEntity.g_id=tmptable.g_id;

Hopefully this will be helpful to someone else, or at least a future version of myself :-)

- it does memories and polls and tags
- the statistics page is fun! I learned that I'm happy a lot. Also, tired. You can also see all of the comments you've made on my journal, if you're into that sort of thing. (I am)
- it's pretty much feature complete, as far as I'm concerned. I need to wrap it in a web interface, though. Oh, and I was gonna look into exporting ical events for the entries so they can be imported into, say, Google Calendar.

Anyone see any problems or anything they'd like added? I might add a "longest posts" category (by most words)...

Thanksgiving was fun. (except for the flight down - it felt like my sinuses had acid in them for about an hour and that my ears were going to explode on the way down! Cold + airplane == bad) It was nice to see David's nephews again, although I didn't really feel like taking pictures so I didn't. Weather was good, too.

I actually got up early Friday morning for my first Black Friday experience. I was trying to get a Wii but came up short. (the gamestop in Victoria didn't get any...) The crowds in Target and Best Buy were amazing - at least a two hour wait to check out, I'd say. Luckily (I guess) I didn't have to :-)

I was in a bit of a mood last night after getting home so I worked on the LJ backup some more, and was able to make it spit out a calendar (which I had been dreading). Thank goodness! Oh, and here's a fake poll for example purposes when I get around to parsing them:

The verdict is in: I do indeed have a cold. It started last Friday or so and increased in intensity slowly, so I wasn't sure if it was just allergies or what. But lots of people around me have been sick in recent weeks (although I thought I had already had that cold), so it's no shocker. The goodnews is that I was much better this morning than I was yesterday morning. And it's amazing the difference that softer Kleenex make when you're going through 100 or so a day. And I hope my ears don't explode on the plane today. (we're going to see djedi's family for Thanksgiving, and also get a Wii!!)

Being sick and playing WoW and trying to get a Wii hasn't left me with a whole lot of time to work on LJ backup, but I'm also at a point where I've done a lot of the fun stuff and the more irritating stuff is left. Hopefully I'll knock those out in the next few weeks and be done with it.

...and today is no exception! I woke up at 6:45 and went to a number of different stores to try to obtain a Wii, but to no avail. I really should have preordered - didn't want to because I've seen people get screwed with that. (i.e. PS3 where they don't receive enough units to cover the preorders) But there seem to be plenty of Wiis today (the first Target I went to had 120), just none went to me. I did manage to snag an extra controller and the two games we wanted, though. (new monkey ball and zelda) A gaming store near work said they're getting another shipment in Tuesday, so I'm still hopeful! Interesting Wii FAQ here.

In other news, I was tired after dodgeball yesterday (lots of running around!), and I noticed my arm kinda hurt when trying to throw. So I'm already feeling kinda sick (think it's just a mild cold or allergies at this point), and today I'm sore all over my freaking body. I didn't put two and two together until just now when I tried to do the throwing motion with my right arm and it hurt in like 8 different places. Hopefully that'll go away tomorrow.

My LJ backup project is coming along decently - I'm now downloading all posts and comments and saving them, as well as displaying some neat statistics. Things left to do:
- generate yearly archive pages, like this
- read in polls and parse and display them
- hopefully find some way to find out which posts are memories
- more neat statistics, like who you use the <lj user="whoever"> tag for most

We won a match! Granted, it was by forfeit because the other team didn't have enough players. But I'll take it, especially after we lost the first match 13(!) games to 1. Also, my glasses are intact, although I did bang my elbow a little bit on the gym floor.

So what with all my efforts to get a Peppermint Mocha being thwarted, I thought fate was sending me a message. Well, I sent fate a message by going out of my way this morning to get one - so there! And it was gooood too. And helped keep me awake until now.

Thanks a lot for y'all's comments on my post yesterday! I've decided to work on the LJ backup thing. For some reason I sorta half-started on it a while ago and was convinced that it was going to be really hard. Last night I spent most of the evening coding (djedi wanted to make sure I was actually enjoying myself and not just doing it because I felt I needed to be working, but I really do enjoy coding, especially at the beginning of a project!) and got to the point where I can fetch all comments to all of my posts and I can fetch my posts, so that's a lot of the hard part. I'm even displaying it decently, although I need to work on comment threading and prettification and such. I can even do neat statistics - 43 people have ever commented on my journal! (42 real users, 1 generic anonymous user)

Since I have to wait at home this afternoon for the cable people to come, I'm hoping on getting more stuff done as well :-)

(I've been kinda unhappy and antsy the last few days, so the below is as much for myself as for anyone else...)
So I'm generally happiest when I have a side project that I'm working on outside of work, especially when work stuff is boring (i.e. now). I have been working on the Netflix Prize, but as of this evening (when my last run finishes and produces the same unimpressive results) I'll be done. Things that made it a good project:

- I used C++, which I haven't used in a little while
- The whole contest framework gave me a way to quantify how well the project was going
- Using real data with real movies is always neat

Not so good things:
- Because there was so much data, the nature of the project was to work on something for a few minutes or an hour and then leave it running for days. This meant at any given point in time I probably couldn't work on the project, and my computer was tied up so doing other things was painful.
- I like projects that other people can use (vanity?), but there's not much one can use about this one. I'm thinking of putting up a related movies finder but that might violate the TOS of the contest.
- Because people are so good it became pretty darn hard to get on the leaderboard.
- It was fun to play around with algorithms, but apparently you need a good idea or to do a lot of research to find a good one, which I didn't have/do.

Anyway, so like I said I'm putting this project to bed this evening. My question is, what will I work on next? I have some ideas stored up but I'm not thrilled with any of them.

LiveJournal backup - provide some way to backup all LJ posts and comments to those posts.Minus: There's already a decent way to do this, except for comments.Plus: This would be potentially useful for myself and others.Minus: I have a hard time figuring what outputs to produce: one giant page with tons of entries and comments? A zip file with pages for each month?Minus: Because of friends-locked posts, you would only want to view it on your own computer (and not publish it or anything) unless I somehow tied LJ users in with viewers of the page, which is not going to happen.Plus: Ooh, I could provide some interesting statistics on moods and such. Or even some kind of randomish text from your LJ posts. Maybe.

Some kind of World of Warcraft modPlus: I've already done this, so I have the basics down at least.Minus: I've already done this so it wouldn't be as interesting.Minus: I don't have an idea of what kind of mod would be useful - there are lots of them out there already.Minus: Developing for WoW is kind of a pain, since you have to open WoW a lot and develop at the same time, which is kinda slow.Minus: I'm already spending a lot of free time in WoW...on the one hand this means I might be using whatever mod I make a lot, but I'd also prefer a non-WoW-related project.

Adding annotations to the baseball Win Expectancy Finder graph.Minus: This project already exists, so it's less interesting to add little features to it.Minus: It's not baseball season anymore, making this seem less appealing.Minus: The main problem is coming up with a placement algorithm for annotations so they don't run into each other or the graph, which sounds pretty hard.

Add some kind of Getting Things Done style tickler list to my todo listPlus: I kinda use the todo list, and working on it might be more incentive for me to use it again.Minus: ...but I don't really use Getting Things Done stuff anymore. Without that, the todo list is pretty good as it is.Minus: Again, not a new project.

Last night djedi and I went down to Fell's Point in Baltimore for Halloween festivities. Met up with his boss and we wandered the streets for a while. It was fun! Lots and lots of people there, and lots of good costumes. Off the top of my head, I remember seeing two different Duffmans, two Homers, Mario and Luigi, the Three Musketeers (who I had seen earlier at work!), Rainbow Brite(sp?), Jem, a bag of Jelly Bellys, Christopher Reeve (a guy in a wheelchair with a Superman costume...clever or tasteless?). I even saw Aqua Teen Hunger Force! (I took a picture - we'll see how it turns out) We also saw no less than four people wearing wall clocks as a necklace - like Flava Flav back in the day, right? Anyone know why this was so popular? It was very odd...

Also, we had our first ever trick-or-treaters! Our apartment complex had distributed bags with a few pieces of candy and instructions to "hang the necklace on the door" if you wanted trick-or-treaters. We're still confused by this, as (I can't stress this enough) a plastic bag is not a necklace! But we carved a pumpkin and put the fake candle-like light giving object that came with the carving kit inside (irritatingly it doesn't stay lit up but blinks, and not too frequently either) so apparently this was enough for these parents and kids to knock on our door. (although they mentioned the thing about the necklace...)

I'm still working on the Netflix Prize - I implemented a new scheme that used both movies and users, and ran it, and it did no better than using just movies (.98 or so - stopped it before it was done). So I tweaked some of the parameters and had it look at 8000 similar movies instead of just 300. This means it's going to take like 10 days to run completely. If that doesn't work I'll probably give up for good. Oh well!

I'm feeling a bit achy and such today - hope I'm not getting sick. Might be allergies, but it's hard to say.

Saw "The Prestige" lsat night. Very good movie! Can't go wrong with Christopher Nolan directing and Hugh Jackman, Christian Bale, Michael Caine, etc. Darker than I expected, though, and it taught me not to practice magic around the turn of the 20th century - bad things happen!

All in all it hasn't been a great week, weightwise. I ate out Tuesday and Wednesday lunches (not particularly healthy) and had Indian food Thursday night instead of working out. I did a workout Tuesday evening and a short one Thursday evening. And cookie time (yay!) was yesterday.

So I thought I'd weigh myself this morning, just for kicks to see how good I needed to be this weekend. And I've lost more than a pound(!) since Tuesday morning.

This sounds good, but really it just weakens my perceived connection between how well I eat and how well I do for the week. Anyway, I'll enjoy dinner and a movie tonight more :-)

Seriously. His show is on the radio from 12-2, and I love listening to it (mostly because of his voice) so I went out and grabbed lunch yesterday instead of having soup like a good boy. I did resist the temptation today, but it was tough!

- Because they allowed for the possibility of civil unions, I've read that this means the political impact will be less than it otherwise would.
- It was a 4-3 ruling...the 3 dissenting opinions were that they should extend full mariage rights to gays without kicking it back to the state legislature!
- It looks like the opponents of this decision are going to push for a state constitutional amendment in 2007, but by then the law will have been in effect for at least 6 months and the sky won't have fallen, so I doubt it will pass.
- Apparently the plaintiffs are Episcopal pastors - neat!
- New Jersey (unlike Massachusetts) doesn't require people getting married there to live in the state.
- New Jersey is like 3 hours away by car!!

The New Jersey supreme court is going to announce their decision about gay marriage tomorrow! The ruling will come down at 3:00 EST, and it will be here after that, although the Lambda Legal site may be a friendlier place to check (I'm not even sure of the name of the case offhand). Here's hoping!

So, my best result on the netflix prize scored an RMSE of .981 on the probe set (this was using the movie correlation). My attempt to use user-based correlation resulted in a hideous 1.03 RMSE, which is still better than just taking the average of each movie and using that rating for each user, but not by much. So there is a little data in there, and this morning when I should have been showering I cooked up a little script to take a weighted average of the two results (obviously weighted towards the movie correlation one since it scored much better). The outputs were not horribly encouraging - I managed to get the RMSE down to .976 or so, but that's it. The last person on the leaderboard has an RMSE of .9597 right now, so I'm way off...

I do have one more way of calculating user correlations that is running now, but assuming that doesn't yield fabulous results I'll probably give up and reclaim my computer within the week. It's a little disappointing for it to end this way, but I did give it a good shot and even made it on the leaderboard for a short amount of time. And I had fun, and kept up my C++ skills a little. So it wasn't a waste!

Also, I've read that the movie correlation data is kinda interesting (which movie did people like around as much as Miss Congeniality), so I'll probably cook up a little script to show that data somehow. That would be fun.

I read a paper that suggests including data from IMDB about the movies (actors, directors, etc.) could improve things, but there are 17770 of them and only one of me, and I'm short on free time as it is.

Since my last jubilant entry I've fallen off of the leaderboard, and the highest RMSE on the leaderboard is .9668 as of right now, which means getting on has become pretty difficult. My latest attempt at user correlations is still running (it's a lot slower to predict ratings because it has to load a file for every prediction) and it doesn't look like the RMSE is going to be very good (1.035 and it's a little less than halfway done).

I have a few tweaks and one more big idea to try, but they're going to take time, and more time means harder to make it on the leaderboard. Still gonna take a shot at it, but I guess I'm less optimistic than I was before. Oh well.

On a random note, I was just at the gym, and a woman two down from me had the TV on to a cooking show. Granted, it seemed like it was vaguely healthy cooking, but it still seems a little self-defeating :-)

So the Netflix Prize just changed a rule - now instead of only being able to submit once a week (see my earlier screwup), starting tomorrow you can submit once a day! This is good in general, but given the progress that people are making, it leads me to believe that the contest might be over in January (the earliest it can be over under the rules). Neat that people are doing so well, but I feel a bit outclassed. At least they added more people to the leaderboard so my next submission has a shot of making it on there!

But for now, I'm continuing to crunch data. In my WoW-addled state last night I started computing the correlations between all pairs of users and storing all that data, before realizing that since there are around 500,000 users this would be 250 billion lines of data, which I don't have the hard drive space for and, given how slow file IO seems to be, would take forever. Lo and behold this morning just under 2500 users were done, which would mean it would take around 9.5 weeks to finish. So now I'm only storing the top 100 results for each user - we'll see how big a win that is when I get home. I might have to go to a probabilistic approach if even that is going to take too long (right now it still calculates all pairs of correlations, just doesn't write them all to disk). Had a conversation with djedi this morning to solidify some ideas about how to manage that data...

After work we're planning on going to LL Bean and getting a real jacket, although it's nice weather out today (high of 77!).

So my new netflix entry finished overnight and I submitted it. Unfortunately, I didn't bother to use their format checker, and there was a problem (it predicted a rating greater than 5), so I fixed that in my prediction program and am rerunning it now. This means I can't submit again for another week, which is disappointing. Maybe I'll make some more progress with user-based correlation by then...

On the other hand, I lost 1.6 pounds this week!

On the way in this morning, WAMU (our local NPR station) was doing a fund drive and they had Diane Rehm (who does a local show) talking about stuff. She's old and her voice is kinda slow and irritates the heck out of me. I eventually had to change the station. Kojo Nnamdi (isn't that a great name?) is another guy who does a DC politics show, which is always interesting, but more importantly his voice makes me calm and happy. He sorta sounds like Morgan Freeman...

(one downside of this netflix prize work is that my computer is heavily bogged down most of the time, so I don't get to check LJ, etc. as much as I'd like to...)

Breakthrough! So I've been working on some movie-based correlation ways of predicting ratings (if movie A is "like" movie B, and user U likes movie A then she'll probably like movie B). After some tweaking, I got some probe data to have an RMSE of 0.981815, which is just barely off the leaderboard (although the real data will be slightly different, so maybe I'll make it on!) I just finished computing the correlation scores for the real data (took about 24 hours of computer time) and tonight (after WoW) I'll start doing the ratings for them, so I might be able to submit as early as tomorrow.

I have some ideas of what to try next, but it's nice to see that I'm definitely making progress. It would be awesome if I were on the leaderboard again :-)