Blog | Admin | Archives

Useful Linux Command

Today I was searching for a good way to change permissions recursively, but only on directories or only on files, because of the vast difference in meaning for the executable flag between the two. Google is a great friend, and led me to a site, whose address I do not exactly remember, but whose advice was perfect:

find . -type d -name public_html -exec chmod 0755 {} \;

Just strip out the -name argument, and change between -type d and -type f to chmod only files or only directories, recursively from the current directory. A great way to correct past misconceptions about the setgid and setuid bits!

Good Reads on the Unix Security Scheme

The more I learn about the Unix security system, the more amazed I am with how well it accomplishes so many taks while remaining very lightweight with just 12 bits of permissions per file. With my newfound better understanding of the setuid and setgid bits, specifically at how they behave differently when applied to directories and files, I am now starting to think I have a pretty good grasp of how the Unix security scheme works, and how to make it both high security and highly usable. User Private Groups is in my view the best way to set up a user-friendly filesystem that allows for higher-than-average security and higher-than-average usability for webmasters.

CFML troubles

The website of the Titan Robotics Club uses the ColdFusion Meta Language (CFML) to generate and display its dynamic content. I posted earlier about how ColdFusion was an easy language to learn, and that it seemed semantically powerful, able to accomplish a lot in not too many lines of code. While that is still true, there seems to be a dark side to the ColdFusion story or at least that of our current host, It seems that of the server’s stability leaves something to be desired, especially on start-up. For example, if you are te first person to visit the site after some period of time and (at least this is what I speculate happens) the ColdFusion interpreter has shut down, you are greeted by a hideous page with SQL statements and unprocessed cfoutput statements, which is hopelessly ugly. Occasionally when just reloading the home page, you will witness the same phenomenon. Needless to say, we can only hope this doesn’t happen when a judge is around. So, to hopefully minimize the chance of this happening, I created a shell script that, every 30 seconds, reloads the home page, and logs whether it recieved a “big” (correct) or a “small” (incorrect) version of the page. This way, the command interpreter should remain active (hopefully) and I’ll get statistics on how often the page loads incorrectly, even after a “hot” start. Nothing like hard data with which to confront your host (or should it be Macromedia?) .
Read the rest of this entry »


I am sitting in my Philosophy of Science class listening to my teacher pontificate about how government programs really are more efficient and accountable than those in the private sector.

























Read the rest of this entry »

The Worst Thing…

I think that the worst thing that ever happened to my ability to completely read books was a laptop computer. When the computer can go anywhere I can, almost as easily as a book, there are plenty of excuses to hop on it (check email is a good one), and plenty of reasons to stay on (get involved in an IM conversation), and the reasons to leave (sleep, books) never seem complelling enough until they are already by the wayside. Thus, I write this at home, already having missed 10 minutes of my class; I don’t know if I’ll even make it there today, since, well, I’m on my computer…


After seeing the robot off into the hands of the FedEx guy to 1:30 today, Dan and I went into Seattle to eat, walk Alki beach, and eventually, watch Constantine at the Cinerama. I had read a review in the Seattle Times that, though not exactly lauding, piqued my interest, so I decided it was worth a shot, and most any movie is better in the Cinerama.

And the choice was a good one. Though Dan didn’t think too much of it except for the special effects, I quite liked just about everything about the movie. Maybe it has something to do with my own internal search for truth; I don’t know. But Keanu Reeves was the right man for this role, and the theology behind the movie was intriguing, to say the least. The movie could have been extraordinarily silly, but for me, somehow, it stayed on the right side of the line, and instead I found it fun, exciting, and very much worth the day away from work.

The Robot is Packed

Dan says it better than I would have, so I will steal his work and post it here :-)

Mr. Postman, how many stamps do you put on a robot?

Spent most of the day over at Bellevue HS working on the robot. Bellevue’s robotics club, has been sharing some of their space with us and we have been sharing some of our equipment (particularly the parts of the playfield that we have constructed). It has been a mutually beneficial arrangement. We spent the bulk of the day working on autonomous modes. If we had another week, I am confident we could get our desired autonomous mode working. Namely, visually acquiring the location of field elements and using that information to run one of 16 driving programs in order to place a tetra on the center goal. All the pieces of code are there, we just don’t have enough time to plot out and test all the routes. Instead, we have fallen back on our “Plan B.” Plan B is to use dead reckoning to grab a tetra off one of the autonomous loading stations and place it on the near, inside goal and then return to near the loading station for the beginning of user-controlled mode. By the end of the day, we were doing this with pretty fair regularity. We will have to tweak our code a bit to accomodate for slight differences betweeen our practice field and the field at the Pacific Northwest Regional (like carpet type, slight differences in measured distances, etc.), but I am pretty confident we will be able to do this about 75% of the time. Based on what I have heard on the boards and what I saw from other teams at our the practice meet that we held yesterday, probably less than 10% of all teams will have a viable autonomous mode. I really wish that FIRST would give teams a little more time. 6 weeks is just too little time to be reinventing the wheel every year. Anyways, bitter recrimintion aside, it has been a WILD ride these last six weeks and I am pleased to say that Tyr is now safely ensconsed in a very large shipping crate awaiting pickup. Portland here we come!