Tag Archives: Ulysses


I’m starting to get myself mentally prepared for spending four months living in another country. It’s quite frightening! I have no idea how many of the comforts that are just common place to me here in the US will not be there in Korea. I will only be able to take two small suitcases with me, so I’m beginning to make lists of what I absolutely need during my stay. Also, I got to see a picture of one of the typical dorm rooms in Handong. All the rooms sleep four people.

Typical dorm at Handong -- Sleeps four!

Yes, this room sleeps four. And yes, that is a clothes line you see in the back. Apparently they don’t use dryers in Korea. Also I hear the mattresses are very slim and hard. Still, part of the reason why I want to go to Handong in the first place is to get out of my comfort zone, so I chalk this up as a win.

In other news, I’m living in a disaster area. No, really! Cedar Rapids, IA has been declared to be a federal disaster area. Lovely, isn’t it? The downtown is pretty much gone from flooding. Here’s some pictures for your enjoyment. Click a picture to see my commentary.

<lost the pictures due to technical issues, will try to put them back up at some point>

I’m thinking about switching my hosting services around. The host I have right now is *okay*, but not great. They no longer respond to anything but reset tickets. They never answer the phone and never reply to emails. Given that it’s a small company, I worry that they’ll go under any day now…

Anyways, I took a look at what kind of things I run on my server on a daily basis in order to compare alternatives. I’m paying $55/mo right now for a full dedicated on a gigabit link, 160 GB HDD, 2 TB bandwidth, P4 3.0 Ghz, 2 GB RAM. I use the server for the following:

  • Garrysmod server
  • Natural Selection server (probably not going to bother setting up another)
  • TeamSpeak (doesn’t see much use though)
  • Subversion repositories
  • LAMP
  • SSH server for secure proxies
  • I want to have an online backup

Alternative option #1 — Specialized hosting:

  • Go with DreamHost at $11/mo to take care of LAMP and SVN. Since it has SSH access, I assume it could do a SOCKS proxy, but I’d have to check on this. DreamHost, with 4 TB of traffic and 500 GB of storage, would make a good online backup.
  • I probably wouldn’t bother with a garrysmod server until I got back from Korea, but once I did I could go with a service like this one. Considering that they’re advertising ULX (my software!), I might even be able to get them to give me a discounted or free server. Assuming I couldn’t get a discount through them, it would be about $24/mo for 8 public slots.
  • The site above also has a somewhat good-looking teamspeak service, but otherwise I could go with this sort of service for $2.50/mo (5 slots, but that would probably be enough anyways).

So, ignoring setup fees (which you can usually talk them out of anyways) and the dumb discounts for contracts (Advertising $6/mo with a 10 year contract? Bad DreamHost!), this comes to a total of $37.50/mo. Which is still a whole lot better than what I’m paying now and I’d get better quality of service this way. Still, it’s a lot more inflexible.

Alternative option #2: VPS

  • Go with a VPS host like this one. This would host a TeamSpeak server, possibly a Natural Selection server, Subversion, LAMP, and SSH. $15/mo for ~300 MB RAM, 13 GB storage, and 500 GB bandwidth. No mention of CPU time though which is disconcerting.
  • The lack of storage above means I’d have to go with something like Amazing S3 for backups. I figure S3 would cost me about $5/mo.
  • I’ll use the $24/mo figure above for a Garrysmod server.

Ignoring setup fees, this comes to $44/mo. About $7/mo more than the first option, but gives me more power at the cost of having to manage everything myself. Plus the VPS kinda sucks to be honest. Touch choice!

More updates

I didn’t really have time to flesh out the details of my computer problem when I last wrote, so here goes:

After my computer froze, I naturally reset it. After doing this, I left the room to go do something productive while it booted. When I came back, the screens were black. I’ve had other computers randomly not POST before, so I once again reset it. Alas, the restart button didn’t do anything. I then tried to shut it down, no dice. So, I moved onto trying a hardware shutdown (holding the power button). That didn’t do anything either!

Seriously worried that there was something wrong with my computer at this point, I flipped the PSU power switch (yes, that killed it). I take a quick look inside the case to make sure everything’s okay in there and it doesn’t smell like burned electronics. Looks and smells fine!

