Life Is Being Overwhelming

Finals went well. I have an A now in all classes except for Precalc, in which I have an A-. This is despite getting 97.5% on the Precalc final. Oh well.

It seems I’m trying to do too much between school, homework, robotics, and the oddly involuntary Reddit. I doubt I’ll be able to get enough time for NHS and I may have to quit. That’s too bad, but there’s not much I can do about it. I wonder if in college I will have the same problems with time management. I’m looking forward to college, as I hope to have additional freedoms there, including philosophical discussion, which Morrison tells us is present late at night on college campuses. That might have been replaced with our lovely Intertubes by now, but I hope not. Freedom includes what I see Pat doing, for example, which is getting up at 10 and trudging off to classes at 2. That said, additional freedom also means additional responsibility. As far as I can see, this means I will need to make sure on my own that I get up and make it to classes on time, not get locked outside of my room, and avoid ill-advised parties. That shouldn’t be a problem if I’m able to earn enough ISK to feed my EVE subscription. I’m unclear on how much I will need to buy and how much the magical Umich (How is that capitalized?) card will provide to me. Responsibility has an upside: if I have more responsibility for my surroundings that means I’ll have more power over them. The practical implication of this is that I will no longer be surrounded by piles of things that aren’t mine that I can’t move. I like minimal surroundings, and take pride in the fact that the contents of my tabletop and drawers, with the exception of clothing and a desk lamp, fit in a “small” packing box. I should mention the computer is on the desk, not the table, and furniture is not included. Still, I see it as an accomplishments of sorts. I have managed to avoid excess clutter to an extent. That said, most of the box in question is still unpacked. Perhaps I should throw it out (or recycle it; if I recall correctly it’s mostly paper) as I evidently have no need for it.

Wow, this is turning out to be quite stream-of-conciousness. I hope, gentle reader, that you are able to keep up with my rambling.

Although I still hold on to the hope that my new second semester classes will be interesting, my initial impressions are not very good. I like both teachers as people, but I do not think they have good teaching abilities.

Mr. Olstad should create a video series on how to teach properly.

Published
Categorized as Life

Synergy+

I found Synergy+! I have a Linux box set up next to my Windows one now, and I can slide my cursor between the monitors of the different machines, and control both with one keyboard and mouse! The Windows machine runs the server. I’m using a stereo Y-cable to connect both machines to the speakers. I’m concerned that it might not be good to connect two sound outputs to the same cable, although there are speakers so it’s not directly between outputs… I really need to learn about electricity!

Synergy+ was surprisingly easy to set up, and following the directions worked without issue. I set up sshd on the server using Cygwin by running ssh-host-config and following the instructions. Running ssh-keygen got me my RSA key for the client, which I copied into ~/.ssh/authorized_keys in Cygwin so that I could have passwordless login. With passwordless login, I was able to add the creation of an SSH tunnel alongside synergyc localhost.  (localhost so that it uses the tunnel.) I also have the server running as a system service.

The end result is that Synergy+ is automatically started and securely tunneled. It’s pretty fun. Perhaps next in my string of projects will be setting the second monitor up on a monitor switch so that I can change between dual-monitor on one machine and one monitor each.

At the end of this break I will have attended no less than five Christmas parties. Too much travel!

EDIT: After accidentally closing Firefox on my left screen by attempting to open a menu on the far left of my right screen, I realized I could start the transfer range between screens at 5% and end it at 95%, making a part of the top and bottom of the shared edge not transfer. Hooray configuration!

EDIT Jan 17 2010: I now use autossh to make the tunnel persistent. Combined with Synergy+’s ability to retry connections, this makes it a lot easier to keep the machines connected between reboots.

sftp-server

I decided to compile the latest OpenSSH, largely because I can, and partially because I was trying the throughput patch. It didn’t work out too well, which might be due to my aging hardware. I discovered that after removing Debian’s package and compiling and installing OpenSSH from source, I no longer had a running sftp-server. After some investigation, I found that although it was attempting to load the sftp-server subsystem in /etc/ssh/sshd_config, the executable was missing. I copied it from the compilation directory to the directory set in sshd_config, set the permissions, and restarted sshd. It works now!

Published
Categorized as Software

Found it…

I figured out the bug. As I had suspected, it was stupidly simple. I was immediately overwriting the saved map with the saved game variables. That explains the mysterious sequence of numbers. I don’t know how I thought that would work: writing, not appending, different information to the same file.

The next problem was that the special object array wasn’t being regenerated correctly. That was another easy problem, as I had simply neglected to make a function call.

I’ve had trouble working from someone else’s code. At least these problems are fixed now, and I like to think I’m getting the hang of it. I’m happy the problem wasn’t a fundamental misunderstanding of C on my part. I still don’t understand why the special object array exists in the first place.

I’ve also added pausing, and plan to work on the difficulty curve, customizable key bindings, a main menu, general code cleanup, and smoothing out the rough edges in the UI.

