Saturday, May 06, 2006

Overload

I'm just working on too many flippin' things right now. Here they are, in no particular order. And these are only what's at the top of my mind: there are more that I just don't remember right now.

A. Install Debian on a computer. After watching the boot sequence of In The Groove 2 at Bird Bowl I know now what I must do. It's probably a brute force option to get my stuff in there... there's likely a cleaner Buffer Overrun method to do it. BUT since a full reset means holding it unplugged for 10 minutes I'd rather not keep doing it over and over and over. And with a laptop it'd be simple to keep adjusting the vulnerable file, I just don't think I have all the time I'd need to get it done in one sitting. Plus the screen sucks, and the battery life isn't what it used to be. I might not ever purchase another laptop, to be honest. Or at least not spend more than a few hundred bucks on it.

Anyway, I hooked up my USB keyboard and I tried a bunch of keystrokes and it didn't work. BUT when it rebooted I was able to get into the BIOS and enable USB keyboard support. I just didn't know enough about linux to abort the boot sequence (everyone says look for a LILO prompt, but there wasn't one... it's ok because it can be set to not appear from what I understand). Now, if I can get into BIOS, I can set the boot order. All I gotta do it set to boot from the memory card first before the hard drive. So, assuming the memory card has a bootable version of Debian on it I can kick start the machine with me as root (which is true, since it's root of the USB drive), mount the physical hard drive and, assuming it isn't encrypted, I'll have access.

The mission now isn't really to put my stuff in there: it's to remove the extra crap these guys put in there. The arcade machine has been lagging a LOT. I believe this is because of a poorly programmed system. Now, on a home machine with 1 Gig, holding the complete songlist with ONE high score per stepchart you can slam however much you want in there. Dedicated hard drive? Dedicated video card? Less stuff for the CPU to worry about. Good performance with any number of songs.

Now, ITG2 has 256 Megs of RAM. It has embedded sound and video. The CPU is fairly weak. WHY? Because it doesn't have to be a big super-computer. To do the complete ITG and ITG2 songlist, that's all they need. It was never designed to let users upload their own stuff to it, except maybe an edit.

From a programming standpoint, if I was presented with a programming challenge to allow any number of songs, I'd probably cast judgement that a song folder cannot contain more than N songs, and that there are an unlimited number of folders. And users are allowed to switch freely. When they switch folders, the program would save current stats to the hard drive and load the new song list. Then they would ask "well, we want to sort ALL songs regardless of folder" and I'd say "well, I don't recommend that because to avoid expensive sorting calculations on large lists I'd have to cache all the songs in memory anyway" and then they'd say "Do it realtime" and I'd say "it's expensive. You're looking a second to reproduce the sorted list on each request. A second doesn't sound like a lot but in computer world it's very expensive and the end user ALWAYS notices." and they'd say "you have 2 hours to make it happen."

It's business. Doing things the right way is very expensive. I havn't looked at the Stepmania source so I don't know EXACTLY how they manage it, but it's probably a tree in memory. If the songs of the arcade machine were to be frozen (as in, no new songs, no unlockables, FOR REALS YO) I'd probably "fake" the sorting by making a few text files with the pre-sorted lists. But the obviously dynamic mode Stepmania has to be memory. MAYBE they make text files dynamically and update them only when there's a change in the song list. Who knows. BUT if the addition of 25 new songs to a machine that obviously has the space for it (40 Gig HD) is there and the game starts lagging and stuttering 10 minutes after boot then there's obviously a problem.

Then again, maybe someone put a virus in it. Maybe there's another task that's been uploaded to it. Maybe it's calculating digits of pi for fun. Maybe it's achieved sentience.

My project to add songs is dead (I think), but considering the attendants don't know jack about the internals and aren't likely to want to fix it I might have to do some famous Vigilante Justice.

Now, the proper problem is that I can't install Debian on a machine because I don't have a spare one laying around anymore. It's in storage. I have parts to make one, but no spare IDE cables. No monitor to hook it up to. I have a video card with TV out that I hooked up, but it turns out THAT card doesn't roll over to TV output if there is no monitor attached. Or it's just mad I detached it's heatsink. Quit whineing. Yes, I have everything I need. No, I don't want to go through storage to get it. I need to move.

B. (yeah, B.) I need a new job. I spent three out of five days this week absolutely hating it. I havn't had a new project in a long time, I'm just fixing old ones. I'm getting hammered for not getting it done fast enough, but I need to look at the WHOLE ESTABLISHED system before I figure out what it's supposed to do and then finding out where, in reality, it isn't doing what it needs to. Not my projects is one. Not having any documentation to work with is two. Having NO SUPPORT is three. I did a little something for one site to add a feature. No biggie. THEN one of the older features broke. Or, rather, has been broken. I was immediately shoved under the bus by my boss, leaving me to fix a system I wasn't supposed to look at, let alone fix. So I go and fix it and then install it live and it's STILL not good enough because the API available on the live server is old and doesn't support any of the calls I made.

(insanity)

It didn't have to be so hard. "Erik, here's the code accounting. And here's what's installed on the server. If you need something, please install it." I look at the list, I make a beeline directly to the section of code I need to be in, make the fix, install the update, publish. It took me two days to do something that should have been maybe 3 hours max. Only because everone INSISTS on keeping me in the dark about everything.

I have a suspicion that this is completely intentional. If everything I touch turns to shit, it's easy to deny me bonuses and raises and vacation time. It also makes me lose faith of the clients. It's not my project so these clients never even heard of me before. From their perspective, I touched their project and I fucked everything up. The reality is that it was ALREADY fucked up and it didn't fail before only because nobody ever clicked here or typed that or whatever. I got a really nasty email from one client that I let her 5 year old site get hacked. All I did on her site was fix a typo in a NON-CODE section of the site. I know the clients are all mostly insane, but with the loss of confidence I also lose potential professional references with which I can get a better job.

The professional world... dog eat dog for sure.

Also, the company's gotten a subpoena from all that tom foolery with the internet kiosk business. We didn't do anything wrong, except the salesman who seemed "in" on it and who never really put his head into the project. Most of the time it was us, the support people, sandwiched between clients and the company that sold the damn things. Company told the client's it's our fault, we can't place support requests, etc etc etc. I probably shouldn't be talking about it, actually, so... meh. I hope I don't get called in for testimony. Not because I expect to be grilled, but because I'd have to wear nice clothes. Bah.

Honestly, I don't know if they want me to quit or if they are sizing me up to be let go. The programmer they let go came back and he's willing to put in 15 hour days and I'm not. I feel like an american strawberry picker getting bumped aside by the mexicans willing to work more for less.

C. Place to live. This is even harder now that my job is in question. Right now if I had no job I've got enough reserves to live comfortably for many moons, still paying off my bills. Thing is it won't be very comfortable since I'd get yelled at on an hourly basis by my mother to "just get a job doing anything." She's just amazingly ignorant of how the industry works. 2 years of web development experience means you're a good candidate for... web development. I'd rather be in systems development, firmware, things like that. Serious things. But it's hard to get in, especially since I've got pretty much 2 years of non-work in the eyes of a hiring agent for those apsects. If I move and my job goes to pot, I might not be able to find new work for a while. After the expense of a move I wouldn't have very much to live on at all. I'd be looking at getting evicted, having my credit ruined, etc etc etc. The potential to just collapse and die is very high. I'm gunshy.

D. Do some side coding. I've got ideas in my head but I just never seem to have the time to get it done. And it's easy to see how I'm not motivated in it: I'm already pulling full workdays coding... only to go home for the weekend and code some more. And programming is fun kinda sorta. It's more fun just planning it and "having it happen". All the reward, none of the fuss with the details. Meh. 'Tis the life chosen.

E. Clean my living space. I'm a piggy packrat.

F. Dig up a PS2 for Guitar Hero. Fuck you, JACON, and your game room that impressed me enough that I wanted to pick up the game. GRRRR

...

This post is an overload.

0 Comments:

Post a Comment

<< Home