RPG Get! TCG

Some of you may remember me mentioning plans for an RPG-based card game in this post almost 3 years ago.

Well, I’ve been gaining interest in it again (of course when I don’t have any game systems or TVs accessible, much less the games themselves or a means to take screenshots of them) and I hacked together a few cards today to try and get a feel of what the game will feel like. I also polished up the rules a bit… hopefully they’re more balanced and fair now.

(Cards are, of course, not finalized and whatever, but meh).












This’ll be awesome if I keep working on it and don’t lose interest :D

Pittsburgh

The weekend summarized in snapshots.
(Lots of photos!)


























After all that was halfprice tastiness at Fuel (they have awesome mixed drinks there!). Today was flight home. My plane arrived 50 minutes early into Las Vegas, turning a 2 hour layover into a 3 hour layover… but besides that, the trip was uneventful. Final tally of of airline abuse to the ceramics and glass I packed to bring back here: two of eight glasses broken and one of six small ceramic plates broken. Everything else survived, amazingly (including the giant Costco bottles of shampoo, conditioner, and soap as well as all the dinner plates, all the bowls, and all the silverware and knives). Huzzah.

Best weekend in a long time. Thanks again to teh Ben and Jon for picking me up at the airport.

I might eventually sort through the photos again and post some of the more portrait-like ones in portraits and/or a reselection of photos from the weekend in photos2. Would anyone be potentially intested in this? I think I’m just feeling photo deprived (besides the beach trip with brewer and dkb, this is the first serious use my camera has gotten since leaving CMU).

Tomorrow is work. Blah.

Portraits!

Woke up today feeling kinda sick, so I went back to bed rather than going to work. Felt quite a bit better in the afternoon, so I got some work done. Did pen-based computing (yay). Looked at OS P4 a bit (yay). Played ITG with Andres (whom I hadn’t seen since before summer) and it was awesome. Shot some portraits of Zach, because Zach is awesome and posed for me, and generally satisfied my portraiture urges.

So yeah… tons of photos:














OS death

I’m feeling worse than I have in a while… stressed about Pen-based computing (we have to have a demo-able project by Thursday…), stressed about interviews (I have 3 next week, including one that requires me to fly out), but mostly stressed about OS… we worked for like 8 hours yesterday and managed to get negative work done… as in, our kernel isn’t to the point where it was yesterday morning anymore.
I just want to drop the class and curl up somewhere and die… meh.

Massive photo dump
















More OS

Don’t you love that sense of satisfaction you get after you fix a rather annoying bug?

8 finished the VM rewrite for our kernel (and it looks *much* nicer now, and the PM can also magically keep track of free physical pages without needing an internal data structure [and hence, won’t use more memory if we ever happen to get more than 256MB of ram]) and we had a remarkably easy time integrating it into our main branch (although I’m still of the opinion that Subversion merging is horrific and painful).

Then the fun started. Things started out ok and init and idle started and the shell started and readline worked.
Then, when we tried to execute a task from the shell, things exploded.
After about an hour, I tracked down the problem to fork’s page-directory-and-table copying function… odd though, since that hadn’t changed since before the VM rewrite, and it was working fine before.
After poking at it some more, I determined that, for some unknown reason, one of the page tables in the newly-forked task contained garbage data. Garbage data that happened to look a lot like a kernel stack. Hmmm…
A bunch of breakpoints and plenty of x%cr3 4096 and psym "pcb->esp0" later, I discovered that, somehow, the same physical page was being mapped as both a kernel stack page and as a page table page. Very odd.
Poked at it for another couple hours until I managed to isolate the problem to one function… a function that destroys the current mappings in the page directory/tables to prepare a task for exec. Turns out it was a mistake with freeing pages… for some reason, the code was freeing a page *after* the desired page (PTR_ADD(page_loc, PAGE_SIZE)). Oops. Fixing that fixed the immediate bug but tripped an assertion.
That one turned out to be simpler… the wrong virtual address was being passed into the freeing function (*entry instead of entry). Whee.

So yeah, it appears that we are back in the same state that we were yesterday as far as runnability and such goes, except we have a shiny new VM that appears to be much happier (and much cleaner) than before.

I should probably go sleep, as it is 7:30… but it might make more sense to just stay up until class and then sleep afterward. Meh.

All we have left to do is finish vanish and write wait and we will be kernel code-complete (at least, theoretically… we’ll probably end up doing more rewrites and such). Awesomeness.

There has been much ITG lately. I need to get back into 11s… maybe I’ll manage to pass a 12 before I leave CMU. Wheee.
110107itg.jpg
110107itg2.jpg
110107itg3.jpg