13 March 2009 - 6:10pmdd


This week I did an assignment for COMM444 that required me to pick a Linux command and write a little guide for using it. I picked dd and I think the guide turned out pretty good so I figured I’d post it here for the masses. Instead of attempting to reformat it and put it on this page (and since it’s pretty long), I put it right here.

2 Comments | Categories: COSI

26 February 2009 - 12:24amBears. Beets. Battlestar Galactica.

, , ,

Google it.

Today I finished migrating everything over to my new web host. All of my websites seem to be running fine and I’ve begun taking advantage of some of the features that DreamHost has to offer. If you find something wrong with the site anywhere, leave a comment and let me know so that I can take care of it.

This week, I worked on my first programming assignment for Computer Graphics. It took 300 lines of C to create a flat surface and a ball that rolls around when you press the arrow keys. Ridiculous. Once Ryan and I figured out how to do it properly it was a pretty neat assignment. I actually feel a sense of accomplishment now that I’ve finished it.

I guess that’s about it.

P.S. I’ve taken the limited time scrolling, blinking title feature offline. If you missed it, you missed out!

2 Comments | Categories: Clarkson, COSI, Life

11 February 2009 - 4:46pmSSH Port Forwarding


For some reason, Clarkson has recently found it necessary to block incoming requests to dorm subnets, making it impossible to directly access your campus-connected computer from somewhere else in the world.  This is very frustrating, especially if you host services on your computer, such as Subversion, a web server or other things.

To remedy this situation, I’ve done a little reading on using SSH to forward ports from your computer to a remote computer, thus providing a pathway (encrypted, I might add) from your off campus computer to some location on campus.  This is quite beneficial for a number of reasons and I’ll list some examples to help me explain.

First, I used the following SSH command the other day to download a file from the web server running on Ryan‘s computer:

ssh -D 8080 -Nf <username>@<ssh server on campus>

This accomplishes a few things.  First, it creates an encrypted connection between your computer and some server on campus (obviously one that’s accessible from the world).  Secondly, the -D 8080 portion creates a SOCKS v5 proxy on your local machine that forwards all requests it receives across the ssh connection.  This means that if you open Firefox’s connection settings and set your SOCKS v5 proxy to localhost:8080, you can access webpages as if you were directly connected to the Clarkson network.

Second, I used this command just today to access my computer’s Subversion repositories (over http):

ssh -Nf -L8080:<remote server>:80 <username>@<ssh server on campus>

I was then able to check out code from Subversion on my campus-connected computer using svn co http://localhost:8080/svn/.  Everything requested from localhost:8080 is sent over the SSH connection to the port on the remote server specified.  This same idea can be applied to any ports you might need… 3389 for remote desktop, 22 for SSH, 20/21 for ftp, etc.

I should also mention the -Nf portion of each command.  -N tells ssh not to execute remote commands, aka, don’t give a command prompt after connecting.  The -f piece simply sends the ssh session to the background once connected.  Both of these are particularly useful when using SSH to forward ports for other services.

I’m sure this is just touching on the surface of what’s possible when using the port forwarding features of SSH.  These two ways of doing it have proven very useful for me and at least now they’re documented here for me to reference.  Hopefully you find them helpful too.

P.S. For a limited time only, please enjoy the improperly nested blinking marquee at the top of the page!  No telling when this feature will vanish, so soak it up while you still can!

Leave a Comment | Categories: Clarkson, COSI, General

5 February 2009 - 6:35pmMore Subversion

A few months back I posted briefly about how I set up a Subversion server on an Ubuntu virtual machine.  That virtual machine was set up using Virtual Box which I’ve since decided is sort of a pain to use.  As a result, I uninstalled Virtual Box and removed all of the VMs created under it (losing the Subversion server in the process).

