the ned net/ nedlog/ tags/ computer-science

This feed contains pages in the "computer-science" category.

Scientia Combinatoria

Karen said:

After reviewing my diploma, I am intensely curious to know just how they wrote "Computer Science" in Latin on your diploma.

It's written "Scientia Combinatoria", which doesn't seem right - the French and Italian translations look like the English word "informatics", and the Spanish one actually has "computation" in it. I got curious and turned to the oracle of all knowledge, Wikipedia, which happens to have a Latin edition. The entry on Computer Science is titled Informatica, and "combinatoria" seems to be used to refer to combinations from probability, so I guess that settles that.

The real news in all of this is that there is a Wikipedia written entirely in Latin. I browsed over to the front page and the featured article of the month is Pong cervisiale. Wow.

Posted Friday afternoon, June 1st, 2007 Tags: bowdoin computer-science funny
Folding left and right

I just came across foldl.com and foldr.com and it very much brightened my day.

Posted late Sunday evening, December 3rd, 2006 Tags: computer-science programming
Facebook and Privacy

Bruce Schneier, a respected cryptographer, researcher, and security commentator, wrote an article entitled "Facebook and Data Control" about the recent uproar over a new feature on the popular college social network site that made information that members had already made available much, much more visible.

My reaction when I saw the new feature was, "wow, they've aggregated and presented information already available in a concise and useful way. Why didn't they make it an RSS or Atom feed so I wouldn't have to look at it in a web browser?" No longer would a user need to go through a list of friends who had updated thier information and try to figure out what exactly that change was - the exact changes were presented in reverse chronological order on the first page a user goes to on login. Facebook had automated a simple and repetitive task by consolidating and better presenting only the relevant parts of a whole lot of information. In principle this is exactly what a search engine does, and that general process is one of the things that excites me about computer science.

What Facebook didn't do was change the information displayed and didn't change who it was accessible to. No user could gain access to information previously unavailable to him.

The difference between my reaction and the reaction of the 700,000+ users who joined a group in protest of the change is that I understood the situation differently going in. I knew that the information I posted would be accessible to a certain set of people (anyone at Bowdoin, my friends at other colleges, and whomever they shared that information with), that I had limited control over that set of people because of its nature (new people enroll at Bowdoin every year, and I don't know who they're talking to), and that the presentation of information is independent from the information itself and subject to change. The other 700,000+ thought thier privacy had been violated.

I think Bruce's article does a good job of explaining why I would have that understanding and why the 700,000+ would have such a different one. In doing so, he points out many incorrect assumptions and leaves the reader thinking about the meaning of privacy. I believe that having a solid understanding of privacy is very important in this age when computers are fundamentally changing the amount of information we are able to process.

Updates:

Ben suggests - and I agree - that:

One mistake was backlogging the initial feed content. When the feature launched, content that had been created under the assumption of obscurity (if not privacy) was suddenly divulged in an active way. Of course, the privacy of that information was not absolute before, but its availability was at least proportional to other users' curiosity.

Posted mid-morning Thursday, September 21st, 2006 Tags: computer-science opinion
Reflections on CS Movie Night

Tonight the major event on campus is a talk entitled "I Love the Female Orgasm," which according to the program description "combines sex education and women's empowerment with a hearty dose of laughter."

Probably unaware of the aforementioned program, the Bowdoin Computer Science department faculty and students (of which I am one) chose the same date and time to screen "Return of the Jedi."

I think the situation is hilarious.

Posted Monday evening, September 18th, 2006 Tags: bowdoin computer-science funny
June Update

I got back up to Bowdoin a while ago and have been busy.

In terms of my summer fellowship, I've been working with our RoboCup soccer team. Bowdoin has a team that competes in the four-legged league and did very well at the world championships a few weeks back. So far I've been working on improving the walk and updating the development toolchain.

Walking is an important fundamental skill, and while we currently have a decent walk, it could be a lot better. Speed and accuracy are obvious concerns, but also important is stability. The less the view moves while the dog is walking the better it is able to detect objects and keep a good idea of where it is on the field.

I'm implementing a reinforcement learning system based on policy gradient reinforcement. The robot will walk back and forth between two objects, each time changing slightly something about its walk, and will determine if that change improved its gait. Over many iterations, it should discover an improved if not optimal way to walk.

In terms of the toolchain, I am updating the version of the Python programming language we use on the robots and the compiler and libraries we use to cross-compile source code for the robots.

In terms of Python, we have been using the version ported by the rUNSWift team; it isn't the latest version and doesn't contain all the modules we want, however. I've been porting rUNSWift's patches to python-2.4 and have almost got it compiling; we'll see if it actually runs later!

In terms of the compilers and libraries, we're still using gcc-3.3.2 to cross-compile for the Aibos. Cross-compiling is building the code on a different type of CPU than the code is meant to run on. Unfortunately, the gcc-3 series doesn't compile with the gcc-4 one that is now standard among GNU/Linux distributions like Debian and will likely be standard with newer versions of OS X. This means that as we upgrade computers and move to new ones it will be more difficult to keep our toolchain working. gcc-4 also provides more optimized code than gcc-3, and we can always use more speed!

