Home
jep
Tue, Jan. 8th, 2008 10:00 pm
Annual Update

I'm still alive, surprisingly enough.

So I'm moving. Everything is a mess right now as I'm sorting things out and trying to decide what to take and what to chuck. I'm moving to Calgary next week. I've got a new job... we're building a supercomputer. Yeah, I'm pretty excited.

And tomorrow afternoon I'll be talking to the Dean of Engineering at Dalhousie about doing a Ph.D. He thinks I should. So I'm pretty excited about that too.

Life is hectic, but I'm not going to complain. :-)

3CommentReplyAdd to MemoriesTell a Friend

Fri, Apr. 20th, 2007 06:11 pm
Oh yeah

For those who don't know, I'm in Calgary right now, interviewing with Acceleware. Apparently I come 'very highly recommended'.

I'm back in my hotel room now and trying to decide what to do for the next two days. The weather went to crap just after I arrived, apparently, and it's putting a dent in my plans to wander the city.

6CommentReplyAdd to MemoriesTell a Friend

Mon, Mar. 19th, 2007 07:22 pm
I don't often write in this journal anymore, and I especially don't write anything substantial, but I couldn't resist.
I think to a certain extent that Debian is in a lot of ways process run amok. You need to have some sort of a process to scale. I mean, you go from one person to ten people, and that exposes a whole new set of issues. You go from ten to a hundred, a hundred to a thousand, and you have to build process in order to scale. The problem with too much process is you get into design by committee - you get into a situation where without strong leadership no one feels empowered to make decisions. Sometimes you have to make decisions that are unpopular; that's what leaders do. What ends up happening in this committee mentality is that no leader feels empowered to make decisions unless everyone agrees with him. And since no one as the size of the organization grows ever agrees on anything, no decisions ever get made. - Ian Murdock
Can I say... I told you so? Many moons ago [info]sfllaw and I had a discussion about voting systems, with particular reference to the voting processes of Debian. Debian uses Condorcet voting in its leadership elections. For those unaware of the intricacies of voting systems, Condorcet is a particularly complex voting system which is supposedly an optimal system. Well, according to somewhat arbitrary criteria it is. To oversimplify, Condorcet essentially selects the least disagreeable candidate. I argued that this was a failing of the system, not an advantage... the voting mechanism might win on 'democracy' but it loses on leadership. So while it ensures you're never going to get anybody too controversial or too disliked winning, but it's those firebrand leaders who are able to rally people to the cause and really make a difference. You can't please everybody all the time, and neither should you.

Debian should drop Condorcet voting and switch to instant runoff voting.

3CommentReplyAdd to MemoriesTell a Friend

Mon, Mar. 19th, 2007 11:56 am
"Please don't break this video card. It costs $10,000 and we have to sell our soul to Nvidia to get our hands on a new one."

Mmmm, tasty, tasty pre-release hardware. :P

CommentReplyAdd to MemoriesTell a Friend

Fri, Mar. 2nd, 2007 04:20 pm
My favorite kind of conversation

HR lady: How much are we paying him?
New boss like guy: I don't know. to me How much do we have to pay you?

Current Mood: pleased

7CommentReplyAdd to MemoriesTell a Friend

Thu, Mar. 1st, 2007 09:12 pm

CommentReplyAdd to MemoriesTell a Friend

Sun, Feb. 4th, 2007 04:51 pm
"Draenei priests get fear ward too? Aww man. Now dwarf priests are just short bearded men who like to touch people."

4CommentReplyAdd to MemoriesTell a Friend

Thu, Jan. 11th, 2007 01:12 pm

Current Mood: amused

8CommentReplyAdd to MemoriesTell a Friend

Wed, Jan. 3rd, 2007 02:49 pm
Eragon is a crime against audiences. Half the cast, the director, the producer and the script writers should never be allowed to work on another movie again. Ever. The worst part of the movie was when the bad guy dies, because having him vanquish the 'good guys,' and kill them all in horrifying fasions was my one hope for a decent ending to that film.

Oh noes! Our mountain stronghold is under attack! How will we ever survive without a dragonrider to save us! It's a freaking mountain. How fucking hard is it to defend a goddamn mountain? Perhaps when your resistance army was building those stupid majestic towers they should have built some fortifications too?

And for the love of god, why does the evil king keep his dragon hidden behind the giant map of his kingdom?

Normally when faced with a terrible movie, the funny thing to do is to imagine a sequel, but with zombies. For example Titanic 2: The Zombies.

