[ Cartoons, prints, and gift cards | Blogging | Computer consultancy | Safe spreadsheets fast with Excelsior | Modular spreadsheets and the Spreadsheet Parts Repository | Category theory | Economics and distance learning on the Web | Algebraic Web specification and other languages | Prolog | Artificial Intelligence | Holographic reduced representations | Writing | Photos | Recipes | Unusual clothes | Dialogues and quotes | Transhumanism | Publications | Free software ]
I draw cartoons and sell gift cards and prints in Oxford. My cartoon blog has almost all my cartoons. There is a portfolio in Word format showing a selection here: I prepared it for the East Oxford Drawing Collective's November 2011 exhibition in the Said Business School. And there is a gallery here at scrapbook.com showing my technical and scientific cartoons. You can also see these by following the "Previous cartoon" link back from Somniloquacity, which is the last cartoon I drew for Dr Dobbs.
I used to blog for the Dr Dobbs computer magazine. An index to my postings there can be found here and also down the right-hand column of this page. These indices point at copies of the postings that I've kept on my own site. Each posting also links to the copy on the Dr Dobbs site, but because Dr Dobbs keeps updating its site and changing the URLs, some of those links may no longer work. The postings include the technical cartoons linked back from Somniloquacity. Finally, I have a blog here which includes all the cartoons, some of the Dobbs postings, and some other random things.
I consult on spreadsheets (including Excel macros and Visual Basic for Applications), programming, Web development, data conversion, and writing — please see my Spreadsheet Factory page at www.spreadsheet-factory.com , and my Freelancers.Net portfolio.
Do you need, quickly and reliably, to make different versions of a spreadsheet, say by resizing it or changing its layout? My Excelsior program may help. With it, you can write spreadsheets as programs in a language that uses meaningful identifiers rather than A1-style cell names, then compile them into Excel or Google Spreadsheets.
Excelsior separates layout from calculation, so you can arrange the same formulae in many different ways just by changing a few "layout" statements.
Because of the meaningful identifiers, Excelsior programs are easy to read; and with Literate Excelsior, you can list your programs as nicely formatted Web pages. Considering how badly documented spreadsheets are, this is important. Papers about Excelsior, plus demonstrations and example programs, are linked from my Excelsior page. You can get a free download of Excelsior 1.3 for Windows, from my Spreadsheet Parts Repository Excelsior page.
I am on the programme committee of the European Spreadsheet Risks Group.
Excelsior is modular: you can store modules in different files, then include them in your program. I also have software for decompiling or reverse-engineering spreadsheets into Excelsior modules. Together, these let you share code between spreadsheets, something impossible in plain Excel.
Taking this idea further, I have set up a Spreadsheet Parts Repository, from which you can download calculations you'd find hard to program yourself. Please see that page for more info, including demonstrations with Excel and Google Spreadsheets, and the contents list.
Still on the technical side, my inspiration for Excelsior came from a branch of mathematics called category theory; and from Joseph Goguen's sheaf semantics, which uses category theory to model systems of interacting objects. I put some Web-based category theory demonstrations on my server: see also my n-Category Café thread about Graphical Category Theory Demonstrations. I am also interested in applying category theory to analogical problem solving and to machine learning. I've written a little about this in Generalisation is an adjunction; and in an n-Category Café posting about the benefits of category theory for cognitive science and Artificial Intelligence. That posting is in several sections, broken up by readers' comments, so this copy may be easier to read. I have some experiments in mechanising sheaf semantics, which I call System Limit Programming.
Or you could read about Algebraic Web Specification.
Other attempts, of a quite different nature, at building tools for authoring interactive Web pages are Web-O-Matic (based on sheaf semantics) and WSM (based on the notion of Web pages as functions in a state-transition network).
I used to teach the programming language Prolog, and write a lot of my software in it. I have a few demonstrations of Prolog on the Web. One of them is a program that generates plots for SF stories.
I have also written: an automatic tester for Prolog; the GRIPS pre-processor for translating functional definitions into Prolog; and thoughts on Why Use Prolog?.
There is some free software in other languages on my free software page.
My Prolog teaching was part of the Artificial Intelligence course I used to teach at Oxford. In teaching my students, I liked to build tiny but complete artificial intelligences or "agents", in their own in their own virtual environments (microworlds), to illustrate classical AI, and to demonstrate the difference between this and the so-called "nouvelle AI" approaches.
I have done lots of commercial AI work, including implementing expert systems and Prolog compilers, teaching AI and Prolog, and writing a morphological generator for the Alvey Natural Language Toolkit.
These are an ingenious method for storing structured data in high-dimensional vectors. I have written a SWI-Prolog implementation of holographic reduced representations. Also, here are some suggestions about the use of category theory for elucidating what holographic reduced representations are really about.
From November 2004 to July 2006, I wrote an AI Newsletter for Dr Dobbs. In January 2006, I did a special issue on the 50th Anniversary of Artificial Intelligence. For the complete set, please visit my AI Newsletter index page. Amongst these, you will find: two AI Alphabets; the artificial life of Karl Sims; programming the Aibo, World Wide Mind, and Ronald Reagan; why Microsoft was really created; and those disembodied rat neurons that, somewhere in Florida, dream of flying a fighter jet.
Moving to less technical matters, I've made many happy visits to the Department of Informatics and Department of Economics at the University of Minho in Braga in Portugal. On my Imagens de Braga page, you can see what Braga looks like. While there, I enjoyed Interring the Cat. (I was pleased to find a copy of that article in RAIO-X, the magazine of the University of Minho's maths and computation group, edited by Alberto Simões. Thanks Alberto!)
As well as Portuguese academic rituals, I've written about Beating the Bounds, what it is like to be foreign, why object-oriented programming is philosophically defective, e-learning (an interview I did for the Greek X-RAM magazine), unrolling the loop in the primordial soup, how to use the JJTree parser-generator, or economics on the Internet.
Here are photos from Romania, Bulgaria, Portugal and other places. And I've already mentioned my Imagens de Braga page. More recent are these photos of the Oxford town criers' competition of July 2, 2012.
From Portugal, and also Greece, Holland, Romania, and Kidlington and Gosford gym: recipes I wrote up for Elder Stubbs. They include Marrow Rum (from ex-sailor Ron in the gym); and Afghan Leeks, sent by my friend Andrew Watson from Kabul.
To escape from the black and beige and suitedness of English men's clothing, and for reasons explained in my Dr Dobbs essay Dress Code, I sometimes wear exotic clothes, most notably Moroccan shirts and "sarouel" or "qandrissi" trousers. Which are much more comfortable than jeans. There are some photos here and here.
No one has done more to elucidate transhumanism than science-fiction author Greg Egan. However, I want to do my bit. Hence my Dr Dobbs blog posting Why I Want to be Transhuman; and, with a look more at time than powers, A Plea to the Future.
Google Fish (cartoon)
Hear Me Croak (cartoon)
The Ills That Steel's not Heir To (cartoon)
SAnTa NAV (cartoon)
Casting One's Bread (cartoon)
Greater and Lesser (cartoon)
On the Drawbacks of Modern Technology (cartoon)
Fearful Vista (cartoon)
Eggsamining Mereology (cartoon)
Gonna Sit Right Down ... (cartoon)
Døt Døt Dæsh (cartoon)
Wild Flowers (cartoon)
Little White Lies (cartoon)
Alien Imperative (cartoon)
Language Gap (cartoon)
Getting Tough (cartoon)
Recaptioned (with cartoons)
Good Weather for Ducks (cartoon)
Waiting for Moore (cartoon)
Reprogramming Aibo (cartoon)
Sweet Words (cartoon)
No Earthly Power (cartoon)
Mr. Excel (cartoon)
The Curse of the Thinking Classes (cartoon)
And No Play (cartoon)
Captioned (with cartoons)
I Tweet, You're a Twit, He's a Twat (cartoon)
Bound to be Called (cartoon)
Fatal Addition (with cartoon)
An Ounce of Image (with cartoon)
AI Phone Home (cartoon)
Filtering the Inauguration (cartoon)
Scenes from a New Depression: Number 27 (cartoon)
Happy New Year (cartoon)
[ Artificial Intelligence Society
[ Belgium, Netherlands, Poland... computing ... some jokes ]
[ MS-DOS, bureaucracies, APL, ... some quotes ]
[ Fortran, breweries, ants, ... some verses ]
[ Links ]
[ Matt Carroll's
[ Dougal Lee's Richard Head and the Bomb at SPC ]