revjim.net

June, 2003:

frustrated

I am so frustrated. I don’t know why. Every message that pops up on my screen annoys me. Every time a hear a phone ring, I want to run outside. I can hear someone else’s music, just barely — some screaming country bitch and a very annoying fiddle. It’s driving me crazy. I don’t have any reason to feel this way. Yet I am having a nervous breakdown. I know what causes it: not being mentally or physically capable of doing something that I want to do.

I feel like, if I could find a basebal bat, I would go smash whatever it is playing that music. Do people not know how annoying a fiddle and screaming is when you can’t hear anything except the high pitched portions?

Either Movable Type or my webhoster is such a giant piece of shit that I had to submit this 12 times to get it to go through. This is NOT uncommon. Eventually I gave up, logged into my server and submitted it manually using a small perl script I’ve written. That script took over 45 seconds to do the job, but at least it worked.

database schema needed. please help

I’ll give 500,000 points to anyone who can come up with a database table design to handle the following functionality in a clean way.

I need to implement a filesystem that consists of both directories and files. The directories should be limitlessly nestable. There should be only one root directory. Each item should have a name, a creation date, and a last modified date. Additionally, each file item should have a mime-type, and, of course, possibly binary data. Unix style symbolic links should be implemented. Additionally, Windows NT/2000 style permissions should be implemented (minus the security holes… thanks). For any given “path” there should be one (and only one) file (or directory) that is associated. Items should be reachable by “path”. Additionally, it should be fairly easy to list all the items in a “directory”. It should also be fairly easy to list all files that have been changed recently, either for the entire “file system” or for a single “directory”. The system should be capable of holding in excess of 50,000 items.

Extra points will be awarded if the data is searchable in someway. Even more extra points will be awarded if the directories and files can have arbitrary meta-data associated with them.

Aside from these requirements, you can design the tables in anyway that you desire. They can be normalized, un-normalized, and/or optimized. You can use one table, or fifty. If needed, you can use MySQL specific extensions… but only if it is the only way. In fact, you can even NOT use a database, as long as it is fast with 50,000 items in it.

Thanks in advance!

apartment trouble update

I’ve gotten a lot of the apartment stuff taken care of.

First of all, I called South Western Bell. They agreed that I don’t owe them any money. I had them look up that specific account to be certain and they said that it was closed and paid in full last June. They are sending me a letter that states exactly this that I can use as proof for the new apartment, as well as proof for disputing the mark on my credit (because, according to them, since they account is closed, they can’t report that it is closed to the credit agency for me).

I also contacted both apartment complexes and both collection agencies.

The debt from the apartment of five years ago has been in collection for so long that they offered my 40% off my bill. I drove to their office and paid it with a Money Order in person in order to receive a receipt stating that my account was paid in full and closed. However, I still don’t agree with the reasons behind why I was charged above what we left for deposit. The manager said she would call me back in order to discus these matters, but she did not.

The debt from my recent apartment seems to be justified as best as I can tell. It’s really hard to say. I know that the prices they are charging me for the items are decent, fair prices. And I know that the carpet was in pretty bad shape thanks to our pets. So, for now, I’ve agreed to pay the amount. The new manager, Amy, was very nice to me on the phone, and actually took the time to talk to me and explain things to me. The collection agency told me that if I pay the full amount, they too will give me a receipt stating that I have done so and enabling me to move into the new place without any additional deposit or trouble.

The only problem that I have is that, in both cases, the debt owed was in a roommate situation, which means that I am only responsible for a portion of the damages. However, the full amount has gone on my credit report. When I spoke with the first collection company, I informed him of this fact and he told me that, while I can pay him any amount I’d like to pay, if the full amount is not paid, I will not receive a letter stating that I have paid my part, and the negative information will continue to be reported on my credit.

That just doesn’t seem fair. Does anyone else know how this works or what the law is here?

inklog: here we go again

The break from coding Inklog was good. I talked to my dad, one of the only people I can talk to about code and have them understand everything I have to say the first time around, and he gave me some great ideas on how to make Inklog faster and perform exactly as I want it to. Additionally, with all of the other code I’ve been writing, my mind has had time to relax and rethink a few things. It’s time to get started again.

bBlog