For COMM 444 I had to create a Fedora VM for “learning” on.  I decided to give VMWare Server a try and have been mostly impressed with the quality of it.  Setting up a Fedora installation was pretty painless and it runs so well on my machine that I’ve been using it to do schoolwork and such on (as opposed to using polaris, which has some annoyances).  Today in class, Tino mentioned that if we were responsible developers we would probably be using some sort of version control system while we write our compiler.  That way, when we finish building a piece of it and get it all working, we’ll always have the code at that particular moment so that next week when we break it beyond repair (or accidentally delete everything) we can go back to the way it was.

So I took his advice and spent some time after class getting a Subversion server set up in the Fedora VM I already have set up.  To get it going, I used this article on the COSI wiki and this post on my blog (which references a few other articles).  I should note that using the version of WebSVN from their site (as opposed to the one available in the Ubuntu repository) means that the sweet theme I worked so hard to find last time I set this up is included as the default.

There is still one fairly obvious issue and that’s the fact that, though I’m committing all my changes to SVN, they’re not really being backed up to some other location.  Both my working copy and the SVN revisioned one are on the same hard drive.  That means that if my computer bites the dust, I’ve still lost everything I worked on.  I’ll be trying to figure out some form of backups soon, but until then at least I have revisioning under control.

1 Comment | Categories: COSI, Technology

14 January 2009 - 3:11pmBoring

, ,

Operating Systems is boring.  So I figured I’d write a blog post.

My schedule for this semester is slightly different than I’d originally planned for.  Instead of taking CS464 (Game Development), I’ve decided to drop that and take COSI for 2 credits.  The grouping situation for the project in CS464 wasn’t going to work out well for me and since I don’t need that class I decided I’d be better off not having to worry about it.

For COSI, I’m going to be working on a few different projects.  So far, I’ve started working with Ryan and Zach on setting up and testing a storage technology called DRBD.  I don’t know too much about it yet, but we’re thinking it may be a good solution for the storage configuration in the server room.  More information to come as we learn more about what its capable of and how well it works.  Beyond that, there are a few possibilities for other things to work on, but nothing solid yet.

I guess that’s all for the moment.  I’ll attempt to keep this more up to date this semester.

Leave a Comment | Categories: Clarkson, COSI

6 November 2008 - 11:51pmClasses


So my schedule for this coming semester (my last one!) is all set.  It goes as follows:

  • COMM 444 (Unix Web Administration) – MW 4:00-5:15
  • CS 444 (Operating Systems) – MWF 2:00-2:50
  • CS 445 (Compilers) – TTh 9:30-10:45
  • CS 452 (Computer Graphics) – TTh 1:00-2:15
  • CS 464 (Game Development) – TTh 8:00-9:15

I think it looks pretty good (aside from the 8am class on Tuesdays and Thursdays).

1 Comment | Categories: Clarkson, COSI, General

1 October 2008 - 11:05pmMainframes

, , ,

So today I completed parts 1 and 2 of the IBM Master the Mainframe Competition.  All total it took me about 4 hours to complete.  I’m hoping I got all of the part 2 answers right and that I finished within the first 60 (the prize is $100).  Some of the content was completely different than last year’s, but about half of it was pretty much the same as it was last year (too bad I didn’t take time to document the exact procedures from last year).

Since I’m not at school this semester while I do my co-op, I’m thinking I may take time to work on part 3.  The five people to have accumulated the most points in part 3 tasks by December 29 win an MSI Wind Laptop running Linux (the top two of those five get a trip to the Mainframe lab in Poughkeepsie, NY).  A laptop would be a sweet prize so I figure it might be worth the effort to work on part 3 (not to mention the fact that I’ll probably learn a lot from it).

Leave a Comment | Categories: COSI, General, Technology

26 September 2008 - 5:01pmSubversion and other things

, , , ,

It’s been a long time.  I’ll try to give updates on as many things as I can think of in no particular order:


Nothing much new here.  Joelle and I continue to brainstorm about miscellaneous pieces of the wedding, but we haven’t made any concrete plans in quite some time.  Keep an eye out on our wedding blog for updates as they come.


