terriko: (Pi)
Ages ago, I thought it would be a brilliant idea to write up stuff on the papers I read, much like I do book reviews, but then I promptly... didn't do it. But it's a new year with new papers, and here's the first for this year's seminar.

small toad
Photo: small toad by Scott* (Because tiny toads are adorable and compiler papers notes don't lend themselves to obvious illustration)

Superoptimizer -- A Look at the Smallest Program
Henry Massalin
1987

This is a neat little paper about optimizing assembly code. They took a program and then had the computer try to generate the smallest possible functionally equivalent version. The paper is super short and readable and filled with lots of very clever adding of registers and stuff to avoid program jumps and comparisons. They could get it to optimize only fairly small programs (12 lines of assembly), but it still seemed like a lot of these would be useful compiler optimizations and they're probably in use now.

Anyhow, it's three pages of explanation + two pages of cool examples they found, so if you're looking for a fun little bit of computing to read about to fill out some mind-expanding new year's resolution, this is an easy place to start.

Some questions we had in seminar that I don't know the answers to:

- What was the impact of this paper on modern compilers?
- Do we do any of this while compiling, or make use of the things they found in a preset kind of way?
- Has anyone tried to do this using modern computers / other assembly instruction sets?
- It seemed like there was a lot of adding... would it be possible to make reduced assembly instruction sets on the assumption that they will never be programmed by humans and thus can be super-optimal?
terriko: (Default)
You may have seen this article on Peter G. Neumann: Killing the Computer to Save It. It was making the rounds a few weeks ago. (Note that you can read NYT articles without logging in if you turn on temporary cookies and then click the link.)

In case you were curious or maybe thought some of that sounded familiar, that is indeed the same DARPA grant that drew me to the US for this postdoc. I'm on CRASH or "Clean-Slate Design of Resilient Adaptive Secure Hosts." The article has a short mention of the stuff we're doing:

Clean Slate is financing research to explore how to design computer systems that are less vulnerable to computer intruders and recover more readily once security is breached.

Dr. Shrobe argues that because the industry is now in a fundamental transition from desktop to mobile systems, it is a good time to completely rethink computing. But among the biggest challenges is the monoculture of the computer “ecosystem” of desktop, servers and networks, he said.

“Nature abhors monocultures, and that’s exactly what we have in the computer world today,” said Dr. Shrobe. “Eighty percent are running the same operating system.”

Lessons From Biology

To combat uniformity in software, designers are now pursuing a variety of approaches that make computer system resources moving targets. Already some computer operating systems scramble internal addresses much the way a magician might perform the trick of hiding a pea in a shell. The Clean Slate project is taking that idea further, essentially creating software that constantly shape-shifts to elude would-be attackers.

That the Internet enables almost any computer in the world to connect directly to any other makes it possible for an attacker who identifies a single vulnerability to almost instantly compromise a vast number of systems.

But borrowing from another science, Dr. Neumann notes that biological systems have multiple immune systems — not only are there initial barriers, but a second system consisting of sentinels like T cells has the ability to detect and eliminate intruders and then remember them to provide protection in the future.

In contrast, today’s computer and network systems were largely designed with security as an afterthought, if at all.


That barely touches on all the cool stuff we're doing, since the article isn't exactly about our work at UNM & UVA, but it was pretty neat to see it in the news.
terriko: (Default)
So, it turns out that not only do I dislike half the samples I can find online of good philosophy of teaching statements, I also hate everything I write on that front. But the deadline is today and my references have already sent in their letters, so I think I've just got to suck it up and submit what I have.

I am, however, pleased with the ideas in this paragraph on failure:

But perhaps the biggest lesson was about failure: Many students seemed to believe that any failure was a sign of fundamental, unfixable inadequacy, and this was especially toxic to the women and other minority students who were more likely to feel like imposters. But many self-taught programmers learn through experimentation and repeated failure, so we encouraged students to do this in tutorials and even celebrated ridiculous bugs together by encouraging the students to share them and help each other debug. The students who had difficulties at the beginning could see other students failing and then succeeding, and the change in their confidence levels was noticeable, as was the resulting change in what they attempted and what they achieved.


That's a little piece of what made teaching tutorials such a different experience from lecturing, and something I really loved watching happen every year.
terriko: I am a serious academic (Twlight Sparkle looking confused) (Serious Academic)
A while ago, I saw a mention in a UNM newsletter about Google Scholar profiles and decided to give it a try. Like many people in my field, I already keep a list of publications on my website, but this had graphs! Citation counts! I wasn't too sure about this whole social-media-for-researchers aspects, but I like graphs.

I had totally forgotten about it 'till a few days ago when I got a reminder email, and upon looking at my profile I was pleased to see that my very first paper now has 60 citations. Sixty!

For context, the average citation rate in computer science was 3.75 from the period 2000-2010 (Source: Times Higher Education), and even the average citation rate for science in general was 10.81. So 60 seems awesome, even if average may be a weird number for something that I know is a power law distribution. Still, go me! I've got a few above-average papers, mostly the spam work (I was the first to apply artificial immunology to the spam problem, so subsequent people working in that space generally cite me) but I notice that SOMA's almost made it up to 30 citations, and that's the first of my papers in the web space.

It's still a pretty modest accomplishment in the grand scheme of things. Check out Paul's list or Steph's list if you want to feel small, but those are both totally amazing, exceptional people who run whole labs. For my weight class as a newly minted PhD, I'm happy enough, but I need to do more...

So now to take that pride and turn it into a totally awesome, citation-worthy paper summing up my remaining thesis work!
terriko: (Pi)
multiple job offers

People have started to ask me what my plans are after I finish this postdoc, or rather the frequency with with I get asked has reached an arbitrary threshold, so I guess it's time to write about it. The short answer is that I'm not planning to start my job hunt 'till October at the earliest, but here's some more detailed information about my plans in case you, like many others, are curious:

1. I'm currently expecting to be at UNM 'till around Nov 2013, which would be the originally expected 2 years. The date's a bit flexible: the grant I'm on goes a little past that I think, and I can leave earlier if I have another offer that needs to start right away.

2. I'm focused on getting some publications out before I start the job hunt at all. I'm hoping to have results from the router work as early as next week, and I've got a plan for publishing my remaining thesis work, so at minimum I want papers for both of those to be out for review before I start looking.

3. My job hunting mode will probably kick off around the time of the Grace Hopper Celebration in October. That's not the greatest timing, but it's a good enjoy goal date for the papers to be out and the job fair and related resources available at GHC12 is an excellent opportunity that I don't want to miss. I'm happy to consider things that come up before then, but October/November is when I'll polish up my resume and start being active in my search.

4. I'd like to go back to Canada, but I do have a US visiting scholar visa that can be extended and transferred to another qualifying job. (It can be used for up to a total of 5 years, of which 2 are going to be used here at UNM.) There's some fascinating legalese around my current visa that makes Canada the easiest choice for my next job, but I'm not adverse to other countries.

5. I'm not committed to either academia or industry at this point, and I wasn't planning to make a more concrete decision on that 'till I have actual offers. You can expect me to be looking at a combination of academia and industry labs. I have one lab already on my shortlist after the last round of interviews. I turned down their offer of an on-site interview because I had decided on UNM, but if they're still taking on new hires when I'm done here I'd like to continue the process with them.

So I'm not looking yet, but do feel free to pass job leads my way if something comes up that you think would be up my alley.

Speaking of jobs... I *do* have a couple of friends looking for jobs more urgently than I am: One is a very talented programmer who's currently located in Halifax but willing to relocate, and one is an efficient mostly-windows systems administrator who's looking for a job in the Ottawa area. They're both around intermediate level, but given the job market they're willing to work more junior positions if that's what it takes. I'm happy to pass leads along or obtain their latest resumes if I can help make a connection!

Profile

terriko: (Default)
terriko

March 2014

S M T W T F S
       1
234567 8
910 1112131415
16171819202122
232425262728 29
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 17th, 2014 06:41 am
Powered by Dreamwidth Studios