I’ve had a case of a dead computer that came back to life when I gave it a good cleaning, so I decide to do the same here. I was very thorough, so it took me all day to do this. When everything was put back together, I threw the switch. Nothing happened. The fans didn’t even spin up this time. Ready to pull my hair out at this turn of events, I call my brothers who are also skilled with computers.

My brothers advise me that the PSU is usually the cause of these problems in a computer, so I borrow a compatible PSU from a friend and try once more. Again, nothing. I remove the memory and sound card and repeat. The fans spun up this time, but no POST beep. I notice that the HD light is solid and there’s no power light. Crap!

The rest is rather unexciting: I got an RMA number from Asus (my motherboard manufacturer) and sent it off. Cue where I am now.

I called Asus this morning to check on my RMA, and to my surprise they gave me a fedex tracking number for the replacement! Now, I should be overjoyed that the new motherboard will be arriving in two days, but there’s a downside. I was using a ThermalTake Big Typhoon CPU heatsink/fan, and you have to irrevocably stick a mounting plate on the back of your motherboard in order to install it. I had to leave this mounting plate on the motherboard when I shipped it off. So, I quickly ordered a new heatsink this morning that’s supposed to be comparable to what I had and pay an extra six bucks to rush shipping. Hopefully it’ll be here when my motherboard gets here!

Running my own garrysmod server has been interesting. It’s a lot of money, so I’m just hoping that sporadic donations and clients will help keep it afloat. I’m not sure I’d have the heart to kill it simply due to lack of funds though. Besides, it’s always priceless when the players do something like this. It has also been nice to run a server because it’s helped me focus my scripting efforts. Imagine that, it’s easier to know what to do with an admin mod when you’re actually running a server!

Now, to go away from computers… Pippin’s doing fine! He jumped our six foot fence yesterday so apparently his physical strength is back too. You have to wonder if the poor little fella knows how close to death he was (most people would put an animal down than hospitalize them).

I went hiking with a friend a few days ago, and it really makes me realize how much I’m going to miss the mountains and drinkable water here in Utah…

Still breathing

Yes, it has been a while since I’ve written. Why? I really don’t know.

Unfortunately, my nice, new computer I just bought last October decided to die on me a couple weeks ago. I was messing around in that hell-spawned program iTunes when my computer froze — never to return. Thus, I naturally blame said application. It’s going to be at least three weeks from today until I have my good ol’ computer in working order again.

Going back to conducting affairs from my laptop, I have a new-found appreciation for my desktop. I’m trying to run all the applications I could run on my desktop, but everything’s going four times slower. Garrysmod is nearly impossible to run/play, which is a shame because I have a boss who’s no doubt wondering why my code updates have come to a grinding halt as well as a new not-so-cheap dedicated garrysmod server. Still, perhaps all this worked out to my benefit because now I have more time for miscellaneous tasks like getting ready for my move to Texas and writing on my blog.

Speaking of Texas, I should mention that I graduated from high school last week. I’ve decided to follow the family tradition of attending LeTourneau University. It’s a pretty neat growing Christian university geared toward engineers. The only downside is, of course, that it’s located in Texas; it will be fun to finally get away from Utah though!

On the same day my computer died, I received a call from our local air force base inviting me to come back and work for them again this summer. This is very exciting news for me, as I loved working out there. I learned an inordinate amount of information, and have used most of what I learned at least once since then. Of course, there’s the extra benefit that this job has a good possibility of continuing throughout college (yes, even out of state. I’ll just work whenever I come home), even has a chance of paying for a Master’s degree down the road.

This last weekend one of our cats, Pippin, mysteriously stopped eating or drinking. We promptly took him to the vet, who ran an analysis on our unfortunate kitty’s blood. The tests revealed nothing, so Pippin was sent home with some antibiotics and we were told to force water down him. Now, for those of you lucky enough to have never tried — forcing liquids down a cat is maddeningly difficult, impossible in the quantities required. However, we stuck to this regimen for two days with no improvement.