I’ve been playing with bBlog, an up and comming blogging engine, in my spare time. It is written pretty well and is fairly easy to use. I actually migrated my blog to that engine completely. However, I never put it online because there were a few features it lacked that I really wanted. I implemented most of those features (either by code contribution to the author, or via small changes in my local site). However, after I did that, I realized there were even more features that I wanted that it didn’t do. In looking into building those I realized that, with all the time I had been spending enhancing bBlog, I could have just been writing Inklog. So I’ve decided to stop improving it for now, and therefore, will not be using it on this site.

However, the engine is excellent. It is very flexible and can accomodate almost any style. Additionally, after all of the author’s intended features are in place, it should be as full featured as the best of them.

When it rains… it pours

Jess and I finally settled on an apartment to move into on July 25th: Tuscany Villas in Plano, TX. Yesterday, we were both talking about how excited we were to be moving into a new place and how much both really liked it. Seemingly, minutes after we had that conversation, I got a call from our leasing agent. According to her, I have two outstanding debts with two apartment complexes and a bad mark on my credit. The two outstanding debts makes it impossible for us to move in there with clearing them up before-hand, and the bad mark means we have to pay additional deposit.

The first debt is from an apartment complex I lived in 5 years ago. I lived there with three other people and I was the first to move out. To be honest, it highly possible that we owed them money, as that place was trashed. And, since my other roommates handled all the move-out issues, it’s possible that they never notified me that we owed money. The weird thing, however, is that I’ve lived in 5 other apartments, bought 2 new cars, have been approved for a credit card, and opened a cell phone account all without any trouble. They claim I owe them $700. It looks like the only thing I can do is pay the bill, and I doubt my other roommates will ever provide their portion of that debt.

The second debt is from my apartment with Brad and Jaclyn: The Mansions of Coyote Ridge. About a month after moving out, I got a bill from them saying I owed over $790.30 in excess of my $700 in deposits. Then I got another letter stating that it was $651.30. I contacted their manager. I told them that I didn’t feel the charges were unreasonable, but that I didn’t feel the services they performed on the apartment were needed. I told her that the place was spotless when I left and that I had pictures to prove it. She told me that, because the damage was so extensive, they had pictures of her own. She agreed to call me back and not turn my account over to collection until this was resolved. She never did. I contacted them again sometime later only to find that a new manager, Amber, had been hired. I left Amber at least 3 different phone messages, yet she never returned my calls. Then, one day, in order to get a credit for my Cable Modem service, they printed my a ledger showing my zero account balance with them. I didn’t bother ever calling again, because I figured that, since I had a zero account balance, they must have taken care of it and getting any of my remaining $700 in deposit back was probably not going to happen. Apparently, I was wrong. Because it’s on my credit now. I called them yesterday only to find out that there is yet another manager, Amy, who now operates the property. She told me that Amy wasn’t in and that I’d have to call back the next day (today). Additionally, she told me that she couldn’t give me the phone number or contact information for their corporate office, which is the same thing they told me the last time I asked. The very unfortunate thing here is that, the pictures I had of that apartment were on the harddrive that crashed and I didn’t have any backups. So, I don’t really have any proof of the state of the apartment when I left it except for one picture of the kitchen after it was cleaned.

The supposed bad mark on my credit is from South Western Bell claiming that I have an account with them that is past due. While, given my money management skills, this is entirely possible in most circumstances, it is impossible right now as I currently have an account with South Western Bell which they would not allow me to do if I owed them money. Additionally, when I turned on service in this apartment, South Western Bell informed me that I had $194.43 in unpaid debt to them from a previous account and that I had to pay it before I could set up new service. Which I did. So, while I most likely will not have to pay South Western Bell any money, I will have to contact them, get a letter that states that I did indeed pay my balance, and ask them to clear my name with TransUnion (as well as, possibly, the other two Credit Reporting Agencies).

I don’t know what to do about the outstanding apartment debt. I can just pay the $1300 that is owed, eat it, call it a loss, and move on. Or, I can try to renew in this apartment and fight the charges, most likely losing because, if it comes down to me having to sue them, since they have better lawyers and I have no proof. I can continue living here, and just not pay the bill, but it will continue to haunt me from apartment to apartment until I take care of it. I can try to find a place that will let me put down a very large deposit in order to forget about my outstanding debt, but, even then, the trouble will still follow me.