That wouldn't save this movie. It had zombies already.

*cries*

Current Mood: disgusted

6CommentReplyAdd to MemoriesTell a Friend

Mon, Dec. 25th, 2006 12:03 am
Merry Christmas!

1CommentReplyAdd to MemoriesTell a Friend

Wed, Oct. 18th, 2006 12:36 pm
I read something today along the lines of 'the Americans have enough nuclear weapons to destroy the entire world!' It's a commonly asserted statement, but one rarely sourced. I couldn't help but wondering if it came from the same anti-Nuclear Weapon hysteria that spawned other gems such as 'nuclear winter'. So, I did a few calculations... assuming an arsenal of 12,500 warheads with a typical yield of 450kT of TNT, optimal blasts, and optimal packing (blast effects are spherical, and spheres and circles don't pack perfectly), the American arsenal could utterly destroy 1,054,417 km2, or if spread apart a little more, inflict severe damage over 2,511,922 km2.

Some graphics )
Lesson for today: the world is really, really, really big.

Addendum: For an example more in context with current events, here is the ring of total destruction projected over North Korea:
More graphics! )
Lesson for the Addendum: North Korea is really, really small.

12CommentReplyAdd to MemoriesTell a Friend

Wed, Sep. 27th, 2006 12:07 pm
So, some enterprising people got the indices from several NSA journals released under the American Freedom Of Information Act. It's interesting stuff, looking at some of these titles. There are a few that raise eyebrows. Sometimes what isn't there (because it's been redacted) is very interesting. For example: The Shootdown of KAL 007: A View from ______. What is that blank word? What viewing of KAL 007 was the NSA doing? Considering it's been known for many years that the flight was probably shot down because it was mistaken for an american spy plane, and it had been theorised that the flight was intentionally sent off course into Soviet airspace to see how they would respond.

It's all in a variable width font, so it should be possible to infer what the word is from the space the word took up (only so many words can be that long, and only so many words can make sense in context; the intersection cannot be large). Maybe I'll give it a try when I go home. However, it's probably a 5 letter word, and it isn't 'Space' (it's slightly wider than 'Space' in print). It's a noun, and has no article.

Also, try these article titles from the NSA Technical Journal in the 60s:
  • Communications with Extraterrestrial Intelligence
  • Extraterrestrial Intelligence
  • Key to the Extraterrestrial Messages
  • Book Review: Lincos, Design of a Language for Cosmic Intercourse
Written by Lambros D. Callimahos, Howard H. Campaigne and some other unidentified author. The Communications article was reprinted several years later in a different journal. Of course, these journals seem like they're widely enough distributed within the NSA that I doubt they are anything other than benign. However, I'm sure it'll feed the conspiracy theorists for years to come, and I can't help but feel a certain curiosity myself. I'm hoping there'll be another FOIA request and we'll get to see what those articles are actually about.

The indicies are all available here.

2CommentReplyAdd to MemoriesTell a Friend

Mon, Sep. 18th, 2006 10:43 am

2CommentReplyAdd to MemoriesTell a Friend

Fri, Sep. 15th, 2006 12:58 pm
Yowch. I spent all afternoon yesterday and morning today writing an x86 instruction decoder; it's about 2000 lines and was oh so very tedious. The virtualization engine works on a divide and conquer strategy- breaking down the source program into fragments of linear control flow (i.e., no branching) before passing them through the rewrite engine and reassembling. If I get the decoder polished and debugged this afternoon, I can make a start on the fragment engine on Monday.

But for now my lunch is calling.

Tags:
Current Location: My office
Current Mood: working
Current Music: Some top 100 radio station

4CommentReplyAdd to MemoriesTell a Friend

Tue, Sep. 5th, 2006 02:55 pm
Finally!

So, I finally have the chance to work on something I've wanted to do for years: Single-process virtualisation.

Virtualisation is a wonderful example of the things you can do with computers: creating a virtual computer that is (almost) indistinguishable to the host operating system from a real computer, as popularised by VMWare. But VMWare virtualises an entire computer.

Single-process virtualisation: virtualisating a single program running on a system, letting it interact with the real operating system. I believe Apple has a program which does something like this, although it translates PPC binaries to x86 for use in the new Macs. My program does no translation.

Basically, I have a DLL (a .so when I port it to Linux) which can be loaded into a program via injection, a direct call to LoadLibrary or by linking the program against it. When a DLL is loaded, the system will automatically run a certain subroutine to let you perform certain setup tasks; the C Runtime Library provides this, and it will then call your own provided function if you choose to provide one (canonically DllMain). What my DLL (ExeManager.dll) does is save the process state at the point where DllMain is called, then sets up an alternate execution environment (i.e., alternate stack, etc...) tucked away in a high region of the process' virtual address space. It transfers control to its virtualization loop running in this address space.

The virtualization loop provides the emulated environment, and it resumes execution of the original program with the saved state, and returns back to the normal execution. At this point the process continues executing as it was, except now in a virtual environment. However its code is dynamically modified by the virtualizer so that there is no simple way to tell it's not in complete control anymore.

So what have I accomplished? Not much at this point. In fact, at this point I'm still working on getting the virtualizer working. But, once completed it'll be a framework to modify the program behavior at runtime in a transparent manner. Possible uses for this framework:
  1. Hot-patching- Dynamically apply patches to a running program without shutting down.
  2. Runtime optimisation- I don't know if anybody on my friends list remembers my rants from four years ago about how cool Dyanmo is. If you do, that's what I'm thinking.
  3. Self-correcting code- My original motivation for this, the virtualizer transparently relocates and clones objects in memory, creating two seperate memory spaces with different layouts. Bugs that lead to memory corruption (which can be a potential security problem) create differences in the different memory layouts. The proper memory state can be inferred by comparing the different memory spaces, allowing the virtualizer to correct the program and allow execution to continue as if nothing went wrong. This would incurr a notable performance penalty.

Of course, there are downsides to such a program. For example, it would be a holy-grail to cheaters who wish to bypass services such as PunkBuster.

CommentReplyAdd to MemoriesTell a Friend

Tue, Jul. 18th, 2006 10:00 am
During one of the inspections, an imager on the extension boom turned up evidence of whitish streaks on the shuttle's panels and nose cap — and mission managers determined that the streaks were actually bird droppings deposited before flight. After the landing, Discovery astronaut Mike Fossum reported that the droppings were still there. "They made it home, a bit charred," he said.- MSNBC.com story on the shuttle landing.
Do NOT poop on the multibillion dollar spacecraft. That's almost as funny as the last shuttle flight hitting the bird on liftoff. Though this flight they did find holes in the fueltank insulation, from woodpeckers. They usually have fake owls on the shuttle and pad to try to scare small birds away... how about that, the massive, multibillion dollar space shuttle, defended by a couple of plastic owls.

4CommentReplyAdd to MemoriesTell a Friend

Thu, Jul. 6th, 2006 01:53 pm
It's Rag Day. This month I will be reading two new ones: Journal of Democracy and Journal of Palestine Studies. Making their usual return will be The National Interest and my ol favorite, Foreign Affairs (this one's a symposium on India. Oooo. It's like a thriller, what will they do? How will they renegotiate their position in light of American non-proliferation moves? It's better than a book because I get my daily installment on the news.)

Hopefully the summer edition of Interational Security will be out soon. I picked up the spring edition last month on a whim, and found it engrossing.

2CommentReplyAdd to MemoriesTell a Friend

Thu, Jul. 6th, 2006 11:22 am
Today's been kind of boring, so I've just been cleaning up my office a little. I have a lot of really cool and crazy books here: My personal favorite 'US Army Corps of Engineers Manual EM 1110-345-418: Design of Structures to Resist The Effects of Atomic Weapons'.

I'm taking that one home with me.

In other news, Orbiter is very neat. It's a reasonable accurate simulator for orbital flight. While I doubt it's as accurate as X-plane (at least, during atmospheric stages), X-plane isn't really intended for orbital simulations and the aircraft (even the high performance ones capable of hitting orbit, like the X-30) don't have useful instruments for orbital navigation. Anyway, so trans-atmospheric flight is haaard. I spent all yesterday trying to dock with the ISS- on my best attempt I got to watch it whizzing past about 50 meters away.

After that it became very apparent why all spaceflight is computer controlled.

CommentReplyAdd to MemoriesTell a Friend

Tue, Jun. 20th, 2006 10:23 am
Wow, the CSC webserver got /.ed.

Current Mood: amused

CommentReplyAdd to MemoriesTell a Friend

Wed, Jun. 14th, 2006 09:21 am
ironic, adj. incongruity between what might be expected and what actually occurs; e.g., the U2 iPod being manafactured in a sweatshop.

Current Mood: amused

CommentReplyAdd to MemoriesTell a Friend