When we realized Pippin would probably die of dehydration before he got over what was ailing him, we took him back to the vet on Saturday. The vet still had no idea what was wrong, so we had to leave Pippin there for hospitalization over the long three-day weekend.

It turned out that Pippin had a urinary tract infection. We got some extra meds for this when we picked him up Tuesday. It’s now Thursday, and Pippin’s doing much better. He’s almost back on track with his old diet, and seems to be taking enough liquids.

To once again change the subject, I’ve been considering what project to take up for the summer as is my annual tradition. My ideas include:

  • Some AI in garrysmod. Maybe some intelligent weapons platforms, or just general AI demonstrastions (flocking, leading, etc). AI is and always has been my passion, so this would be pretty neat.
  • I’d like to do some work with an ogrelua combination, but this would be a huge project spanning years. If I start now I’d be lucky to have something to show for my college senior project. I may write more about my ideas for this at a later date.
  • Ulysses Universe. A friend of mine would hurt me for putting this on my consideration list (he’s been reminding me to finish it every day for months now), but every time I think of what’s required in the next step to do this script I suddenly remember I somewhere else I need to be. Basically, Ulysses Universe (UU for short) is implemented in garrysmod and is a real planetary system. This means you can launch things in orbit, walk around the planet, etc. This script can be broken down into four major components:
  1. Gravity. By far the simplest to implement, I’ve rewritten this component multiple times until I was happy with how it worked and how it was optimized.
  2. Player angles. The players’ angles have to be rotated while they walk around the planet. It took me a while to figure out how to do this, and I just recently realized I probably took the entirely wrong approach (has a nasty bug when you go to the bottom of the planet).
  3. Player movement. By far the hardest thing to implement, because of the complexity of the physics system. You have to keep track of moving objects under the player, apply force to said objects so they can tip and fall, and of course make sure players can’t walk through walls. This has to be completely reimplemented because the default hl2 system has no allowance for it whatsoever. Even worse is that this would require the prediction for player movement to be redone. In the end, there’s no way this is going to be anything like VALVe’s movement system.
  4. Niceties. Things like an easy swep to launch things into orbit, a compass, hud, etc. These are always fun to implement.

Okay, enough typing for today (3 AM). Hopefully I’ll have more updates soon!

Facepunch Studios

As many of you know, I am a member of facepunch studios forums (http://forums.facepunchstudios.com/). For those of you who don’t go out often, these forums are run and operated by Garry Newman, creator of Garry’s Mod, a popular Half-Life 2 mod.

I’ve had a few things bouncing around in my head about FP and GMod in general, so I thought I’d get around to writing them down.

What makes GMod’s lua so successful?

  • Easy to learn – Unlike a full-fledge language like C++, lua can be picked up in a few days.
  • Limited API – Users who start using lua in GMod won’t be overwhelmed with thousands of functions they can use to interact with the game. (GMod 10 will be losing this, as it uses a more complicated API with many more features. This may discourage scripters that would have given it a shot in GMod 9)
  • Instant usage and feedback – If you make a script and post it on FP, you’re nearly guaranteed that someone will try it out and leave a comment. This is unlike C++, where most one-man newbie projects would be considered worthless.
  • Well documented – Both lua and the GM9 API are well documented, there is no question how something reacts.
  • Support – Support for a language like C++ is lengthy and often results in step-by-step debugging for problems, but with lua, you’re more likely to get someone willing to help you look at your code and find any problems as well as offer solutions.
  • No compiling or linking – Let’s admit it, no one likes waiting several minutes for an application to compile. Even worse, no one enjoys unresolved linker errors, something that is almost unavoidable when you’re programming with the Source engine.

My personal annoyances with FP

  • You don’t get responses from the people you need it from most – For the most part with my scripts, all feedback comes from relatively inexperienced users, or those who can’t follow directions and need someone to bail them out. What’s worse, you never seem to get the negative feedback either. Instead, people with negative remarks take it to other threads.
  • When the old rating system was in place, ratings did not depend on the quality or time and effort in the script. Instead, rating was based only on how well the script did what it was supposed to do. It might be a 10-line script, but if it works like you describe, you get straight 5’s.