« October 2003 | Main | December 2003 »

November 28, 2003

From 27 Thursday of November

Two weeks ago, we decided that the CSCS group was interested in

It seems reasonable that we could do all of that in the context of bots on IRC channels. Furthermore, there's levels and scope built into this: you can start by working on just a bot, and perhaps graduate into contributing to larger and more ambitious parts of the project. Or, you can just dive in, and see what you can do; either way, the idea is that anyone, at any level of ability, can find something of interest to do.

This week, we spent some more time brainstorming about

From that brainstorming, we put lots of Post-It notes on the whiteboard, and sketched out an architecture for our project. Sorta.

What will the bots do?

First off, we brainstormed what the bots might do. We didn't come up with a lot (the chief brainstormers in this group had to go somewhere else).


When we came together as a full group, these ideas were clearly grouped into things that involved Languages & Learning and things that involved Search & Retrieval. You will all be happy to know that this is what traditional artificial intelligence is all about.

Communication and protocols

The protocol group came up with the Bot Net. They painted a picture of bots all communicating with each-other on different tasks, learning and gathering information in different ways, but sharing it to achieve common goals. Or, something like that. We spent some time on issues of authentication ("How do we know they're a BotNet bot?"), security ("What if we crush an IRC network?"), and a host of other details that will undoubtedly be revisited in due time. I think the idea of the bots using an IRC channel to communicate between each-other (so we can actually see and read what they're saying to each-other) was a very cool idea indeed.

The BotNet framework will make use of PircBot to handle basic communication, but BotNet bots will have to be able to respond to higher-level stimuli than just events in channels; they have to be able to converse, well, on the BotNet. Designing the protocol and deciding how to do all this will involve some good learning about designing interfaces and APIs; we'll start small and simple.

So... why are we doing this?

It would be nice if we could win the Loebner Prize, but I don't think we will; it's unlikely that, when directly questioned, our bots will pass for people. However, it was put forward that our bots should probably not be completely annoying. So, our final goal of having cool and useful bots all over the place, communicating and gathering information, is that they're well behaved and they aren't annoying. In essence, we want to be able to coexist with our creations. This is, largely, an HCI and usability concern.

But how will we do all of this stuff?

Infrastructure. We need tools to help make this more doable. For example, will we create a Sourceforge project to store this stuff in? Or, will we install Sourceforge locally (so we get the experience of doing it) and use that instead? What about discussion boards/wikis/etc?

Some of these things we'd like to have in place before break (a Wiki, perhaps, and/or a discussion forum that doesn't suck) so we can do some communication and brainstorming over the holidays.

But what if I think all this sucks?
The talks from faculty, staff, and students in the department next term will be focused on

Given the nature of the project, I could imagine some bits on security, authentication, languages, parsing, and other things related to the project. I do not expect that these talks will all be directly spun at the project itself. Put another way, it would be nice if we got an intro and brush with some mobile computing on small devices (mobile phones, etc.). This will still be pertinent to our thinking about the project as a whole.

Sound good? Kick it around in the comments below, or on the mailing list, and have a good weekend.

Posted by mjadud at 02:39 PM | Comments (3)

Why functional programming matters

One of the weblogs in the list over on the left is Lambda the Ultimate. It's a good place to keep track of for interesting things related to programming languages in general.

There's a pointer to a paper by John Hughes called Why Functional Programming Matters. For those of you wondering why it matters, it might make for an interesting read.