What should I do? Are there any other options I’m overlooking? Is there anyway to fight this? What would I do if I didn’t have $1300?

One thing is for sure. Even the little bit of information I happened to post in my journal in regard to these things has been very valuable in figuring out what happened when and how. I need to post more of the mundane, day-to-day activities of my life here, in case I ever need to refer back to them.

When it rains… it pours.

Hip Pocket Theatre

Jess and I are going to see A Connecticut Yankee in King Arthur’s Court this evening at Hip Pocket Theatre. If you’re interested in coming, give me a call. Or just call them and make reservations, and we’ll see you there.

Calling all Cars… err.. database gurus

If you know anything about database design, I’d appreciate your help for a minute.

Imagine I have a table with these fields: id, parent_id, data. It holds data arranged in a tree. The tree can have an unlimited number of branches but only one trunk. I would like to add a permissions mechanism to this data. I would like to be able to assign arbitrary permissions to arbitrary users. Additionally, I’d like the permissions closer to the trunk to propagate to the limbs that branch from it, unless it is overridden. In other words, if, at level 1 in the tree, I set “READ” permission for user “JIM”, then “JIM” can “READ” that item, as well as any item that branches from it unless that branch happens to have “NOTREAD” permission set for user “JIM”.

What’s the best way to do this resulting in the cleanest operation and requiring the least number of database calls?

There are three types of operations related to permissions that I would like to be able to perform. 1) Get permissions for a specific user for a specific item. 2) Get a list of all items for which a user has a specific permission. 3) Get a list of x number of items for which a specific user has a specific permission.

You can create tables. You can alter my exiting table. Anything is acceptable.

Please provide database structure and pseudocode.

Thanks in advance.

Learning to Fly

I’m not perfect. I never have been. I probably never will be. Yet I continue to require perfection of myself. I set my goals too high. I demand nothing but the best and I won’t settle for anything in between. I become frustrated when I desire something that my mind cannot comprehend, or create. Instead of giving up and assuming that what I desire is impossible, I let it eat at me.

Imagine that I desire to fly. At first I think it’s impossible. Then I think a little more and decide that maybe it is. I consider building a set of wings and flapping them vigorously like a bird. But I don’t know anything about wings. And my friends all think I’m crazy, so they’re not even willing to provide insight. And even if they were, they don’t know anything about wings either. So I research. I study birds. I study how their wings are made, how they flap, how they soar into the sky. Then I make my own pair of wings. As you remember, however, I don’t know anything about wings. So I fail. And then I try again. And I fail again. And finally, I get something that works. It isn’t perfect, but it works. I put them on, and flap as hard as I can. And I fly…. about two feet off the ground before I realize my arms are very tired and that I’m not going to get very far this way. I try to make the wings lighter and more efficient, so I don’t have to flap them as hard or as fast. I succeed slightly… but it isn’t enough. I decide that I need a mechanism to flap the wings for me. Some kind of motor. But I don’t know anything about motors. And, since my friends all think I’m crazy, they still aren’t willing to help. So I study motors. I study mechanics. I study physics. I figure out how to build a self flapping wing. But now, my once simple wing construction is a very complecated mess of gadgetry. So complicated, that it would take so long to build, that it isn’t even worth it. Especially since, in the end, it might not even work. I build it any way… or at least start to. But the further I go, the more I realize that this flapping mechanism will require far too much gas to operate. There has to be another way — a better way. But, by this point, people don’t just think I’m crazy, ranting everyday about how I will fly soon — they KNOW I am. And they aren’t willing to waste their time to help me discover a better method to propel myself. And everyday hang-gliding looks more and more appealing. But inside, I know it isn’t the same as flying. It isn’t the same at all. And I want to fly. If I could just clear my mind enough to think through this, I’m sure I could come up with a better way. But my mind is so clouded with frustration, and failure, and the idea of future failure.

I’m learning to fly, but I ain’t got wings
Coming down is the hardest thing

–Tom Petty

One day, I’ll realize I can’t do it. And then the frustration will end. But not before I am forced to come down.

Perfectionism

Perfectionism is a disease. It is a plague consuming all of my thoughts. It is a barracade that leads to procrastination, fatigue, and mediocrity. If only I could settle for “who cares”.