Published
Categorized as Coding

Essay and More

The first draft of this is dated October 18th, so many things in it are now dated, but here goes.

I’ve been thoroughly shaken by an essay question on a college application. Not that it’s a difficult question or anything.

Tell us about a time you used your creativity.

It should be easy enough. The problem is I’m having trouble thinking of recent uses of my creativity. I haven’t made any new Flash movies since 8th grade, although perhaps that’s for the better. They’re becoming increasingly embarrassing now. I made some comics Freshman and Junior year, but thaose were both for literature projects. I started making a 3D maze the last time I went to Camp CAEN, but that was the summer before last, and I stopped after I ran into an issue with sound under Linux in Zenilib. Writing about it makes me want to try picking it up again, but finding the time to do so will be difficult. It seems I have somewhat inadvertently found ways of being unproductive that are not obviously so, such as browsing Reddit instead of playing TF2. That’s not to say I’m not working hard, which I am.

My Dad’s Rosewill fan failed suddenly by making horrible grinding noises. Although PCI slot fans seem like a good idea, they might be too much trouble to be worth it. I’ll probably stay away from PCI slot fans for the time being.

Because I’ve had so much homework, namely in Precalculus, schoolwork has displaced my life somewhat. Synthetic division is nice because of the very predictable amount of space it takes up, and it’s oddly fun to multiply together factors to get a polynomial with the desired zeros. It’s making the math work to make something, rather than the other way around. It’s also strangely entertaining to factor in my head.

Thanks to this page I was able to figure out an otherwise extremely cryptic error in my crontab. It was in the line for server backups to the alarm upstairs. It’s not offsite, but at least it’s not in the same room. I also got GZIP compression working, with the assistance of these pages. To boil it down, the magic line is ob_start("ob_gzhandler");

I recently downloaded Cavez of Phear and it was fun. However, the lack of save functionality made it frustrating, as I had to continually replay levels after dying. As it is open source, and I had compiled it, (requires libncurses-dev) I decided to crack open the code and give it a go. With the very low number of comments it is somewhat difficult to read. It seems that once it loads in a level file made of of low-level, unprintable ASCII, it replaces special objects with the stone character, and makes entries in another array. I have yet to figure out why it needs another array for this. I’m also currently mystified as to why the save function (I didn’t write it, it works in the editor,) produces complete gibberish even right after I load the map and haven’t moved. It still does this when I undo the replacement of special items. I’ll probably have to rip chunks out of the program until it’s more evident. I really should try gdb. Maybe I should start a Git repo to make all this easier to manage, as although my memory is fuzzy on the matter I think I had parts of this working better before.

Despite my problems figuring this out, it is meaningful for me because although I’ve long known philosophically and logically that open source is far better for innovation and rapid development, I’ve never been able to directly participate in helping that process. (I’ve donated to and reported bugs for Wine, but that’s about it.) Even though it is a very simple contribution, it’s something that with a closed-source product would take emailing the developer or doing some strange dark arts with DLLs. With open source, I am able to open up the code and start to add a new feature. This is amazing.

I got my plate of food together and left it in the kitchen. Asking my sister to guard it against cats, I took my salad and milk out to the table. I returned for my plate, and noticed the empty one intended for Sarah sitting on the counter as Sarah held a full plate. I asked her if the plate was mine. No, she mumbled around the ham.

Matt called me over and asked if I wanted his old machine. He said it had stability problems. I’m now agreeing with that, as when I tried to connect to it just now to check the specs, it was unreachable. What I can remember is Athlon 39(?)00+ 3700+ at 2.4 GHz with 512MB RAM. It seemed stable at first… Maybe I should check the BIOS settings again, as I seem to recall it complaining about failed overclock upon POST.

Dream

I have two dream fragments I’d like to share:

In one, Mom, Dad, and I were standing in the living room at Mom’s house when we heard a distant rolling which at first sounded as if the cats were doing something mischievous in the basement. It got louder, and we realized it was coming from outside. I ran to the door and pulled aside the curtain over the window. It was dark, and at first it seemed a single skateboard was rolling in from the west, but a group of 50 or so followed in a tight clump. Two kids ran up onto our porch to get a better look, and I turned on the porch light. As it can be in dreams, I was sure they were involved. The skateboards rolled out of view, but the spectacle was not yet over. Two cars came in from the east, and rolling in a clump around them were many large, perhaps half-scale or more, model cars. One of the driving cars looked like Waluigi’s from Mario Kart Double Dash. It was this one that somehow hit something and went flying, flipping end over end, barely missing the fence, and landing upside down in the backyard. When I think about it now it doesn’t make any sense – even if a car could go flying from an impact Hollywood-style, it’s much too far and there’s not even a good line of sight from where the impact was.

The second is more of a concept: Half-Life 2’s fast zombies, without eyes, hanging onto the back of doors you shut behind you. You just enclosed yourself in a small space with a horrific creature. Would it growl after you took a few steps into the room, or jolt awake and howl when you slam its hands in the door, then rip its rotting hands off and attack you with the stumps?

