Vadim's Journal
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 10 most recent journal entries recorded in
Vadim's LiveJournal:
| Thursday, May 20th, 2004 | | 9:46 pm |
ATC rocks!
Yep, it's Air Traffic Control, the old text-mode UNIX game. I finally found the source and a machine to run it on (my roommate's I-Book running OS X - I am impressed at the virtual lack of effort required to port it over (except for having to manually parse one of the game files, because the system didn't have the source for lex and yacc, which the game wanted to link with (Why would someone write a game that links with compiler tools, anyway?))). It's every bit as good as I remember. I can feel my brain waking up. My short-term memory is expanding. I think this is what I've been looking for to recover the clarity of mind I once had, now all but exorcised by the years of fruitless academia. Yay! | | Tuesday, December 2nd, 2003 | | 2:54 pm |
Interrupts
Just tracked down the source of a major component of my general apathy. Still not sure what to do about it. When I get interrupted while doing something, the "interrupted context" stays in my head, usually until I come back to it (to resume what I was doing or to decide that it no longer needs doing). The context consists of some basic information about what I was doing and a nagging "I am supposed to do something" feeling. If I get interrupted while handling the first interrupt, I get another of these contexts, and so on. Alternately I can decide to continue what I was doing and deal with the interrupt later, thus generating a context for the interrupt itself. Ideally I would then deal with all of them in order of priority until there are none left. In case of writing code, this happens a lot, as while handling a corner case it will occur to me to double check the handling of a similar case elsewhere, or I will find another corner case to be handled later. Those realizations, of course, generate interrupt contexts in my head that stick around until I follow up on them. If I get sufficiently distracted, however (such as transferred to another subproject) I may forget all the information that went with a context, but the associated feeling still remains. Working for Pinnacle, I get transferred or hurried along quite a lot, and almost never get a chance to go back and finish what I started. Having worked here long enough, I have so many instances of that "bug left behind, but don't remember where" feeling floating around my head that I have almost learned to ignore them. Almost, because all those instances do still combine into a distinct impression that my project is a hopeless mess, which I have no idea how to even begin to clean up. On the other hand, I have become so used to having all those half-forgotten contexts around that the habit of trying to ignore them carries over to my life in general. So whenever I don't have time or energy to deal with something (such as important paperwork) it just gets added to the pile, until I get the general impression that my life is a hopeless and unfixable mess. | | Monday, November 3rd, 2003 | | 5:18 pm |
| | Friday, August 8th, 2003 | | 7:33 pm |
It plays!
Yep, you hit the PLAY button in the third party app, and sound comes out of my hardware! (Mind out of the gutter, perverts!) I was shooting for 2..3 millisecond response times, but apparently I can't maintain anything below 10 (Since Windows threads can't be trusted to wake up in less than that, or I don't know how to make them. Yes it's already at TimeCritical priority in RealTime class, and that's not enough.). Still, my boss is happy, and 10ms is within spec, and I made it this far in one piece so I'm happy too! So I climbed a ceiling support pillar in the office to celebrate. Dropped my glasses from four meters up, when my boss hung up the phone and glanced over. No, I'm not crazy, why do you ask? That's what the pillar is there for, you see -- why else would it be located square in the middle of the walkway between two rows of cubicles? By the way, have you ever seen a cubicle farm from above? It's a major eye-opening experience, I tell you! Meanwhile, it seems I am a lot more extroverted than I thought, at least by the recharging state definition. I got to talk to an ex-coworker from three years ago that just came back, and now I'm feeling all bouncy. And this is not an isolated incident, either. | | Tuesday, July 22nd, 2003 | | 4:10 am |
Where did it go?
I have code to write. I have a general idea of what I must do and why. It's not getting written, because I am off sulking in the corner. I can pull up my project again, look at the SDK and headers and half-finished objects, and then all I want to do is lie down and die. The task is pretty straight-forward, and I am definitely intelligent enough to figure out the bits that aren't. It is not overwhelming, unless you define overwhelming as anything that takes more than a day to code up. I think I would feel overwhelmed by ten minutes' worth of work right now. Building the abstract design is ok. Coding it up is nauseous, physically painful. Is this doable? Yes. Do I know how to do this? Yes. Can I do this? Yes. Let's do it. Pain.What happened? I used to look forward to this stuff. I used to be good. I used to love code. I still do, just not whatever particular thing I am working on right now. I wish I could suppress all my feelings and just plow on through this. Make the deadline, then deal with my psych problems. But no, I must be creative to code, and creativity requires feeling. And all I feel is the pain and helplessness in the face of this big hulking dinosaur of a project, even though I know in my head that it is really a kitten. Am I just lazy? In all my years as a programer, I've almost never had to code when I didn't feel like it. Back in school, I would start a two-week project six hours before it was due and code nonstop until it was done, and man, I was fast. And as much as I hated busywork even then, I enjoyed those coding marathons, because during those last six hours I was motivated. And at work I could take on a module that I knew would take a month to build, and bang away at it until it was done and it was good. I enjoyed that too, and I never asked myself "what's the point?" or "can I do this?" Can't I do that again, just once? I reach into the part of me where the inspiration for code comes from, and I see the middle finger staring back at me. And instead of working on it, I am writing a LiveJournal entry while the clock counts off the minutes and the hours to deadline. Maybe I can work without creativity. It seems many people do that all the time, the corporate drones. Instead of writing what I think fits best, write what I think others would. How would my boss handle this function? It hurts to think like that. Maybe I don't want to write this code, but I do want it to be done, and I want it done my way. Fast, safe, graceful, a little cryptic. I don't know how to be a drone. Or maybe I know how, just don't want to, and am not good at it. And it hurts. My ghod, does it hurt. Makes me want to curl up and cry until morning. And then I will hate myself for wasting yet another night wallowing in self-pity instead of working. But in the face of a deadline, pain is okay. Crying is okay too, as long as I can see what I am typing. Wanting to die is okay too, as long as I don't actually die. So is wanting to lie down and close my eyes for a while. I don't always get what I want; this is one of those times. Hate may damage me, but I can deal with that when I'm done. Code will flow, dammit, and I can fall apart later. Current Mood: ParalyzedCurrent Music: tick, tick, tick | | Tuesday, October 22nd, 2002 | | 12:28 pm |
spaghetti code
Why oh why do I have to write ugly code? Because I can't do this any other way, that's why. DirectDraw on one side, editing pipeline 5..40 frames deep on the other, and the user can always switch window size and colorspace... You try getting anything done without checking if your surfaces are still there after every operation. And if you check, of course, sometimes you'll find them gone, and you have to deal with that, usually by unwinding a nice tall stack, since all the physical surface handling sits nice and deep. Ugly enough yet? Add boss that tells you "Don't worry about cases X, Y, and Z", whenever you say you need more coding time to handle the cases X, Y, and Z, that you *know* will come up sooner or later. I am sorry, I can't get no satisfaction from shipping a piece of, ahem, code, that hits the never never land whenever you do anything obscure, like minimize a window at the wrong time. Don't ever try to implement hardware overlay, folks. Unless you enjoy this kind of pain, or don't care about corner cases. Come one come all, and check out the splendor and stability of Liquid Silver.RT from Pinnacle Systems. Yeah, right. Just fork over the $40k, and be happy that you can get anything done at all. Current Mood: disgruntledCurrent Music: Earth: Final Conflict soundtrack | | Thursday, July 11th, 2002 | | 7:25 pm |
Who came up with the "Golden Rule" and why?
More to the point, what were they thinking with? If I treated people the way I would like to be treated, I would greet people by tickling them instead of shaking their hand. Do people really believe that we're all identical inside and everybody is just like them? Repeat after me: Not everybody wants what I want. Not everybody wants what I want. Not everybody wants what I want. Oh, why am I bothering, everybody obviously knows that already. Oops, did I just say that? Bad man, repeat after me: Everybody knows what I know. Everybody knows what I know. Everybody-- huh? Current Mood: stupidCurrent Music: JumpGate: Solrain space | | Tuesday, May 21st, 2002 | | 7:01 pm |
Capitalist economy: 2, Vadim: 0
I finally got an offer for a salaried position at my workplace. To misquote Mary Doria Russel, this is a punchline to a six-year joke. That's how long I've been working for them, you see -- six years. I was an intern for the first five (started while I was still in high school). They promised me a fulltime job as soon as I graduated from college; they seemed, in fact, eagerly impatient for me to do so. Meanwhile, during my Senior year I finally found a social group where I could fit in, which was new and wonderful for me, after many decades of being "that nerd". I was immensely happy, and Silicon Valley where I didn't know anybody besides coworkers seemed rather grey. So I thought, "Hey, why can't I stay in this college town here another year, make up for lost time?" But my company said, "No no no, you can't stay there, we need you here, we have projects that need your touch, we'll give you a nice salary, ...", and I got an invitation to join a nearby startup as well. So I came back. About then the economy took a dive, World Trade Center got blown up to help it along (or to distract the public, depending on your cynicism level), both my company and the startup went on hiring freezes. Guess what that means? Yep, no offers for me. Because of rental considerations I couldn't go back to my college town either. So I was stuck at Pinnacle with my fresh college degree and an intern wage (but no benefits whatsoever since I was no longer an intern) for the school year 2001-2002. Trust the capitalist economy to find a way to keep an engineer busy enough that zie won't have time to look for a better job. They still kept promising me that offer as soon as physically possible. One day in conversation I casually mentioned that at the end of the schoolyear I planned to move back north where my "heart" was. Guess what they gave me three weeks later? Yep, a full-time engineering position with reasonable salary and full benefits. If I was not sure then that I needed a change of scenery, I am now. Current Mood: cynicalCurrent Music: audio sync test signal | | Sunday, April 14th, 2002 | | 10:31 pm |
Stalkers 'R' Us
So I was at this sex party, wandering around, enjoying the views, and looking for playmates (looking very passively, but more on that later). I was invited by my good friend G, along with our mutual friend H. And it wasn't your typical sex party, either -- it was very, very nice (it was the best I've attended so far, though given that I've only attended one and a half so far, that doesn't say much). Anyway, among other beautiful people assembled, I note a cute young woman that looks vaguely familiar. I look again in an attempt to ascertain whether she is who I think she is (a person I know through a couple venues on the 'net, who does not know me because on those venues I often read and seldom write), but my facial recognition subroutine returns a definite, firm shrug. Now, a normal person (for a value of normal that can be found at a sex party) confronted with this situation would likely consider the following options: A. Forget about the seeming resemblance and resume normal activities. B. Introduce self by name. Strike up a conversation. Reveal 'net identity if the original hypothesis is confirmed. C. Introduce self by 'net identity. Inquire about hers. Converse about a mutually interesting subject or offer to play. Being me (see above), I instead proceed to D: Glance at her repeatedly throughout the evening, probably creeping her out in the process. Eventually banish the butterfiles and enable self to approach her on firm legs by suppressing all emotion. Inquire about her identity. Introduce self and proceed to babble about having read her impression of the party until she leaves. Lose footing and fall (physically) in the process. The next time I saw her, she was having spectacular sex (Hmm, I don't think the word does it justice. How about "at least half of the people in hearing range dropped what (or who) they were doing and turned to admire the scene"?). When it was over, a normal person might compliment her and her partners. I ran away in terror instead. *sigh* Eventually (in a year or twenty) I will acquire the social skills necessary to interact with strangers at a party. As it stands, H, who was rather disturbed by the event (this being his first sex party ever) was chatting casually and making plans to meet with several other guests towards the end; while I, having instantly adapted to the sex aspect of the party like a depraved perv that I am, was still walking around looking lost. Mystic MUD is very tempting right now. They like me there because I can code. Must stay away -- that place cost me four years of meatspace experience already. Maybe I'll just log in for a minute or two, see if any other immortals are on... Current Mood: hornyCurrent Music: industrial equipment humming | | Monday, July 9th, 2001 | | 3:52 pm |
Roadside repair procedures, Vadim style; or "What a Day!"
0. Apply these instructions upon noticing that your vehicle is vibrating in an unusual manner, while traveling above speed limit on a freeway 100 miles from home. 1. Ignore the unusual vibration for at least 100 yards, blaming it on the quality of the pavement. 2. Change lanes to avoid the poor quality pavement patch. Notice that vibration persists. 3. Suspect minor tire trouble. Pull over to the shoulder to inspect the tires. 4. Find the front right tire blown to shreds. Blame the powers that be for the insolence of interfering with your plans. 5. Think about calling for help. Reminisce wistfully about the shiny new cellphone currently sitting on your bedside table at home. 6. Look for a spare tire in the trunk. Find a 100-pound box of books that's occupying most of the trunk. Suspect that the spare is under the bottom of the trunk, but ignore such possibility because of the necessity to remove the 100-pound box in order to access it. 7. Find a call box 50 yards back; call the operator. Learn from the operator that no road service will provide you with a spare tire, but will agree to tow you for an outrageous fee. 8. Continue to look for a spare. Vigorously curse the 100-pound box with enough power and imagination to make it evaporate on the spot from the sheer force of profanity. Notice with despair that the box remains. 9. Summon every reserve of strength in your body; with a warlike cry, remove the square monstrosity from the trunk and place it regally on the back seat. Gloat triumphantly and curse it some more. 10. Remove the thin plastic sheet acting as the trunk bottom; find a shiny-new, tiny spare under it. Reflect on the obvious impossibility that such a flimsy and thin "tire" might support a car. 11. Commence looking for a jack. Remove every removable cover; find the jack behind the last one. 12. Spend 5 minutes trying to pull the jack out of its resting place in the trunk. Repeatedly express your desire to subject the designers of the jack brace to severe torture. 13. Give up on extracting the jack. Attempt to use the call box again, find it nonfunctional or nonresponsive (no beep, no voice, no nothing). 14. Return to the car; commence wrecking the jack brace with any available tools in further attempts to extract the jack. Continue to curse the brace, its ancestry, and the scorching sun for the next 10 minutes. 15. Give up on extracting the jack. Attempt again to use the call box, succeeding this time. Be informed that the operator you talked to before has left for the day. Inform the new operator that you would like tow service or someone with a functional jack wherewith to replace the shredded tire. Learn that help will arrive in about half an hour. 16. Return to the car. Continue the jack extraction efforts. Succeed after two minutes, after realizing that one should flatten the jack by jakcing it down before removing it. 17. Call the operator again to cancel the call for a tow truck. Ask for the operator that called the tow truck; be informed that he has left for the day. Inquire whether she meant the *second* operator you talked to left for the day as well as the first. Hear muffled exasperated exclamation, "What a day!" from the nice lady while she looks for said second operator. Be assured by the second operator that he will cancel the call for the tow truck. 18. Return to the car just as the tow truck pulls over; explain the situation and send it on its way after learning the fee for changing a tire ($45 - ouch). 19. Jack up the car and change the tire, exerting extreme force on the bolts, fearing all the time that your ministrations will cause the car to tip over and bury you under it. 20. Gather belongings and resume course, riding slowly, on strained nerves and weak faith in the flimsy tiny spare. Make judicious use of the hazard blinkers. Notice the beginnings of a traffic jam forming up behind you. 21. Arrive at the destination (a friend's apartment where the weekly roleplaying campaign is supposed to take place) 1.5 hours late. Knock repeatedly with increasing force. Swear, wait two minutes, repeat. 22. Look around for a public phone while cursing your bad luck. Realize that you don't know the phone numbers of any of the people who were supposed to be there, and the only place they are recorded is your email box. Curse some more. 23. Remember that one of the relevant phone numbers was once recorded on a SubWay napkin, which you were sure you still had *somewhere*. Search the car for said napkin. 24. Find the napkin at the bottom of the 100-pound box in the back seat. Realize that the relevant phone number on the napkin is no longer relevant, since the person no longer lives at that address. 25. Go back to the friend's apartment. Bang on the door very very hard, this time getting a response. Play Epoch for 2.5 hours. 26. Return to the car. Notice that the spare's rim is dangerously close to the ground. Drive on faith and nerves to the nearby Wal*Mart in search of a new tire. 27. Buy new tire at Wal*Mart and set about fitting it into the rim manually, as their shop is closed, this being about 9pm on Sunday. 28. Drive verrry slowwwly to 7-eleven, the nearest gas station with an air pump, while listening to the scraping noises coming from the poor little spare tire. 29. Pump the spare until it appears rock-hard, but still gives greatly under the weight of the car. Consider pumping more, but choose not to, lest it blows up in your face. 30. Spend 10 minutes trying to separate the shreds of the old tire from the rim. Find it impossible for the lack of adequate tools. 31. Drive back to Wal*Mart, buy two screw drivers and wire cutters. 32. Return to the air pump, resume the efforts to peel off the tire. Scrape against the metal mesh inside, ripping up the back of your hand. Swear profusely at the wonders of American engineering. 33. Go to the restroom inside the 7-eleven to wash the hand. Find the men's restroom "out of order". 34. Ask the attendant regarding the nearest functional men's restroom. Get directed to the women's restroom instead. 35. Find the women's restroom in 7-eleven to be the single-occupancy, lockable type. Reflect upon the utter senselessness of labeling a single-occupancy restroom as women's or men's. Reflect further on this culture's obselete obsession with segregating various facilities by gender. Finally, clean out the wound and return to work. 36. Continue your efforts with the rim and tire remnants. Fail miserably for the next 20 minutes. 37. Encounter a nice pair of fellow travelers at the gas station. Listen to their strong opinions on how what you're doing cannot be done, and requires professional assistance and heavy equipment. Explain to them that you will avail yourself of professional help as soon as it's available (8am next day) unless you have done it yourself before then. 38. Continue your efforts after the nice travelers get under way. Fail miserably for the next 15 minutes. 39. Be very surprised and thankful when the nice travelers return with a tale of an open machine shop one freeway exit away, that they've discovered upon stopping at a MacDonald's across the street. 40. Follow the nice travelers to the machine shop. Offer to buy them their meal at MacDonald's while your tire is being fitted and mounted. 41. Notice a computer on the mechanic's desk. Ask permission to send an email to your parents regarding your situation. Get permission after explaining that you're a programmer and won't break his machine. 42. Find that the machine has no net access, but does have multiple Issues that the mechanic does not hesitate to mention. In particular, his machine is really slow and gets slower all the time. Attempt to address said Issues while he works on your tire. 43. Explain to the mechanic and his boss that their poor performance is due to Microsoft Windows in general, and multiple background processes in particular. Remove some background processes that they say they don't need. 44. Recommend that a new simm of memory might address their other Issues, then pick up your shredded tire and head home. 45. Get home in early afternoon according to your subjective clock (objectively, 11pm), accidentally waking up the parents. 46. Scare said parents with a particularly gruesome remnant of the deceased tire. Get chewed out for not having your cellphone and not joining AAA. 47. Get chewed out some more for buying one tire instead of two, since it's illegal to drive with different tires on the front wheels. Assure the parents that the latter statement is a bovine excrement. 48. Resume normal activities. Current Mood: accomplishedCurrent Music: MechWarrior 2: Ghost Bear's Legacy, track 11 |
|