In a similar thread, you might take a look at Paul Graham's webpages; he's an old Lisper (well, I don't know how old he is, actually). His story about the development of Viaweb (now Yahoo! Stores) is a fun read. At any point that a handful of people want to learn Lisp, I'll be glad to run a separate seminar series on that.

Also, related to botNet, (BotNet? DotBotNet? ...), his brief article on Design Philosophy is interesting; Paul is writing about a new language he's developing called Arc, but there's a good point here: if we find what we develop to a pain to use, then noone will use it!

Traffic should go up for a while on the list and #cscs as we attempt to find a name for our project, and I expect to post a summary of the previous meeting soon. Perhaps shendry and I will tag team on that? Who knows...

Posted by mjadud at 12:20 AM | Comments (1)

November 27, 2003

Posting on CSCS

CSCS is back online! This post serves 2 purposes.

  • 1. Tells people how to post on CSCS without using the html interface

  • 2. Tests the above to make sure I can post
  • 1

    The first thing you need to do is get a CSCS account then follow the simple steps below.

  • 1. Download w.bloggar from http://www.wbloggar.com

  • 2. Install it!

  • 3. Open it (this is very step by step probs not the best thing for CS students)

  • 4. Select new and enter your account name and account password

  • 5. Select the following properties:
          Blog Tool: MoveableType
          Account Alias: whatever you account alias is aka Stephen
          Host: www.cs-ed.org
          Page: mt/mt-xmlrpc.cgi
          Port: 80
          Timeout : 30
  • Now it should work!

    but if not....

  • Make sure your firewall does not block it

  • Under the proxy server tab try using IE proxy settings, that got it working for me. Think I need to use that as I am behind the uni firewall. Thats also why I have not uploaded pictures still not got putty working with my web server at home.... sorry going off topic.
  • any probems let me know

    2

    If you see this post it has worked :-)

    Posted by shendry at 02:03 AM | Comments (0)

    November 14, 2003

    URL of potential interest

    Numbers were down this week. Whats up?

    Either way, we closed by trying to build some simple agents capable of following walls or (not) falling off the table. The session started with my quick review of the history of mobile robotics. If you want to follow up on anything I talked about (or if you prefer, "sites I stole content from"), you might check out:

    I think that sums it up. Ah. I also mentioned Valentino Braitenburg's Vehicles; you can get a sense for some of the stuff in the book here, but I still recommend the book.

    And, since I'm linking to things, if you're generally looking for interesting/seminal/mind-blowing things in computing to read, I'd start with Michael Eisenberg's paper Creating a Computer Science Canon (PS, or PDF from the ACM Digital Library; free when you download it on campus).

    Posted by mjadud at 12:12 AM | Comments (0)

    November 12, 2003

    Thursday, Nov 13: A little history, some little robots


    WHEN:5:30 PM
    WHERE:Multimedia lab (Octagon)

    The goal this Thursday is to explore the beginnings of navigation using the LEGO Mindstorm. It will set the stage for future explorations that we might take in a concerted manner, or that you might end up doing as part of your own experimentation and play.

    In the event that we get significantly more people than previous weeks, toys will be preferentially distributed to those who have been attending regularly. Or we'll have everyone fight to the death for them, whichever seems more appropriate at the time.

    Posted by mjadud at 12:52 AM | Comments (1)

    November 07, 2003

    CSCS week2

    Our first hands on CSCS meeting (except for making the model beep last week) enabled us to get to know both the software and hardware. It was highly satisfying to see Lego zipping around the room, and some times into walls :-S.

    Been talking to some fellow CSCS students and they described this as "The most fun they had at Uni (without spending money)" which I personally go along with.

    Below are some selected pictures of the first session I will try and get the other's hosted on my web server over the weekend.

    Posted by shendry at 01:33 AM | Comments (0)

    November 06, 2003

    November 6 meeting

    WHEN:5:30 PM
    WHERE:Multimedia lab (Octagon)

    I don't think you need to bring anything in particular this evening. Digital cameras for documentation are always welcome; I have one, and will try and get home before the meeting to grab it.

    Posted by mjadud at 02:33 PM | Comments (1)

    Microsoft Imagine Cup UK

    We'll feel out what counts as "cool stuff" as time goes on, l and what makes sense for posting here. I thought I'd repost this message from DJB on the newgroups here as something we can look at.

    Microsoft recently launched the Imagine Cup UK - a nationwide programming competition for student developers aiming to encourage students to turn their innovative ideas into real solutions.

    There are three stages to the UK competition:

    1. Stage one is an online multiple choice, code and logic quiz.
    2. Stage two is a coding challenge open to the top 150 entrants from the Stage one quiz.
    3. Stage three is a 'code-athon' - where up to 32 finalists will compete in a three day-and-night coding competition.

    There are lots of prizes on offer during the UK contest including T-Shirts, MicrosoftR Visual StudioR .NET, Office XP and Xbox consoles with the ultimate UK winning team going on to compete in the worldwide Imagine Cup final in Brazil in June 2004.

    You might be interested in the details of the competition and terms and conditions.

    They include the requirement that you use Passport to sign in if you wish your score to be considered.

    Posted by mjadud at 10:55 AM | Comments (0)

    November 04, 2003

    Taking part in posting to CSCS

    If you're interested in posting to CSCS, follow this simple advice:

    1. Write Matt (mcj4) about joining in. Or Christian (clj3). For the moment, Matt is probably your best bet.
    2. Matt (or Christian) sends you an email with a login and password.
    3. You visit /edit/mt.cgi and use your new login and password.

    Most of the information in the CS-ED.org HowTo section is pertinent. Truthfully, posting to these things is pretty damn simple.

    Why would you want to be able to post here? It's a good place to archive links to interesting toys, tools, etc.--anything that might be of interest. At some point, we'll set up some categories for things, but all in good time... Hm. Should weblog updates automatically go to the mailing list?

    PS. (Shameless Plug): If any of you are looking for a place to start or host your own weblog, CS-ED.org is open to students in computing and related disciplines, as I think hearing what students in CS have to say about their experience is valuable.

    Posted by mjadud at 11:24 PM | Comments (0)

    Food for thought

    I'll get the results of our brainstorming up shortly; in the meantime, I'll give you something to think about.

    I started our workshop series (explorers club?) with the prologue from Structure and Interpretation of Computer Programs, a quote from Alan Perlis. The point of our series is probably best captured by this sentence:

    I think we're responsible for stretching [these machines], setting them off in new directions, and keeping fun in the house.

    Now, consider this interview with Bertrand Meyer. Meyer holds the Software Engineering chair at ETH Zurich. This is a non-trivial thing; an academic who sits in a named chair means that their institution has decided to recognize the exceptionally excellent nature of their life's work.

    I've pulled out a bit from the beginning of the interview which is indirectly-yet-directly related to our series:

    There is a very revealing quote by Alan Perlis in his preface to the MIT book on Scheme, The Structure and Interpretation of Computer Programming , by Abelson and Sussman. Alan Perlis wrote:
    I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house.

    That is typical of the kind of attitude that says "Sure, we can do whatever we like. If there's a problem we'll fix it." But that's simply not true anymore. People depend on software far too fundamentally to accept this kind of attitude. In a way we had it even easier during the dot-com boom years, between 1996 and 2000, but this is not 1998 anymore. The kind of free ride that some people were getting in past years simply doesn't exist anymore.

    Bertrand Meyer is a pretty smart guy. Is he right? Have we set out on an endeavour that's a waste of time? Or, is he missing something? Or, could it be that Perlis, in the prologue to an introductory text in computer science, was addressing a different audience, and Meyer is doing Perlis an injustice by pulling it into the context of professional Software Engineering?

    Found via λ the Ultimate, a weblog about programming langauges.

    Posted by at 12:46 PM | Comments (0)