The difficulty with moving to gcc-4 is that it is not ABI-compatible with gcc-3; that is, software that's been compiled with gcc-3 can't directly interface with software compiled with gcc-4. This would be an easy problem to resolve if Sony had released the Aibo code as free software, but instead that have kept it proprietary, and now that they don't want to sell Aibos there's little hope they will release a gcc-4 compatible version. Luckily, someone has pointed me to a gcc-4 option that seems to produce gcc-3 compatible code; I haven't had a chance to test it yet.

Outside of the lab I've also been investigating how best to upgrade Network Operation's wiki. A wiki is a collaborative documentation system that makes it easy for people to record, share, and update knowledge. Since most of our employees are students, we only have them for a few years and are constantly training new people. The wiki has been a great help since I set it up a few years ago, but it is showing its age.

I have been taken with ikiwiki. The traditional wiki is implemented as a web application that stores changes in a database and dynamically creates the page for each viewer; ikiwiki stands that idea on its head. It keeps all files in Markdown-formatted plain text, uses Subversion to keep revision history, and rebuilds the wiki into static HTML on each check-in. There's an optional CGI attachment to allow web-based editing. This non-web-orient, Subversion-backed approach fits in with our general workflow at Network Operations. Unfortunately, I'll need to write a program to convert our old wiki to the new format and one to use Bowdoin's account information, but that's just a Small Matter of Programming.

Posted Saturday evening, July 1st, 2006 Tags: bowdoin computer-science life
Semicolon Wars

American Scientist has an interesting article entitled "Semicolon Wars" which introduces for a general audience the different types of programming languages.

I learned some good trivia. "Endian," a term used to describe byte ordering, comes from Jonathan Swift story, and there's such a thing as "sulkingCamelCase." There was also an amusing paragraph of Dijkstra exerpts and a good John McCarthy comment.

Posted Thursday afternoon, June 15th, 2006 Tags: computer-science programming
Bowdoin's Northern Bites RoboCup Team Featured in Popular Science

Popular Science magazine has picked Bowdoin's RoboCup team as their favorite for the world championships in the four-legged category. The article may be found in the June 2006 issue on page 38.

That's pretty cool. Last year was the first year Bowdoin had a RoboCup team, and they are competing against teams of grad students and postdocs that are sponsored by the likes of Microsoft.

Posted at midnight, May 17th, 2006 Tags: bowdoin computer-science
Now that's a responsive Computer Science faculty

Projects for third- and fourth-year Computer Science students are due in tomorrow at 4PM. The third-year class representative sent one of the faculty responsible for the third-year projects an email saying that the vending machines were out of Irn-Bru and asked if there was any way to get them refilled before tonight. Within 30 minutes a call had been put out to the vending company with the statement, "I don't think an Irn-Bru failure is trivial."

Posted Thursday afternoon, April 20th, 2006 Tags: computer-science st-andrews
Bowdoin RoboCup Team Featured in Local Newspaper

Bowdoin's own RoboCup team, Northern Bites, was featured in The Times Record article "Robo dogs don't exactly 'bend it like Beckham,' but they get the job done." It's a good read. They're off to Atlanta this week for the US championships.

Update 2006-04-18: The Portland Press Herald has a better-written article.

Posted late Monday evening, April 17th, 2006 Tags: bowdoin computer-science
First day of the other classes

I had on Monday the first meeting of my other two classes: a History course entitled "Village to Kingdom: Africa and the Atlantic World, 1400-1880" and a Computer Science course entitled "The Design and Analysis of Algorithms."

Official blurbs:

The History course started out in an awkward fashion. The professor is new at Bowdoin this year and opted to start class by asking each of us to share our name, our major, an interesting fact we knew about precolonial African history, and why we were taking the course. Before he called on the first victem he said how he was excited that over 25 people were in attendance; he apparently had chosen the 8AM Monday slot to deter those who weren't really interested in African history and was excited for classes after what he had heard of Bowdoin students.

I admire his enthusiasm and his efforts to make more intimate a class of relatively large size; however, I believe he anticipated too much. A good number were history majors who appeared to be taking the class specifically fulfill the non-Eurocentric requirement; once this became clear we had a brief discussion on the topic.

Once we got down to class, though, the overview of the course he gave was very interesting. He struck me as a very knowledgable teacher and as a bonus is a South African of British descent who could pronounce the Bantu words.

Algorithms was, well, exactly what I had been told to expect. It's going to be a lot of work but that work will definitely pay off. We spent class talking about simple sorting algorithms and I can't wait to get into the cooler algorithms. I was talking with Mort about sorting and he told me about Radix sort. I get excited about these sorts of things.

The topic that left me the most impressed from the class was not an obscure sort but rather the professor's reaction to Blackboard, the newly deployed classroom management system. Two of my classes were Blackboard pilots last semester and I wrote a scathing critique of the software as part of the end-of-semester survey. It's cluttered, tries to be too much, and generally gets in the way of me finding documents and assignments. I was most disappointed by its self-importance: Blackboard provided us no notification outside the web-based interface when assignments, notes, or other content was made available. I have no plans to slave myself to Blackboard, and I doubt many students do; I predict failure.

In any event, the professor said quite plainly that she would not use Blackboard because she believed in open source and wanted others to have free access to her course materials. I very much identified with this sentiment - through high school and college I have continuously used material from other academic institutions' web sites as a part of class, as outside reading, and when I'm learning in my spare time. I would be much worse off if I didn't have access to that information.

Posted Friday afternoon, September 9th, 2005 Tags: bowdoin computer-science