Archive for the ‘Research’ Category
June 26, 2010 in Research | Comments (0)
Tags: bounds, conference, Pola, thesis
Check out the picture gallery. Even though it was all category theory, and consequently I can follow almost none of the other talks, it’s still a wonderful conference to go to. It’s a nice atmosphere, a good mixture of grad students, professors and professors emeriti.
After the conference I stayed in Calgary for another couple weeks working on my thesis and going through bounds inference in detail with Brian. Unfortunately, and excitingly, we found a big problem with the mixture of coinductive and inductive recursion which can take one out of polynomial time. I may write on that more at some other time, but only after I think of a good way to describe it, at which point the first place it will appear is my thesis.
June 10, 2010 in Research | Comments (0)
Tags: bounds, conference, family, Pola
The following fffffffuuuuuuuuuuuu describes most of my life for this week:

I’m flying out to Calgary Sunday morning and then heading to Kananaskis for FMCS. My code is already working for many cases, but it’s not as complete as I’d like it to be. I’d like to do a proper demonstration of bounds inference when I give my talk. It’s a pretty laid-back conference so, truth be told, even if I don’t get it totally working by then I can still just demo what I have, or just not demo at all.
I went to FMCS once before, in 2004 at the end of my undergrad. It’s a very nice conference, less formal than most, which makes it a lot more fun and a lot more productive, I think. After the conference I’ll be hanging around in Calgary for another week or so working on my thesis and hanging out with the parents. Good times.
May 28, 2010 in Research | Comments (0)
Tags: conference, family, holiday, Pola
I’m going to be going to attending FMCS 2010 in Kananaskis — not far from Calgary — in a couple weeks. I’ll be giving a talk on the implementation of Pola in some capacity, though I haven’t figured out how broadly scoped or what to focus on.
I’m getting pretty psyched about it. The conference will be fun if it’s anything like I remember FMCS 2004 to be. The location is amazing. Plus after that I get to spend some time in Calgary with my parents and hanging out with Brian and, probably most importantly but least awesomely, working on my thesis.
May 3, 2010 in Personal,Research | Comments (0)
Tags: assembly, Itanium
This is a follow-up to this post. Mark was magnanimously amazing and bought an Itanium machine for “the lab”. It’s currently sitting in my apartment. I’ll make another post tomorrow, I expect, where I actually get to play with it properly, but I thought at the very least I’d make a post about the headaches of actually getting it working.
Go through the pictures and read the running commentary because I’m not going to repeat the pictures here.
Sadly the machine is noisy and relatedly probably quite a power sucker. It’s in the corner of the living room, not far from where Jasna’s office is so I’m not going to be able to leave it on very often, I don’t think. The noise would probably drive Jasna crazy.
I should say I still haven’t got a chance to really sit down and play with it — namely play with the assembler — like I planned because HP-UX needs so much more setting up. I’m going to have to install pretty well the entire GNU userland because HP’s userland is absolute garbage.
April 26, 2010 in Research | Comments (0)
Through reddit I found the story of The Ghost in the Machine, the story of a man who had a ghostly vision, a grey blob out of the corner of his eye. I won’t retell the whole story, but he eventually tracked it down to a 19Hz standing wave where he’d had the sighting. 19Hz is suspiciously close to what is documented to be the resonant frequency of the human eyeball in vivo. The belief is that a vibrating eyeball — perhaps in conjunction with other documented effects of “uneasiness” due to infrasonic ambience — leads to ghostly visions.
The 19Hz hypothesis was bolstered by taking it to other notoriously haunted places.
As I dug deeper and did more research, the whole thing felt a bit too neat and tidy, as if I were playing out a Fringe plot. Supporting the whole hypothesis is a NASA technical report from 1976, which somehow adds to the 1-hour drama aesthetic.
I still have to go through the NASA technical report in detail, but I had a bit of jealousy when I got to the preface and saw it was actually a Ph.D. thesis. Every now and then I get a twinge of thesis envy. Could there possibly be a more badass thesis than determining the resonant frequency of human eyeballs? For NASA? In truth, if I were doing my Ph.D. thesis in 1976, there’s no doubt I’d be doing something boring and computer-related. Sigh.
I’m actually really disappointed no one’s actually tried out — or published, at any rate — this 19Hz hypothesis experimentally. I need to set up some subwoofers around campus and see if any ghost sightings come out of it.
April 6, 2010 in Personal,Research | Comments (5)
Tags: assembly, Itanium, Pola
Yes, I’m a computer architecture nerd. I expect this won’t surprise anyone.
The recent story on Microsoft ending support for Itanium (side note: this is hardly news. No one ran Windows on Itanium in the first place) rekindled my love affair with the Itanium architecture. Every six to twelve months I become infatuated with it all over again.
My infatuation usually dies down when I realize the Itanium is out of reach for mere mortals. Sometimes I day dream about when I’ve accidentally stumbled into money and I’m able to afford one. It’s hard to find a new Itanium server for under $30k and playing around with the online configurators it’s not hard to run yourself into the half a million dollar range.
Today’s different, though: today I decided to check out Ebay. Used Itanium servers are actually very cheap. Here’s one for $340. It’s only about 6 or 7 years out-of-date, too. Being out-of-date with Itanium isn’t such a big deal since they were never in-date to begin with. The prospect that I might be able to buy myself one as a graduation present — when I have time to play with it — is exciting.
I won’t bore you with the details of Itanium and why it failed in its promise to be the next big saviour, the one computer architecture to bind them all. I was actually going to write about why I love the Itanium so much, but before I knew it I’d written six paragraphs about how beautiful the architecture is and realized no one but me would ever care to read it. Suffice it to say it’s the nicest architecture I’ve ever seen, from the perspective of someone who truly enjoys writing assembly code, the perfect balance between exposing the architecture and hiding away the mundane details that sometime plagued RISC architectures. Whenever someone foolishly asks me about Itanium — don’t worry, I’m usually able to restrain myself — I describe it as “everything SPARC should have been”, SPARC being one of the more elegant RISC architectures to date.
For my purposes it doesn’t matter if Itanium is practical or popular or well-fabricated or none of the above since it’s just for my own enjoyment. One of the biggest problems is that no one’s managed to write a suitable compiler for it. That suits me just fine since I’d rather be writing assembly code by hand or writing my own compiler for it. I’m actually half convinced that if anyone actually is going to write a brilliant compiler for Itanium, one that intelligently takes advantage of all its speculative loads and rotating register windows and similar toys that I like to drool over, it’s going to be a compiler that has a serious leg up in static analysis, maybe for a language that’s been seriously restricted, for which my research would be appropriate.
Well I’m not so arrogant as to think that I can write a compiler for Itanium where so some of the world’s top back-end developers have failed before. Even if failure is nigh guaranteed, it would be a really fun challenge, and it’s always more fun when the challenge is inherent in the beauty of what you’re working with. I think I may have to seriously put aside a few hundred dollars for after graduation so I have this to play with.
January 19, 2010 in Research | Comments (0)
Tags: Haskell, Pola
The LambdaVM project is actually a really brilliant project. It’s a modification of GHC to target the JVM. I installed it in October of last year and played around with it, feeling that it might actually have a place in helping spread the gospel of Pola.
The thing is I can’t expect people to download the source to Pola if they want to play around with it, so I have to provide pre-compiled binaries. OS X, Windows and Solaris are easy for me to produce binaries for, but then you have to think about Linux, BSD, OpenSolaris, 64-bit Windows, etc., on various platforms. Traditionally I have about 6 or 7 binaries up there for the most popular architectures — past releases have been most popular with x86 Debian and x86 Windows — but every time I make a new release I have to rebuild them all.
So I was hoping to have a JVM version of Pola to put up there as a catch-all for architectures I hadn’t had a chance to build for yet. While the LambdaVM project has treated me fantastically well for little toy examples, it doesn’t do well for Pola. I tried it and it crashed after about 2 minutes after running out of heap space. The stack trace showed it was still doing type inference…after two minutes…something which Pola natively compiled does in less than a hundredth of a second.
I’m sure if I fiddled around with it I could get it sort of working, but it doesn’t seem like a good use of my time, especially since the end result will be huge — the JAR file is 18MB, compared to 2MB for an uncompressed binary — and many orders of magnitude slower and since I still have hopes of graduating soon.
Still, the LambdaVM project is pretty awesome. I hope it ends up kicking some ass.
October 31, 2009 in Personal,Research | Comments (0)
Tags: conference, family, holiday, Jasna, peeks, Pola
I’m currently hanging out at my gate in Pearson airport. In a couple hours I’ll be on my way to Paris and tomorrow morning I’ll catch my connecting flight to Amsterdam and then I take the train to Utrecht to see Jasna’s sister, Ana, and her husband, Andre.
Jasna and I aren’t very good with separation, though I think this time went better than most. It could be that it’s a shorter separation this time — five days, in contrast to Jasna’s recent two-month trip — or that we’re too tired from last night’s Hallowe’en party to get as worked up. Maybe we’re just getting better at it, though. It’s not like no tears were shed, but I think we did relatively well.
Unfortunately today my camera battery decided to crap out on me. The upside to this is Jasna lent me her (very awesome) DSLR camera for the trip. I’ll try to keep pictures of blondes down to a minimum. Mostly I’m excited to see Ana and Andre, but I think they’ll be busy most of the time, so I’ll probably venture into Amsterdam at least once to entertain myself. I brought the camera cable with me, so watch my photo gallery in the next day or two for pictures to start appearing.
The conference — and my presentation there — I haven’t thought a whole lot about yet. I’ll have to disappear to Eindhoven, which I think is only about half an hour from Utrecht — but then again maybe everything’s half an hour away from everything in the Netherlands, who knows — and see what’s going on there. I’m fairly excited to see what FOPARA ends up being like since this is the first year the workshop’s being done. I’m especially excited to see the Hume project people, like Kevin Hammond, since I’ve never met any.
I should say there’s still a lot of work that’s going on behind the scenes, work even on what I’m going to present to FOPARA. While I was in Calgary we decided to put in a new typing system based on bunched logics which deals elegantly with a lot of the problems with peeks that we’ve been sorting out in Pola, plus some new features.
October 7, 2009 in Research | Comments (0)
Tags: algebra, bounds, peeks, Pola
My visit this week to Calgary to work with Brian and Robin is coming to an end and has definitely paid off again. We have another day at least of work ahead of us, but probably not much more real work will get done by then since we still have the FOPARA paper to finish up and get camera ready. But, just in the past couple of days we’ve already made tremendous progress in improving and stabilizing the language. It won’t be too much longer before “core Pola” is finalized.
I should say there was one interesting result that Brian told me about. The peek construct is a unique construct to the language, which allows one to, under some restrictions, break affineness, i.e., allows one to reference a variable multiple times to give the programmer more expressiveness. It’s a delicate business since affineness is what keeps Pola programs polynomial-time, particularly in the context of recursion. As it turns out, if you remove the recursion-symbol restrictions on peeks — allowing recursion within the condition of a peek—but keep the other restrictions on peeks, you exactly capture PSPACE! We demonstrated this by changing just a couple lines of code, allowing recursion, and coding up QSAT to play with. (more…)
September 29, 2009 in Personal,Research | Comments (0)
Tags: family, holiday, Pola
That’s my thermometer from a couple minutes ago. I’ve been sick essentially since Saturday and it looks like it’s finally on the mend! For some reason the last couple times I’ve been sick I’ve got cold instead of fever. This morning I was down to 35.6ºC (for you Americans, that’s 96ºF) and had to take a long bath just to keep warm. It looks like I’m finally getting back to health.
The upside to the sickness is I did do quite a bit of work today. The major rewrite of the bounds inference for Pola according to the last paper is getting close. Only 4 or 5 screenfuls of typing errors to sort out and then testing, ha! I’m hoping I’ll get it finished in the next couple days as it would be nice to have all the ducks in a row for my trip to Calgary next week to see my parents and work with Brian and Robin again!
Older Posts »