Thursday, March 29, 2007
Sidewalk connoisseur
And my goodness, I thought the sidewalks between my current apartment and Microsoft were bad enough, but the sidewalks on the way to and from my new place are abysmal. There are holes in the sidewalk, months' worth of dead leaves and tree parts, and mailboxes right in the middle of the sidewalk. It's bad enough that it's basically all uphill from my new place to work; I went through three quarters of a charge on my brand new battery with just one trip yesterday. I've tried both sides of every street by now, and neither is any better.
The day that everything broke
Now things over there are looking much better, and I got the thermostat working now after dismantling the thing to paint the wall, so it's not 51 degrees in there anymore. But yesterday was still kind of depressing.
1. Two more lightbulbs broke in a span of about 45 seconds at the new place. I don't know yet if it's just an effect of damage they received earlier, but the timing is suspicious. The electrician is coming back to run some more tests and find out what the hell that first person did. Now I'm wary of plugging anything into the walls.
2. The display on my portable music player stopped working. Apparently the LCD is fine, but the connection is screwed up; it doesn't even work when plugged into an external display. This makes it particularly challenging to pick what I want to listen to. I guess I'll need to sync just a couple playlists, and remember what order they come in alphabetically.
3. Then, finally, after working frantically all day to meet a deadline, and then skipping dinner and heading over to the new place to get as much painting done as I could, I returned home to no internet connection. The cable went out in my apartment.
Sigh.
Wednesday, March 28, 2007
Movin' it
I realize that's all within a reasonable margin of error, but I think that just helps to prove that the human body is BS.
Monday, March 26, 2007
Pop
Sunday, March 25, 2007
Disturbing coincidence
A solution
The solution, then, to my problems with memory, is of course to just be constantly brushing my teeth. I could be like my aunt, whose dentist told her to stop brushing so much because she was wearing away her enamel. I'd have even more painfully sensitive teeth, and a glass of cold water would become even more of a terror-inducing thing, but on the bright side my breath would always be fresh, and I wouldn't be forgetting important things anymore.
UPDATE: Quite ironically, I posted about this tendency over two years ago, though not about my state of heightened memory effectiveness when there is a toothbrush in my mouth. Clearly I should have started posting before rinsing, and then I'd have remembered and deleted my post.
A terrible realization
I think I've become a 24 fan.
I only set it to record to see what it was like. I had watched an episode before but it made no sense. I wanted to see the first episode of this season. I only made it through the first half hour or so. I thought I was safe. Then, a week or two later, I finished the episode. I was then going to delete the others that had recorded.
But I didn't. And somehow a few days ago I found myself watching another episode. I kinda liked it.
And tonight I just watched five in a row. And I really liked it.
Friday, March 23, 2007
Handshakes aren't that complicated
Currently listening: Delerium—Lost and Found
Thursday, March 22, 2007
Packing respite
Currently listening: Basement Jaxx—Oh My Gosh
Cinematic coding
I've had a widescreen monitor for several months now, and I've decided that I rather like it. I wasn't sure if I would. But overall, the benefits outweigh the downsides.
- It's great for games. The extra horizontal real estate is really helpful, allowing me a more unobstructed view of the playing field. Luckily, I'm very late to the whole widescreen revolution, so other people before me have already dealt with the badly written games that only support hardcoded resolutions.
- It's great for TV and movies. Going from my old 5:4 ratio (that's right, not even 4:3) to my new 16:9 ratio screen made a huge difference in the number of pixels that can be used to display widescreen shows, even though the actual monitor size is only a few inches larger.
- It gives me most of the benefits that I'd want from a dual monitor setup without the pain. I can keep a web browser and Excel side-by-side, or two separate code files on screen at once.
- My main problem is that maximized windows are now really too wide to be useful. Paragraphs of text fit on one or two lines. So, now I don't maximize apps like Internet Explorer, Firefox, or Word. They're just too wide to read effectively.
A+++++ WOULD BUY AGAIN.
Recoloring
It's surprising to me how long it took to paint those couple walls. The walls are... complicated... with all their windows and nonremovable gadgets.
An electrician is coming tomorrow to replace all of the outlets in my kitchen and bathrooms with GFCI outlets—the ones with the two buttons in the middle. They're a safety feature that protects you from water-based electrocution. I figure if I'm going to accidentally kill myself, it should be for something less stupid than using a wet hair dryer.
Back at my current place, I'm packing stuff up. I have maybe 20 boxes packed up right now. There's not much else that I want to pack at the moment... I still have to live here for a while until the new place is painted, has internet access, and my big furniture like my bed is moved there. Perhaps I could pack up that blender that I've never used, though...
Currently listening: Kara's Flowers—Oliver
Wednesday, March 21, 2007
Immersion
Though I do spend a pretty notable amount of time each week playing games, it's not much as I would in a perfect world, so I tend to focus on games I know I'll like—sequels to games I've liked in the past, and new games from developers I respect. I tend to get into a rut that way, but it's a happy rut.
For the most part, the games I've been playing recently have been overwhelmingly good. But a few haven't done it for me.
The first that comes to mind is Space Rangers 2. It's a fun game, but it really doesn't hold my attention for very long. I intially thought that it would be a perfect tablet PC game, and perhaps it is, but I never use my tablet. After your first few hours, it's only fun for 30-60 minutes at a time, and that's not enough to keep me amused.
But probably the best example of this is Guild Wars. I don't quite know why this game just doesn't quite grab me. I think that there's a lot of good game in there, but it's hidden by quite a few problems that keep me from enjoying it. It's an absolutely beautiful game (and Guild Wars Factions is even prettier), perhaps second only to Oblivion out of games I've played. Each class has a different feel like a good RPG should, the environments are varied and interesting, and the game has a bunch of innovations that make it fairly unique. The combat is fast-paced and not your standard RPG fare, and there's little downtime required between fights to rest up and heal. But it just can't keep me interested for more than a few days. I think I've identified at least a few of the reasons. The first is that, while there's a lot of questing to be done and the game feels as "finished" as it should be, the player-versus-environment (PVE) content feels like it's just an excuse to make a player-versus-player (PVP) game. Also, the gameplay elements exclusive to the PVE game (excepting things like quests and storyline) are kind of weak. You never, ever find any interesting treasure, for once. The best you come across is some rare item that unlocks new items on your account for PVP characters you create, and just about everything else is components that you turn in in town for new armor. At first glance this seemed great because it avoids randomness, and it's what World of Warcraft is trying to move toward in certain areas, but it removes one of the awesome little parts of a good RPG: a steady stream of cool new treasure. I hate to say it, but there's something to that frustrating randomness that you get from hoping that each monster you kill has some rare shiny thing that you'd look great in. Finally, Guild Wars isn't very forgiving. Death is about as bad as it is in Diablo II—your punishment is walking to where you were before, with a strong penalty to all of your stats. If you die again, the penalty keeps getting worse, to the point where you're far too weak to do anything and have to start your mission over. It's real-time online, so there are no savegames to help keep you focused on what you're doing and reduce the stress of a difficult quest. Guild Wars focuses everything it's got on the combat and beautiful environments, and it does those things well, but seemingly at the expense of the core things that I'm looking for in an RPG.
Another game that failed to grab me that I really hoped would is the most recent Monkey Island game, which wasn't even written by the original author. A Monkey Island adventure game needs three things: an interesting story, interesting puzzles, and great jokes. This game had none of those things. As much as I tried to pretend I liked it and force myself to play it and immerse myself in the game, I couldn't. It's just not good.
Luckily, though, those are the exceptions. I've played so many captivating games recently: Oblivion, Dawn of War, World of Warcraft: The Burning Crusade, Heroes of Might and Magic V, Splinter Cell: Chaos Theory... It's just about the greatest feeling in the world to me. Here's hoping that Command and Conquer 3 is as excellent as it looks.
Tuesday, March 20, 2007
The dust is killing me
Stupid allergies.
(Wow, this is my 1600th post.)
Saturday, March 17, 2007
Juicy cafeteria gossip
Those stubborn stains
Star Trek purists will probably note that Sto-Vo-Kor is the "good" afterlife, and the "bad" afterlife that I was actually thinking of is Gre'Thor. I had to look that up in Wikipedia. What's your excuse for knowing that?
Friday, March 16, 2007
White male landowner
I hold in my hands the keys to my very own place. Well, I was holding them earlier. It's hard to type with keys in your hands. Of course, the credit union kind of owns much of it, but that's beside the point. It's mine. No more rent checks; just crippling mortgage payments.
Tomorrow I can start painting the place. Tomorrow I can look for all of the things that the previous owner left behind and legally became my property yesterday. Tomorrow every little imperfection in my home will become glaringly obvious. Tomorrow I start learning just how badly I need to buy a couch.
Currently listening: Amon Tobin—Big Furry Head
Thursday, March 15, 2007
Success
Now I'm poor again.
Currently listening (fittingly): Newsboys—Million Pieces (Kissin' Your Cares Goodbye)
Wednesday, March 14, 2007
Down to the... wire
- Last Friday evening—I place an order to liquidate all of my stock.
- Monday 10:00—My order is executed. I now I have >$30,000 sitting in my Fidelity account. Ready to go, right? Ha. Yeah, that's what I thought.
- Monday—My funds are an "unsettled trade" and can't be withdrawn yet.
- Tuesday—My funds are still an unsettled trade. I begin to get nervous.
- Wednesday 1:00—My funds are still an unsettled trade. Today I had my signing appointment with my escrow officer. I don't have the money yet. She gives me bank wiring instructions and says that they need the cash by tomorrow ASAP. Eeek.
- Thursday 10:00—Fidelity says my transaction will be finalized and the funds will be available for withdrawal.
- Thursday noon—This is the deadline for when Fidelity can make a same-day wire transfer of the money.
- Thursday afternoon—If the escrow company doesn't have my money by then, I can't buy the home. I get chills just thinking of all of the extra documents and fees and time that would be required to correct for that. The seller can probably back out at this point too if she is so inclined.
- Friday—Closing day. I get the keys. The place is mine! Or, if things didn't go so well, I weep uncontrollably.
Nickel and dime and forty-fived
Tuesday, March 13, 2007
The Power of One
Monday, March 12, 2007
Damned lies
As I see it, there are a lot of different types of lies.
- Saying something that isn't true with the intent to deceive
- Saying something that is true but with the intent to deceive
- Dodging the question
- Unintentionally saying something that isn't true but you thought it was
- Saying something that isn't true but it used to be or you changed your mind
- Saying something that isn't true but you said is in a joking or sarcastic manner
I think I've listed them in roughly decreasing order of severity. The first one is essentially the definition of a lie, and the same category in which I'd lump fraud. Just about everyone would agree that that constitutes a lie. The second one isn't necessarily a lie—it's true, after all—but it was said with malicious intent. I think that the most important characteristic for whether or not I consider something a lie or not is that element of intended deception. I don't count it as a lie if there was no deception involved, and the more deception, the worse the lie.
Those are just my opinions. People differ a lot on what they consider lies, and how bad they rate each lie. My mom considers sarcasm lying, for example, and I don't.
When I was younger I used to lie more than I should. I was smart about it; I wouldn't lie when I knew I'd get caught. There often wasn't even a reason; I just did it for the fun of doing something wrong. Most of my lies were of the "technically true but intentionally devious" variety, but there were certainly plenty outright lies too. As I got older, I began to respect honesty as a human quality, and after a while I decided that lying wasn't really all that fun anymore, so I stopped doing it.
I mean, not entirely... but for the most part. I even keep honest on this blog. I embellish from time to time, filling in gaps in stories for which I can't remember all of the precise details, but my intent here is not to write fiction. If I were writing fiction, I'd write about a more interesting protagonist, that's for sure. Right now the situation in which I lie the most is when someone has invited me to some kind of social activity and I don't feel like going; I usually find myself making up some kind of lame excuse. I think I do it to spare the person's feelings, but I'm invited to far more things than I'm interested in participating in, and I should just be honest there too.
One thing that's tough for me is to reconcile privacy and secrecy with honesty. Despite sharing my every thought with the tiny corner of the internet that is mildly interested in them, I'm still a very introverted person. Staying honest on this blog helps me deal with that, but still I value my privacy. A couple of my friends are downright cryptic in their interactions with me, which I see as an instance of the same thing—preserving both honesty and secrets by maintaining privacy. It's strange, and it annoys the hell out of me, but I do the same thing myself.
Currently listening: Dennis McCarthy—The Nexus / A Christmas Hug
Sunday, March 11, 2007
What?
I'm not sure exactly what my problem is. I do have significant troubles picking peoples' voices out from other voices. But I don't seem to have any problems hearing faint instruments, rhythms, or other musical constructs from a complex piece. And, my overall hearing is just fine; it's not like I need people to raise their voices when they're around me.
It's got to be more of a software (comprehension) problem, not a hardware (ear) problem.
Saturday, March 10, 2007
Worst package ever
Today I got a box of documents from the title and escrow company to read through and sign.
About 160 pages. These are not the same documents as the resale certificate, though admittedly there was some overlap that I didn't reread.
I'm sick of stacks of paper. Worst package ever.
Wednesday, March 7, 2007
The name is misleading
In this particular case, the point of no return is about 150 pages long. I need to read through it and make absolutely sure that it's a place I'm going to want to move into. After accepting the certificate, the final steps in the process should just kind of roll along without too much more effort on my part. Lots of money will change hands, I'll sign more papers, and suddenly I'll start worrying about paint colors and moving boxes instead of legal documents, and I think that that will be a nice change.
They call it a certificate, but it's about a hundred and fifty pages. When I think "certificate," I think of a single page of paper with a decorative border and the word "hereby." I don't think of a chunk of paper thick enough to leave a bruise.
Tuesday, March 6, 2007
Very soon
From what I understand, there's very little left. I may be able to take ownership as early as next weekend. I won't be moving in immediately, though; there are several things I'd like to do first, like repainting the interior, and getting blinds and curtains so all my worldly possessions are not on view for the entire world to see.
But it's all going to be very soon.
Monday, March 5, 2007
The Prestige
The Prestige—8/10
I recently saw The Prestige, and I thought at first that I was going to dislike it. It's actually quite a good drama, with just a teensy aspect of fantasy. Actually, I'd say that it's great, but certain parts rely a bit on the audience not knowing all of the details of the story, so once you've seen it once, I'm guessing that it's much less entertaining the second time around, in the same way that The Sixth Sense is quite an entertaining movie, but not as fun on your third viewing. But, besides those little plot secrets, Prestige is well-written and well-acted, and I enjoyed it a lot. I don't even want to mention anything about the plot of the movie, because that's what made me not want to see it in the first place. If you really want to know more about it, you know how the internet works...
If you haven't seen it yet, I highly recommend it. A first-time viewing is a solid 9+/10, but probably drops to about 6/10 the second time around, so I give it an average of 8.
Objects add traction to a slippery slope
Almost all of my spare coding time in the past few months has been in Lua, a scripting language. There are a few things I love about it. I love how clean and expressive certain things about weak typing can make code. I love how functions can have multiple return values. I love how it combines VB's lack of semicolons yet still not care whether or not you have line breaks like C. I like how hashtables are first-class language constructs. But there's a lot that I hate about it. I hate that it isn't object-oriented. I hate that it isn't strongly-typed. I hate that it's a scripting language and still is case-sensitive. Et cetera.
After having developed in Lua for quite some time now, on probably the biggest scripting project I've ever undertaken, I've come to the same realization that just about everyone comes to: using a scripting language is a slippery slope. You find yourself more and more accepting of weird constructs that you normally wouldn't allow. My scripting project needs to manipulate command line arguments. Normally I'd write (or plug in) a class to parse the command line arguments and keep the code clean. But Lua doesn't have classes. You can kind of fake it like you can in JavaScript (you sort of make your own vtable), but I really don't like the way the code looks. So my command line-parsing code in my project is just a string of if statements.
if Command == "ids on" then
...
elseif Command == "ids off" then
...
elseif Command == "debug on" then
...
It's gross. But trying to fake OO in Lua would result in a bunch of differently ugly code. And really, those if statements aren't hurting anything.
So now it's okay to just have a big string of if statements as your command line parser. If that's okay, what else is okay? I have to be ever-vigilant to make sure that the code stays acceptable. Suddenly, the quick and easy scripting language starts requiring more effort than a "big boy" language. The fact that the language doesn't easily support writing code in the better way practically forces you to write crappy code. The Lua code seems to just gravitate toward mediocrity.
And, it's harder to improve the Lua code over time than in non-scripting languages. Refactoring is horrible... if you can't do it with Ctrl+H you probably shouldn't. Renaming variables is risky because if you miss just one instance of MyVariable and it stays MyOldVariable, you end up with two, both implicitly defined because you can't declare variables in Lua (except to scope them). The same problem exists with functions. It's perfectly valid Lua code to call MyFunctionX() from anywhere you like, without ever defining MyFunctionX(), because, you know, maybe someday you'll define one. You won't even find out until you try to execute it. Argh. I hate scripting languages.
Sure, it's at least somewhat a comfort thing. Maybe with a couple decades of Lua experience (shudder), and a big bag of best practices, I wouldn't complain anymore. I would probably learn to accept the creepy hacks that give you sort-of-OO support in Lua. But for now, the things that are supposed to make Lua "easy" and "friendly" are making it difficult and hostile. It's something that you're supposed to just "know" as a principle of programming languages, but I'd never really experienced it until now. My past exploits in scripting languages were limited to a couple pages of code at best, so these sort of things never really cropped up as big problems. (And things that normal people would write script to do I would write "real" code for out of my hatred of script.) I knew the pain of debugging script, but hadn't experienced the slippery slope and how it becomes harder and harder to write good code. It's probably a good lesson to learn first-hand. But it's a painful one.
Actually, I think this lesson can be generalized to something else I've been thinking about recently. Developers (or at least me) tend to avoid programming paradigms that make it seem like the language is fighting you back. When languages feel like they're working with you instead of fighting you, you write better code. To me, a language feels like it's working with me instead of against me when the code I'm writing is clear and concise.
It's often advised to create all of the objects in your programs through class factories, or at least static factory methods. But people don't do this, because using class factories for simple operations makes your code uglier and less readable than just using the new operator. If languages made class factories first-class citizens, and the resulting code wasn't so needlessly verbose and weird, people would write better code.
I think this post has rambled enough for now.
Friday, March 2, 2007
A hallway you can sleep in
It's 23 feet by 8 feet.
In one direction, it's one of the biggest bedrooms I've ever seen. In the other, it's one of the smallest. It's just odd. A friend remarked that it's more of a hallway that you can sleep in. Eight feet is just barely enough room to fit my bed. (The place was clearly not designed for a king-size bed.) Since there are heating vents on both sides of the room, my current plan is to place the bed parallel to one of the short walls, a couple feet from the wall. It will look weird, but functionally it will be fine.
The den area is a little small too. I'll probably end up using my current computer sound system as my main living room TV sound system, and then getting something new and smaller for my PC. Since I'll no longer be using my computer as the sole source of entertainment for the home, it's not really necessary to have such a nice sound system for it, I suppose.
The living room will be nice. I haven't really had a living room since moving out here. I'm excited about moving. My closing date is set for three weeks from today. That seems both like a very long time away, and also like it's almost here.