Tonight I decided to tackle the task of installing and configuring Subversion with Apache and WebSVN.  I would have liked to do it using the Apache installation on my Windows computer, but alas, Windows sucks (I would never pay money for it).  As a second option, I turned to an Ubuntu virtual machine created using VirtualBox (which I can run all the time thanks to my recently upgraded 4GB of RAM).  Installation of Subversion is really easy, it’s the following configuration of Apache and WebSVN that was the tough part.  I used a combination of this guide, this guide and finally found this template for WebSVN that looks excellent.  I now have a working Subversion repository where I can store any projects I decide to work on (something anyone working on a development project should probably be doing).


Work’s been alright lately.  I’ve had some interesting tasks involving VB scripts to look at (one was an Excel macro that I wrote, one was updating a script that queries Active Directory).  I’ve also been working on some documentation here and there.


I looked at classes for next semester today.  My tentative course load looks like this:

  • CS 444 – Operating Systems
  • CS 445 – Compiler Design
  • COMM 444 – Unix Web Administration
  • CS 464 – Game Development (?)
  • EC 350 – Microeconomics (?)

I’m not completely sure about the last two yet.  CS 464 may not actually be offered since it’s pending approval right now and I don’t really know if I want to take Microeconomics or not.  I’ll probably end up doing at least one, if not both, of them.

That’s about all I can come up with at this point.  Hopefully I’ll start posting more often again.

Leave a Comment | Categories: COSI, General, Life

24 July 2008 - 9:19amWP-SpamFree at last


For the last few weeks I’ve been getting 15-25 spam comments per day on my blog.  I have had Akismet installed since the beginning, but I was getting tired of having to clear the queue on a daily basis. I went looking for a better option and found the WP-SpamFree plugin. WP-SpamFree uses some complicated JavaScript and who knows what else to make it very difficult for a spambot to post a comment (I haven’t looked at the source and the description of how it works was very vague). As I understand it, the plugin can’t possibly block a real human from posting, since the logic used only affects bots (because of this, all spam comments are just deleted, there’s no queue to sift through). Since this is a “front-end” spam blocker, you have to deactivate any other “front-end” spam blockers, such as captchas, but you can leave “back-end” spam blockers, such as Akismet, active (though the plugin’s author says it won’t be necessary). So far, the plugin has blocked about 10 spam comments and nothing has slipped through to Akismet.

In addition to WP-SpamFree, I also installed WP Super Cache and AJAXed WordPress. WP Super Cache adds caching functionality to WordPress to reduce the load on the server when pages are requested (by creating static HTML pages to serve up instead). So far it’s working quite well. AJAXed WordPress adds some awesome AJAX to WordPress if you have the time to modify your theme to accomodate it (there’s only like two things active out of the box, the rest require theme modification). I haven’t had time to play with it yet, but there’s a lot of potential.

Leave a Comment | Categories: COSI, General

23 July 2008 - 3:34pmSweet!

, , ,

I was looking at my site’s stats on my Google Analytics account today and I noticed three referrals from a URL I’d never heard of before. Drilling deeper into the report revealed that the referring URL was the “plugins.php” page of this person’s blog. Still not understanding what was going on, I went to this person’s blog and poked around a little and then it hit me… the author of http://burkeism.com/blog is using my Google Calendar Feed Parser plugin! Woo!

What a good feeling it was to see someone actually employing my code on their own website. If you are a Google Calendar Feed Parser user, please leave a comment and let me know. And, if you’re the author of burkeism.com, leave me a comment and let me know how it’s worked for you. And, if you’re a user and you really like my plugin, link to it on your blog so others can find it too!

Edit: Further perusal of my Analytics reports revealed more users of my plugin! I’m psyched. In addition to these referrals from other blog’s “plugins.php” (which are a result of someone clicking on my name in their WP admin panel), I’ve also had 150 referrals from the WordPress Plugins site and my plugin has been downloaded 93 times. Also, a simple search for my plugin (or any derivative thereof, including “google calendar feed”) on Google gets you to my plugin from the first page of results (a search for the exact title “Google Calendar Feed Parser” yields the number one result!).

1 Comment | Categories: COSI, General