Arduino & Physical Computing
I gave a talk last week introducing the Arduino platform to some MQ students and staff. It seemed to go well and there is a bit of interest in carrying on with a regular meetup in the Electronics labs – more details to come when we organise a time. Meanwhile, here are my slides from the talk, not that they’re very informative by themselves but I wanted to try out slideshare. Read the rest of this entry »
Using Robots to Teach Programming
This is a project idea for an Honours student or similar. Please contact me if you’d like to follow this up.
I’ve been having fun with arduino boards lately; these are small single chip development boards which have input output lines that can read sensors and control motors etc. They are programmed in Wiring which is really C with some sugar and libraries added. I’ve been thinking that the arduino would make a nice platform to stimulate some interest in beginning programmers as a break from the usual run of problems that we set them. This project would focus on developing a set of exercises suitable for a first or second programming class (I’m thinking COMP125) to develop some of the ideas explored there (data structures, simple algorithms) in a concrete context. Part of the project would be building a suitable platform (I fancy a Blimpduino) and then perhaps evaluating the use of the platform with real live first year students.
A RESTful interface to Annotations on the Web
Annotation data is stored and manipulated in various formats and there have been a number of efforts to build generalised models of annotation to support sharing of data between tools. This work has shown that it is possible to store annotations from many different tools in a single canonical format and allow transformation into other formats as needed. However, moving data between formats is often a matter of importing or exporting from one tool to another. This paper describes a web-based interface to annotation data that makes use of an abstract model of annotation in its internal store but is able to deliver a variety of annotation formats to clients over the web.
Presented at the The 2nd Linguistic Annotation Workshop (The LAW II) at LREC2008, Marrakech.
Download PDF
Sparql Endpoint for Python WSGI
As part of DADA (and yes, that page is a bit out of date) I wanted to provide a Sparql endpoint to allow experimentation with querying the raw RDF annotation data. So far, we’ve built everything using Redland in Python but it seems there is no exsiting Sparql endpoint implementation for this combination. The Sparql protocol document is long but as far as I can tell the core of the protocol is a simple GET request with an encoded Sparql query, results are returned as raw XML in the special Sparql result format or as RDF/XML if the return type is a graph. This proves to be very easy to implement on top of Redland since it’s query operator returns exactly those result types.
So, I present SparqlEndpoint-0.1, a python module that provides a WSGI conformant implementation of a Sparql Endpoint for Redland. It almost certainly doesn’t implement all of the protocol standard and it can be improved no end, for example by making it independant of the RDF backend it queries (eg. using RDFlib).
I’m not putting up a demo endpoint just yet as I’m having severe performance issues with my development server in combination with Redland. The triple store is growing rapidly to the millions of triples and the result is a huge latency (tens of minutes) to perform some queries. Given some recent discussion on the Redland list I’m wondering whether a jump to one of the RDF specific stores is the thing to do. This would probably mean rewriting my code in Java but based on the Berlin Sparql Benchmark numbers, Sesame and Jena have the kind of performance I need (sub second query response times on 100M triples).
Well, enough of that. If you are interested in SparqlEndpoint please download and take a look. If there is interest I’m happy to share it and host development somewhere accessible.
An Evaluation of Portfolio Assessment in an Undergraduate Web Technology Unit
One of the perennial issues that is raised in student surveys is that of effective feedback. As part of our ongoing review of teaching, we identified feedback on assessment as a target area for 2007; this paper describes the evaluation of one strategy for improving this feedback that was implemented as part of an undergraduate unit.
Paper to be presented at the National UniServe Conference 2007, Sydney, Australia. Download PDF.
Version Control for RDF Triple Stores
RDF, the core data format for the Semantic Web, is increasingly being deployed both from automated sources and via human authoring either directly or through tools that generate RDF output. As individuals build up large amounts of RDF data and as groups begin to collaborate on authoring knowledge stores in RDF, the need for some kind of version management becomes apparent. While there are many version control systems available for program source code and even for XML data, the use of version control for RDF data is not a widely explored area. This paper examines an existing version control system for program source code, Darcs, which is grounded in a semi-formal theory of patches, and proposes an adaptation to directly manage versions of an RDF triple store.
Paper presented at ICSOFT 2007, Barcelona, Spain, July 2007. Download PDF
Screencasts in Teaching Web Technology
I’ve been using screencasts again this year in COMP249 (Web Technology) and have settled on a fairly stable way of producing them using Camtasia on Windows. This post is here as a container for the videos that I’ve produced this year so they can have a life outside of COMP249 as that website is updated.
PhD Scholarship in Semantic Web Technologies for Annotation
I have a PhD scholarship available for a project in applying Semantic Web technologies (RDF, Sparql, Annotea) to the Linguistic Annotation problem. Here’s an outline:
Shared collaborative distributed annotation using semantic web technologies.
The Semantic Web augments the current Web with machine-processable information enabling humans and machines to work in cooperation; in our context, we are using it as the basis of a linguistic annotation system that is used by language researchers to annotate language resources. This project will look at the issues raised when we allow many people to collaborate on authoring these annotations and making shared annotations available to a community of researchers. This crosses a number of existing areas of research including the semantic web and social computing, and extends the range of interactions available to researchers over the web.
Of course, as usual there is scope for variation on this theme, if you’re interested in this problem space and want to pursue a PhD in Australia, please get in touch. The scholarship is open to Australians and International students.
Update: Unfortunately this scholarship is no longer available, however Macquarie does have an active scholarships program and from time to time new scholarships are available that could cover this research area. Please check the Macquarie scholarships page for current details and feel free to contact me if you’d like to discuss options.
Welcome COMP249
This is just to welcome any COMP249 (Web Technology) students who might visit following my link from the lecture notes. You’re all welcome to look around at my truly random thoughts.
The Machine is Us/ing Us
Here’s an excellent video talking about text, hypertext, touching on the internals of HTML and XML and how Web 2.0 has changed the role of the reader. The web is using us, to tag, classify and label the stuff we write so that we can find it.