bitman ([info]bitman) wrote,
@ 2003-12-04 12:12:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: groggy
Current music:SPEED - Go! Go! Heaven (a n i m e FM :: The Hottest Mix of Anime and Japanese Pop Tunes)

Sed tamen est
I've had such a busy time recently, I don't have much time to keep my journal up to date. And I have people to talk with about my exploits, so I don't feel the need so much to record them here. But I really should, and I have some unallocated time just now.

Last week I implemented a floating point adder hardware unit from basic components (integer adders, shifters, and gates) using the SMOK environment.
If you haven't used SMOK before, don't. It's a tool developed by grad students here at the UW that lets us undergrads simulate hardware using fairly high-level components. It's probably pretty decent as a C++ library, but the user interface is terrible; it's very easy to use, very easy to do things by accident that you don't want to, and prone to random crashes. Plus the documentation is out of date, apparently. For example, to connect two components with a wire, you click on an input on one component, then click another component. If there is only one input, just clicking one component then another will connect them, requiring you to click in an empty place if you want to do something to a different component without creating a wire.

SMOK has a heirarchy of "containers" that you can embed within on another. When you embed one container within another, you see all the components inside of it, albeit scaled to a very small size with fonts scaled disproportionately so that it just looks ugly. The best part is, when you're in the highest level container and you try going up a level, it actually does zoom out, realizes something isn't quite right, and crashes. Now that's kwality. Oh yeah, and it's next to impossible to control the wires that connect everything, so they just turn into a huge rat's nest.

In another class, last week I worked on a group project comparing several different data structures using fairly meticulous tests. We finished just before the electronic turn-in deadline (as in, within the last minute), but we got it done is the important part. It was fun finding out that my data structure scaled very badly (slowing way down at about 8 Megs of data) because of changes to a base class that one of my partners made to speed up his structure. :P But we fixed it, so all is well, though it was an ugly hack. I hate those.

I still take a stab at KevEdit now and then. I've started posting to the forums SourceForge has provided for the project. The mailing list has been depricated due to spam, having a 98% spam, 2% bitman post ratio. Seriously. There's an interesting post about doxygen (source code documentation) in the Developers forum with a link to the very sparse documenation I've generated so far. And some posts inviting people to post more posts. I was going to hype it on Z2, but I don't feel like it right now. I am subscribed to these forums, though, so I'll get an email if anything happens. Anything at all.

If you've used KevEdit, you're probably familiar with the text (object code) editor. It's crammed with many features: open, save, copy, paste, syntax highlighting, music playback, ZZM import, and tons of things I've even forgotten about myself. Not to mention the exact same code is used by the help system, the load word dialog, and a bunch of other dialogs. And somehow I managed to cram almost the entire thing into one giant monster of a function (called editbox, for no especially good reason). So I set out a while back to break the whole thing into many many distinct, well-defined, easy to use functions. Right. Except that there's no way to do this in stages, so until I'm done with it, it doesn't do anything. I think it's almost done (I can't remember), but I haven't written the part the displays everything to the screen, so I can't test it properly yet. Maybe I should have started small, rather than trying to convert the whole thing at once...... hmmm.... I can still try that.

Anyway, that much really has to be done before I can really move on to adding new features (like I want to do, and everyone else wants me to). But all the code is at home; I don't commit broken code to the CVS repository. And when I'm at home I have other things to do: dishes, food, games, and doing stuff with Lori.

Speaking of CVS, I've been trying out Subversion in the form of TortoiseSVN just with local repositories on my own machine. I don't have any remote subversion servers I can use as I do with CVS, so it's no good for must things. But I realized that I've been archiving most of my saved games since the dawn of time every time I uninstall something, and it's been a pain figuring out which is the most recent copy. I also like to keep backup saved games in case I've done something badly and have to regress, but it's usually not necessary any more. I think ZZT and Unreal got me started on it, and now I'm paranoid. Finally, I never need these files on any machine but my own, so it's a perfect chance to try out subversion.

Subversion has some really cool features, like the ability to mess with the repository heirarchy without actually having it checked out. I thought I might have trouble checking things out into a heirarchy that doesn't match the repository exactly; games get install in many places depending on disk space issues, but my repository has a much cleaner structure. Since CVS just stores everything as individual files in individual folders, it's easy to make it check out just a subfolder of a repository. Subversion puts the whole repository in a database, though, so I thought you might have to check the whole thing out together. It turns out to actually be even easier to check things out piecewise in Subversion, and more intuitive even. I was quite impressed.

I haven't even mentioned Thanksgiving or Lori's birthday and already I've spent an hour on this. I wish I had more time to spend with Lori. As it is, most of our quality time is spent playing Diablo II together at midnight while the rest of the world sleeps.

Lori helped me breed a golden chocobo in Final Fantasy VII. I have finally developed an appreciation for the Chocobo races, now that I know I can stuff them with greens to give them uber stamina and decent speed. A mastered All sells for so much that I can finance them no problem, and I can always master more. Then I can do dishes while my chocobo takes names on the race track and collect items, GP, and stuff. The battle arena turned out to be much easier and cheaper than I expected (I hoard my GP since it's so dang hard to aquire). Now that I have Cloud's final limit break and Knights of the Round (the longest attack ever; I have time to wash five bowls before it finishes), I can probably finish the game. But I still haven't touched emeral or ruby weapons, and I have so many other things to do...

I like this song.

Oh yes, and "sed tamen est" (the title of this post) is a nice Latin way of saying "that's just how it is," or more literally, "but still, it is." I think it's going to be my new motto for a time.




Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…