Now on Windows

Using StraceNT I was able to get this output.

Here’s a snippet:

IntellectualHeaven (R) System Call Tracer for NT, 2K, XP, 2K3.
Copyright (C) Pankaj Garg. All rights reserved.

Tracing command: [“pdbstr” -r -p:accessiblemarshal.pdb -i:am3.stream -s:srcsrv]
[T3600] TlsGetValue(1, 0, 2bfef8, 182020, …) = 2c7778
[T3600] EnterCriticalSection(77c61b30, 2c7778, 2bfed0, 77c3a03b, …) = 0
[T3600] LeaveCriticalSection(77c61b30, 2bfed0, 77c3a0fa, d, …) = 0
[T3600] EnterCriticalSection(77c61b18, 2c7778, 2bfed0, 77c3a06c, …) = 0
[T3600] LeaveCriticalSection(77c61b18, 2bfed0, 77c3a108, c, …) = 0
[T3600] HeapFree(2c0000, 0, 2c7778, 0, …) = 1
[T3600] TlsSetValue(1, 0, 0, 2bfef8, …) = 1
[T2556] LeaveCriticalSection(2c1fdc, 6f1c0, 77c2d154, 4, …) = 0
[T2556] LeaveCriticalSection(2c7718, 6f1d8, 77c3b967, 13, …) = 0
[T2556] HeapFree(2c0000, 0, 2caa48, 1058d24, …) = 1

The results are certainly a bit clearer looking than the Linux/Wine results. I am still clueless however to the deeper meaning. I’ve been told I need to talk to timeless on IRC, that he is the one with major knowledge on reverse engineering.

This is turning into quite the rabbit hole.

Exploring what pdbstr.exe actually does

As I wait to find out what else I can do to get the symbolstore.py patch commit-worthy, I thought I would start to look into reading and writing to pdbs as described here.

I downloaded Paws.exe which is a hex editor program and also installed Borland’s C++ compiler so I could try to dump the contents of a pdb with Borland’s tdump utility.

This netted me a whole lot of hex code and so I stared at that for a while, consulting Jeremy Gordon’s information, and didn’t really figure much out. I can see the data block that pdbstr write to the file, it’s just not clear after comparing the dump information of a couple of pdbs how or where the data block’s write position is determined. This is a hex dump.

For kicks my friend John Ford and I looked at pdbstr.exe through strace and Wine on his Ubuntu box. The results are here.

There is a StraceNT for Windows so I will try to run pdbstr with that and hopefully end up with results that are a bit clearer since they won’t include the Wine calls.

Anyone with any ability to read into either of these dumps – feel free to comment and share your insights.

The Gap.

This morning I tried to explain to my Deaf-Blind student the usefulness of Bookmarks. What he and my friend’s mom who I was helping with a website the other day have in common is that they both save web pages to their desktops. For the mom, this results in an mhtml file on her desktop that, once opened, doesn’t help her know what website she is visiting…and she mistakenly thinks she is on the web when she looks at it because the “file:///” URI signifier means nothing to her.

When my student saves the page, I believe he is selecting a different option which creates a folder on his desktop containing as much of the page as Firefox will grab. Again, when he goes back into this folder later many things happen:

  1. He doesn’t know why the folder is on his desktop
  2. The contents of the folder are all files that are unfamiliar (.css, .js and .html)
  3. There is no signifier of what the original web page was

So today I thought – okay, let’s learn about bookmarks.

I showed him how to drag and drop to the Bookmarks Toolbar and how to Bookmark using the pulldown menu. I’d like to think he “gets it” but I know that it will take many more lessons for this to get across. What did get a little recognition of concept was that he would have access to the most recent content if he used bookmarks instead of saving a local copy. That was appealing.

All this comes to me now as I am reading these studies done on bookmarking habits, and reading into the logic behind Places and how the changes to the Home button are going to be initiated in Firefox 3 and I feel concerned.

I love the idea of bookmarking with tags and never having to scroll down a list again. I love the awesome bar’s quick access to recent pages and I love that with minimal typing in the location bar I can see my history and get to previously visited pages quickly. Here’s the thing – I’m able to take in the whole screen at once, I see little details quickly and I know what I’m looking for.

The mom, the student, and I’m willing to bet a lot of unstudied people out there are not doing this and are way behind on the idea of tags let alone how to use them.

I would love to do studies of web usage and get a really huge pool of participants because from what I’ve read so far, the largest group was 320 people at a tech conference and in my opinion that’s a lazy study that will only confirm what the researchers and pushers of web 2.0 want to hear.

Moving forward is amazing and fun for me but I’m loathe to leave all the people I know and love behind to wander around lost and confused. My mom said the other day that she now understands less than 50% of what I’m talking about when I describe the projects I’m working on. 50%?! That sucks! My mom is actually a very astute person who even took some computer programming back in the 80’s and she is very competent with power tools and techno-gadgetry. I want to be at least 80% compatible with my mom when talking about my projects. It would be great if it was possible for her to participate in the discussion instead of just listening politely.

Today I’m lamenting that only a select few are steering the discussion about the future of bookmarking and the student and the mom are left on the other side of a widening gap. Their bookmarks and habits are just as, if not more, important.