Compiler Construction, or Game Development?

As a class, we have the choice of what the focus of one of my topics this semester is going to be.

I’m voting for Compiler Construction. Even though we’ll be doing it in Java (ugh!), it is something I was disappointed to find wasn’t otherwise offered.

If you need convincing, read Stevey’s Blog Rants: Rich Programmer Food.

Now, if only I can convince the rest of the class!

configd Kernel Panic

First KP in ages today.

Tue Jul 29 13:50:14 2008
panic(cpu 0 caller 0x00192FD4): "pmap_flush_tlbs() timeout: " "cpu 1 failing to respond to interrupts, pmap=0x6b58ae0 cpus_to_signal=2"@/SourceCache/xnu/xnu-1228.5.20/osfmk/i386/pmap.c:4570
Backtrace, Format - Frame : Return Address (4 potential args on stack) 
0x628bfa18 : 0x12b0fa (0x4592a4 0x628bfa4c 0x133243 0x0) 
0x628bfa68 : 0x192fd4 (0x45f414 0x1 0x6b58ae0 0x2) 
0x628bfad8 : 0x1932b8 (0x6b58ae0 0x200000 0x0 0x0) 
0x628bfb88 : 0x195721 (0x6b58ae0 0x215000 0x0 0x14160a8) 
0x628bfbe8 : 0x169e6f (0x6b58ae0 0x215000 0x0 0x216000) 
0x628bfd08 : 0x16a437 (0x216000 0x0 0x0 0x0) 
0x628bfd48 : 0x182517 (0x1b32618 0x215000 0x0 0x216000) 
0x628bfd78 : 0x159209 (0x1b32618 0x215000 0x45 0x11d992) 
0x628bfdb8 : 0x12d17e (0x12a66d9c 0x874e0a0 0x0 0x0) 
0x628bfdf8 : 0x126257 (0x12a66d00 0x0 0x28 0x628bfee4) 
0x628bff08 : 0x1973dd (0x628bff44 0x0 0x0 0x0) 
0x628bffc8 : 0x19f3b3 (0x6b61820 0x0 0x1a20b5 0x12b56f20) 
No mapping exists for frame pointer
Backtrace terminated-invalid frame pointer 0xbffff508

BSD process name corresponding to current thread: configd

Doesn’t really give me much info, does it.

From the Xcode-Users list...

How do you pronounce XIB?

I’d say it as ZIB. You know, like xylophone?

Testing Modified ecto-Twitter addon.

As the man says…

Creating a new Avatar.

Can you tell I’m procrastinating?

I’ve spent the last little while using Acorn to create a new Avatar. Here are some ideas.

manga_matt_dot.png

manga_matt.png

manga_matt_pont.png

Matt_vectorized_pont2.png

Matt_vectorized_dot.png

Turn of the Century. Again.

Back sometime before the year 2000, I happened across a book called “Turn of the Century”, but Kurt Andersen. I remember absolutely loving it, but the coolest thing was that one of my longest friends, who had not too long previously moved interstate, had started reading it at exactly the same time. It was like our own private Oprah’s Book Club, but without Oprah. So, better.

Today, I happened across a blog by Buzz Anderson, and for some reason, this reminded me of Kurt Andersen. I dunno why, you figure it out.

So, I decided I’d read the “Turn of the Century” again. Which is cool, as I can’t really remember what happens in it anyway. I just remember that I loved it. But I already said that, didn’t I?

#1 Fix for Twitterific

It annoys me that when I click off the Twitterrific window, it doesn’t auto-hide. There doesn’t seem to be a setting to make this happen.

Luckily, you can fix this with a quick edit to the MainMenu.nib file.

(This requires you have InterfaceBuilder, and therefore the developer tools installed.)

View the contents of the Twitterrific.app package, and navigate to the Resources/English.lproj directory, and open up MainMenu.nib. Find the Tweet Window, and change it’s properties to “Hide on Deactivate”.

Save the nib, and restart Twitterrific. Bingo, clicking off the window auto-hides.

Twitter

I registered for Twitter ages ago, but only recently started actually using it all of the time.

http://twitter.com/schinckel

Xcode 3.1

I finally got around to updating Xcode to 3.1 yesterday.

There’s some great stuff in there. At last, the autocomplete of method names puts in tokens for the arguments, so you can just click on the token and then overtype - or just delete it in one go with (forward) delete.

Another cool thing is something that I’ve seen in NetBeans, but the default settings there for it are just annoying. Previous instances of the currently selected variable are highlighted. In Xcode it is a much subtler underline, much better than bright yellow.

This is better than NetBeans in another way - you can click on the item, and access a special contextual menu that allows you to edit every instance of the variable name in your current scope. Thus, refactoring is made much easier.

I’m sure there was something else I really liked too, but I can’t recall what it was.

NSScrollView copiesOnScoll Slowdown

I have a custom class, called MultiMatrix, which is basically an NSMatrix that has header rows and columns. Selecting a header row or column will select the whole row/column, and selecting the top-left cell will select the whole table. These header cells will also automatically select themselves if their whole row/column/table is selected.

Because I dynamically update the size of the matrix according to some data elsewhere in my program, I needed to embed it into an NSScrollView, so that when the size exceeds the normal size, then users can scroll to select cells.

I did this, and I was having huge slowdowns. I could select cells alright, but selecting a header cell meant about a one second delay.

Solution: turn off the NSScrollView’s copiesOnScroll.

Even though I wasn’t scrolling, for some reason this was causing big performance issues.

I suspect it’s making my custom matrix class do something lots of times, or perhaps it’s related to the controller and the bindings I have set up. Regardless, unchecking the Copies On Scroll box in IB fixed it.