Published
Categorized as Life

Sick

My nose is congested and I was sneezing yesterday. I got up around 2am because I was having trouble sleeping. I think taking Psych is messing with me, as I to some degree harbor irrational fears that I exhibit symptoms of whatever mental disorder we covered last. It’s a really interesting class. If I had more time I’d gladly upgrade to AP. The current Psych assignment is annoying to me, as the podcasts we have to describe a study from seem to discuss a phenomenon in broad terms rather than talking about a specific study. I found an interesting article on conditional love.

I read about Steve Roberts, who seems interesting.

School has been overwhelming. I’m taking two APs: AP Computer Science, which teaches Java, and AP English Literature. AP Computer Science is at least currently pretty easy, as it apparently assumes no coding experience, which I find strange for an AP course. I wonder if it might be improved through an entrance exam and skipping the easier stuff, with the intro being instead in the existing Intro to AP Computer Science? As I haven’t coded Java before, although it is very similar in syntax to C++, it might be good that the class starts out lower-level.

One of the things I find about coding is that I seem to be unable, on my own, to think of reasons to program. My current line of thought is that simple games might be boring: they’re simple and will probably be clones of Pong or Tetris or something. When we actually wrote simple games in Advanced C++ Game Development at CAEN in 2008, (I didn’t go back last summer; they took away the dorm option so we didn’t get to spend evenings on our own machines.) it ended up being fun anyway. It could be fun to rewrite my maze game… The next problem I have in this is that I don’t have much free time with my current class load, so I’d have to sacrifice browsing reddit or something. At least it would be more productive, and perhaps more educational. Qualifying many of my statements seems to make my writing more verbose… (See! I did it again!)

AP English is satisfyingly rigorous, and I have by no means been able to complain that we aren’t doing enough. I’m going to a University of Michigan campus visitation over today and Monday, and I’m going to bring Hamlet and attempt to annotate during downtime; Act I Scenes 1-3 are due Tuesday.

I am told Computational Physics is equivalent to an AP, although it doesn’t seem bad at all in contrast to APE or Precalc. Relativity is really interesting, and the equations aren’t bad; it’s the logic I usually get tripped up on. That’s not to say my algebra never utterly fails. I really like Olstad. His website is very impressive. He is very careful about definitions, and on the first day (or so?) we discussed the differences between schooling, training, and education. After listening to our definitions, Olstad defined schooling as what goes on at school, training as specialized refinement of skills, and education as longer-term outlook for learning. He frequently calls schooling “the game,” (which makes Irfan lose often) and not the point of being there; I find this appealing. He also likes semicolons, calling them yield signs. This has influenced my semicolon use in this post. I’m not sure whether I’m overusing them.

Precalc and AP English give the majority of my homework. Precalc assigns homework consistently, even when the Seniors are gone, as I have learned the hard way. Now that I’m aware of that, hopefully I will manage things better. Pline has an evil genius chair, and I have yet to determine why.

Adam Nevells

Adam Nevells is dead! It was a car accident.

I’m having lots of trouble processing this; it’s so sudden. I knew him from middle school, and had classes with him at OHS. I worked with him at Okemos Channel events and even saw him at the scheduling meeting on the 31st.

This shows how tradgedy can strike anyone, not just “someone else.”

Published
Categorized as Life

Driving Test and CSS

I’ve been trying to learn some CSS and HTML, and in doing so I have found why people prefer PHP and MySQL for lots of pages with consistent layout: it is easy to change something on all pages. To be sure, my theme uses CSS, but if I wanted to change the footer text, CSS would be of no help. That said, I’ve found excellent resources, and I think it may prove to be useful later on. As a less resource-intensive solution, which I’ve set up with wp-cache, is to have WordPress output saved as static pages. This gives good response time and easily edited content.

I’m taking my driving test tomorrow and I’m intimidated. I read the booklet, and I hope I pass.

Cats

It turns out that Koga (also spelled Qoga) had to go back. The person who gave us the cat apparently got the wrong one, which explains the incorrect information. When we first got Koga, he was extremely scared, and spent most of his time hiding up in the rafters of the basement. He slowly got used to it, and we noticed he could not purr correctly, sometimes stopping to gulp or make a strange wheezing cough, one of his eyes appeared watery, and he never meowed. The certificate of good health was quite wrong. At the vet, our suspicions were confirmed that Koga was male, not female as we had been told. This wasn’t a huge deal, but was still strange. They also found he had severe gingivitis, and that something was wrong with his voice box, which they would investigate later. Then blood tests came back with a strong positive for Bartonella, and we decided it had been enough and was time to give Koga back. We’re back down to four cats now. I’m sad to see Koga go, but he was challenging Wally’s authority, at which point Wally started spraying things, which was nasty. Four cats is quite enough.

Published
Categorized as Life