Skip navigation

Monthly Archives: March 2008

Warning: this contains a travelogue of my interesting, but perhaps tedious explorations while attempting to achieve full functionality with my mouse, and does not come to a solid conclusion.  If you have some useful information, feel free to drop a comment.

I recently began the quest to achieve full functionality with my mouse (as has been mentioned, an Intellimouse Explorer 4.0A).

This is my current config: Read More »

I use an Intellimouse Explorer 4.0A, which has always required modifications of xorg.conf for forward/back to work under linux.

With firefox 2.0, button mappings for forward and back required one of two things to make them work:

Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 6 7"


xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11"

In firefox 3.0 (at least beta4), button mappings have changed. To get my my buttons to work, I had to run:

xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11"

which simply undid the change I had made to xorg.conf for firefox 2.0.

I have now removed my mouse-related modifications to xorg.conf.

Even if you have identical hardware on your machines, there are certain locations that should remain unique in order for your system to function.

Here are some things you should not mirror, even if you have identical hardware.

  • /dev/
  • /etc/udev/
  • /etc/hostname
  • /etc/networking/interfaces
  • /proc/
  • /sys/

You probably do not want to mirror these, but that will vary.

  • /home/
  • /root/
  • /var/log/

Also, if you are running a linux high availability cluster, you will need to exclude these.

  •  /var/lib/heartbeat/hb_uuid
  • /etc/ha.d/*.pem

Our chapter constitution tells us that we should have elections the first week in December.  Unfortunately, we have a slightly unusual situation. Before this last semester, the ACM chapter was dead.  None of the staff had any idea of what was going on, and most students were unaware of its existence.

From what I understand, each year a new faculty adviser is appointed. Because of this change, I was actually able to get somewhere. Quite conveniently, Dr. Woodfield was actually interested in there being an active chapter. He had asked Kendell Clement to help out when I tracked him down.   Kendell, Scott Ruoti and I got most things in order.  We set up gaming nights and seminars, went to the ACM ICPC, and set up some chapter programming competitions. Read More »

Just so everyone knows, linux systems are supposed to talk to you.  They should at least tell you if something goes wrong with your system, or if a cron job fails (of course, this is very configurable).  Unfortunately, the email system cannot be set up without human intervention.

There are many possible postfix configurations, but the easiest and most succinct I have seen (at least for a gentoo user) is right here.  It uses your gmail account to give you access to google’s mail servers (which is very much like using KMail or Outlook to send messages).  Alternatives exist (such as using your isp’s smtp server), but this setup is the best option for me. Read More »

I don’t even know if this program I am building deserves the title of grammar checker.  Regardless of what it deserves, it must be referred to as something.  I will refer to it as a probabilistic grammar checker.

My basic premises are these:

  1. It is impossible to precisely parse natural languages, due to grammatical ambiguities
  2. Simple algorithms can often provide results that are superior to more complex algorithms
  3. Simple algorithms are easier to analyze
  4. Effective analysis can bring significant insights on how to improve an algorithm

Based on these premises, I am building a brain-dead grammar checker.  As I test it, I will see its failings, and from those failings will be able to analyze its weaknesses.  With a knowledge of its weaknesses, I will be able to either enhance the algorithm in minor ways, or discover what issues exist in my underlying assumptions. Read More »

A Followup:

Well, I did some C file IO, along with implementing a simple binary search on a dictionary.  I can’t believe how easy it was.  I haven’t done straight C since my first internship, which was just after my freshman year.

As a side note, I do use C/C++ pretty heavily in competitions; it’s definitely C++, because I use lots of the C++ libraries, but almost anything else I slop together using structs and functions.  While in competition, it’s best to reduce the mental overhead as much as possible.  Plus, I love C format strings.  They are a lot easier than having to remember C++ formatting… Read More »