This week was Brain Awareness Week. I found that my university was giving some lectures on the brain, so I attended them all. As expected, it was quite interesting. I knew the basic concepts from before, but it really helps to hear different people talk about different subtopics, as it gives me a fuller picture of how this wonderful organ...
I've just put my Common Lisp Tcl/Tk bindings online. They differ from the existing LTK library in that they... Support for both FFI bindings and talking to a wish shell. Have hardly any 'wrapper' functionality — you're directly driving a Tcl interpreter from Lisp. They've only been used in one medium-sized project so far, but they are so simple...
I've been playing with Chipmunk lately. It is a C library that simulates physics in two dimensions, and is intended for use in games. It's quite easy to use, but there is a bit of overhead in setting up graphics since I have to do that on my own. I'm using OpenGL through the SDL library, and it works quite smoothly. Here is the result of today's...
Fabien Sanglard's Website March 19th, 2009 When I got started learning bump mapping and parallax mapping, I found a lot of tutorial involving a simple rectangle but nothing close...
I translated the Mission Mode screens: www.flickr.com/photos/emsef/albums/72157614337766883 2020-06-29: I wrote a video game FAQ and uploaded it to GameFAQs: www.gamefaqs.com/ds/940888-1500ds-spirits-vol-5-hanafuda/faqs
Richard M. Stallman was at the university (University of Oslo) today, and he gave a talk titled "Copyright vs. Community in the Age of Computer Networks - Free software and beyond". I was there, of course. It was an interesting topic, though I cannot say that I agree with everything he stands for.He explained about the Four Freedoms of the Free...
I’m back in Melbourne. Z and I have been back for over a week – and I’ve been back at work since the middle of last week, slowly setting up while Z has been settling into school. C returns tomorrow, and the place will feel like home at last. The philosophy blogosphere is all a-flutter with the release of the 2009 Leiter Report. We have known for...
Previously we looked at how the kernel manages virtual memory
Applicative and ConfigFile, HSQL body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px...
Memory management is the heart of operating systems; it is crucial for both programming and system administratio
Dear Gnome,This is completely ridiculous. According to top, "clock-applet" is using 353M virtual memory, of which 17M is resident. I have no swap partition, so it really makes me wonder why those 336M were allocated in the first place. If they are not resident, and not in swap, what are they? Blank pages? mmap()ed files which can be swapped in on...
One last post as I race out the door. It appears my attempt to quash the enthusiasm surrounding SMIL doesn’t seem to have worked. It seems like some people are genuinely interested in SMIL and not just for Acid3!
Well, SMIL has finally landed on mozilla-central! It’s been a long road since I first started out on this project nearly 5 years ago but we’ve finally reached the first milestone! Thank you very much to many who have helped or even just offered encouraging comments but thank you particularly to Daniel Holbert, Robert O’Callahan, Chris Double, and...
When trying to understand complex systems, you can often learn a lot by stripping away abstractions and looking
We’re having a wonderful time on our holiday, cruising through the southwest of the USA. The sights have been spectacular, varied and unexpected. The highlight so far was Bryce Canyon. The Grand Canyon is grand, and sublime in its own way. Bryce Canyon was totally unexpected: I had no idea erosion could do just that. Z ran around like a madman...
This post shows briefly how CPU caches are organized in modern Intel processors. Cache discussions often lack co
Here are some random, miscellaneous items of news, concerning what’s been happening around here, around now. It’s exhausting, but lots of fun, to host visitors. Since just before Christmas, we’ve had visits from two good friends (separately) and four family members (one batch of three and one solo), as well as meals with other friends over the...
We’re going on a holiday! Tomorrow at noon, we’ll be on a Qantas 747 to LA, and at the other end, the three of us will be enjoying four weeks of break. It’s mostly time off for all of us, with a few detours for work talks for me (at Pitt, and at UConn) and for Christine (at Harvard, San Diego, Berkeley and maybe Stanford). It’s our ‘consolation...
The appendix to Kukla and Lance’s book is the preliminary development of a score-keeping semantics that begins with the broader field of vision opened up when we eschew the declarative fallacy and make use of abstract versions of the pragmatic distinctions developed in the body of the book.
Yay, back to SMIL! This is just a brief update to let you know about the state of SMIL in Mozilla! Here’s the low-context summary:
I've released the JavaScript parser (in Common Lisp) that I had sitting around as a proper package. It's small, fast, and complete, but not terribly well-documented. Get it from the project page.
It’s Christmas break here, and I’m taking a break, with visits from family and friends, and then a trip to the USA for a holiday (and for a couple of little side trips to see friends and give a few talks). More about that in a little while. To share the Christmas spirit, I’ll share a favourite carol: The tree of life my soul hath seen, Laden with...
Lojbot body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid #efefef; } a...
Kibro on Shared Hosting body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
(What follows is a bundle of ideas I’ve been trying to write up for some time. Instead of making it a fully fledged paper, I’ve decided to rough it out first as a blog post. If anything comes of it, I’ll polish it up. Let me know what you think.) Are there any possible worlds? The idea of a point in logical space – at which every proposition is...
I’m on a roll with the writing: I’ve managed to get another paper converted from slides-from-a-talk to real, live, words on a page and actual proofs. The paper I’ve worked on over the last couple of days is from my presentation from WCP4 on non-classical theories like non-classical theories of numbers, classes, or truth. I’m very happy with this...
Stephen Read’s work on Bradwardine’s theory of truth is some of the most exciting work on truth and insolubilia in recent years. In this paper, I give models for Read’s formulation of Bradwardine’s theory of truth, and I examine the behaviour of liar sentences in those models. I conclude by examining Bradwardine’s argument to the effect that if...
It’s good to get back into writing. Here’s a paper “Truth Values and Proof Theory” that I’ve been thinking about for a long time. I presented a research seminar on this material last year – it’s taken me this long to write it up, due to other commitments. Here’s the abstract: In this paper I present an account of truth values for classical logic,...
My trip to Guangzhou was super. Thanks, Guoxin, Min and Xuefeng for looking after me and showing me the sights of Guangzhou, and to Professors Ju and Zhu for the invitation. It was a wonderful experience for me, and I look forward to many more visits to China, and to the Institute of Logic and Cognition. Since then, I’ve been off to Canberra for...
I've sort of let this blog lie fallow while my attention was distracted by having a new baby, playing shiny guitars, twittering, making podcasts and YouTube videos, and other distracting things. I am excited to see that Real World Haskell has gone to press, and so I am reading the electronic edition while waiting for the print edition to arrive....
The primary purpose of this site seems to be travel announcements, so rather than break the trend, I’ll post another travel announcement. On Sunday, I’m off to the Institute of Logic and Cognition at Sun Yat-Sen University, to give three lectures on my research. This is my first trip to China, so I’m more excited (and more nervous) than usual for...
Haskell Formlets: Composable web form construction and validation body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height:...
Kibro: Haskell, Lighttpd and FastCGI body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px...
Hi,It's been a while -- I've been mostly busy with university. Maybe I won't try to follow four classes next year. In other news, we didn't make it (with kmemcheck) for 2.6.28 either. Oh well. We did at least make an impression by discovering two more bugs in 2.6.28-rc.Now for the topic of this post: Recursive type definitions in C. More...
New Kibro body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid #efefef; ...
Kibro refactoring body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
I update “Truthmakers, Entailment and Necessity” with a response to Stephen Read's wonderful Mind 2000 argument to the effect that I got the disjunction thesis wrong. I think I didn't get it wrong, but figuring out why it's OK to hold that a truthmaker makes a disjunction true iff it makes a disjunct true is not as straightforward as I first...
I’ve made two new interesting discoveries about wpa_supplicant since writing my last blog post on the subject. (Actually, I pretty much made both of them while reading documentation in order to write it, and have been lame about writing them up). Using wpa_gui It turns out that wpa_gui not only allows you to select existing networks, but also to...
Hi,First of all: Scribe. That is my new pet project. Actually, I don't know how serious it is yet. But I've made a Project out of it; maybe somebody else who is interested will come along and help. We'll see.But what is it? Well, it's really just a demo so far. A demo of a "3D pixel engine". It started out as an experiment to see how the graphics...
As most of you probably know, X has several different mechanisms for copy-paste, used by different applications in different ways. I know some people who use them deliberately, juggling two pieces of text in different clipboards at once, but for me, it’s always just been annoying. When I copy something, be it by Gnome C-c, emacs C-w, or selecting...
Stephen Read has recently discussed Thomas Bradwardine’s theory of truth, and defended it as an appropriate way to treat paradoxes such as the liar. In this paper, I discuss Read’s formalisation of Bradwardine’s theory of truth, and provide a class of models for this theory. The models facilitate comparison of Bradwardine’s theory with...
I finally got fed up with Blogger, and am moving this blog to live on Wordpress hosted off of scripts.mit.edu. In the process of converting everything over and setting up Wordpress I’ve decided I hate it, but hopefully I hate it less than I hate Blogger. We’ll see. I’ve also changed the URL to this blog from http://nelhage.com/blog to...
I finally did it.I fixed the problem with single-stepping REP STOS (and MOVS) instructions on the P4. (Look in the blog archive to find the original post.)At first, I wanted emulate the instructions completely. But it wasn't really that easy. My naïve implementation did support different register/data widths. But I soon hit some real...
Phew! What a long rest-of-the conference! I’m now back in Tallinn, after the rest of the conference: 5 talks on Day 3, and one wrapup talk on Day 4. My comments concerning Days 3 and 4 will not be as extensive as those for Days 1 and 2. I liked these as much as the earlier talks – it’s just that my stamina has flagged. Day 3 The day kicked off...
OK, it’s a short day here today – thankfully, since I’m knackered after Day #1 – with two talks. Last night we dined at an Italian Restaurant, and I learned more about Roger Swyneshed from Stephen Read, than I ever expected to learn. Talks today are: Peter Pagin, on Universalist and Actualist Consequence. Peter connected his work with Kathrin...
We’re coming semi-live from Tartu, as long as my computer’s battery lasts, anyway. For live off-the-cuff comments, try my experimental twitter stream, which is profoundly silly, but fun to fiddle with on my phone when my fingers are itchy. The lineup today. Me, giving “Pluralism and Proofs.” I think I went well. Look at Ole’s sneak-preview of...
If this is Thursday, it must be Tartu. The conference starts today, and I’m up first. The nerves have started to jangle just a bit, since the audience is about as high-powered as any in my experience at international conferences. It’s just as well as those who intimidate me the most this time around (due to their all-round awesomeness combined...
There were a handful of small fixes still sitting around, as well as the deftable addition. It has been four months since 1.12, so: 1.13! Champagne all around. Download.
I’ve arrived in Amsterdam. Getting here was touch-and-go. My decent wait between my Melbourne → Singapore flight and my Singapore → Amsterdam leg whittled down to around 45 minutes. That involved a trek through the terminal, a tense wait at Transfer Desk C (where people in the queue in front of me were arguing with the staff about visas, and...
Bag packed, ticket & passport at the ready, computer charged, phone charged and synced, books to read located, papers to read/referee/assess all printed or downloaded. I must be going on a flight. The trip takes me from Melbourne to Singapore to Amsterdam to Tallinn to Tartu, and then I retrace my steps to get back here in ten days. That’s too...
I’ve been using wpa_supplicant to manage wifi on my Ubuntu laptop for a while, and have found that it’s pretty close to what I want for managing wireless — closer than anything else I’ve found, at least. I figured I should document my setup and experiences. Some Background You probably all know just how much wireless on Linux can be a pain to get...
I had thought that we (the Faculty of Arts at the University of Melbourne) were trying to keep our difficulties an internal affair, but apparently we’re not. Given that this is all public news, I suppose I could comment. The take-home-message from this memo from the Dean: (1) The budget in the Arts Faculty is not yet in the black, though it’s...
Out of the five Australians who were chosen as nominating editors of this year’s Philosophers’ Annual, four are from The University of Melbourne. The lucky 4 are Hazen, Schroeter (François), Schroeter (Laura), and Restall. (The other Australian is David Chalmers.) 4 out of 28 is a good strike rate (that’s 1 in 7, if you’re too lazy to do the...
I’ve been pretty quiet here, lately. I’ve been busy with things, getting stuff done. I hope to be posting more soon, when various up-in-the-air things are more settled. Still, here are some recent highlights which are worth sharing. WCP4 was a blast. It was very busy, but lots of fun was had: it was good to catch up with many folks I hadn’t seen...
After dragging my JSON implementation through various projects, and having several incompatible versions exist at the same time, I got permission to open-source it from the company that originally paid me to write it, so it has a home now: ST-JSON. There already exists a comparable library called CL-JSON. I originally wrote a new one because the...
GHCi on Acid body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid #efefef; ...
(This is something I wrote for a now-defunct web publication in 2008. I've inlined the text here.) Giving caches a chance Though it tends to get treated as one, HTTP is not just a dumb file-transfer protocol. It allows you, to a certain degree, to specify an intention with your requests (GET/POST, with PUT and DELETE thrown in if you really want...
(This post contains some reflections on the hypothetical design of an ideal programming language...)Don't use or support the use of preprocessing source code. Preprocessing means that all the tools which operate on the source code (including editors, compilers, static analyzers, etc.) will necessarily need to either support preprocessing...