Home » PhD

Category Archives: PhD

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 210 other subscribers
December 2024
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031  

Brainiattic: Remember more with your own Metaverse enhanced brain attic

Connecting devices and human cognition

I recently described the idea of “activity context” and suggested that providing this new type of information about data (meta-data) to applications would permit improve important tasks such as finding. My examining committee challenged me to think about what I would do if my proposed service – Indaleko – already existed today.

This is the second idea that I decided to propose on my blog. My goal is to find how activity context can be used to provide enhanced functionality. My first idea was fairly mundane: how can we improve the “file browsing” experience in a fashion that focuses on content and similarity by combining prior work with the additional insight provided by activity context.

My initial motivation for this second idea was motivated by my mental image of a personal library but I note that there’s a more general model here: displaying digital objects as something familiar. When I recently described this library instantiation of my brain attic the person said “but I don’t think of digital objects as being big enough to be books.” To address this point: I agree, another person’s mental model for how they want to represent digital data in a virtual world need not match my model. That’s one of the benefits of virtual worlds – we can represent things in forms that are not constrained by what things must be in the real world.

In my recent post about file browsers I discussed Focus, an alternative “table top” browser for making data accessible. One reason I liked Focus is that the authors observed how hierarchical organization does not work in this interface. They also show how the interface is useful and thus it is a concrete argument as to at least one limitation of the hierarchical file/folder browser model. Another important aspect of the Focus work was their observation that a benefit of the table top interface is it permits different users to organize information in their own way. A benefit of a virtual “library” is that the same data can be presented to different users in ways that are comfortable to them.

Of course, the “Metaverse” is still an emerging set of ideas. In a recent article about Second Life Philip Rosedale points out that existing advertising driven models don’t work well. This begs the question – what does work well?

My idea is that by having a richer set of environmental information available, it will be easier to construct virtual models that we can use to find information. Vannevar Bush had Memex, his extended memory tool. This idea turns out to be surprisingly ancient in origin, from a time before printing when most information was remembered. I was discussing this with a fellow researcher and he suggested this is like Sherlock Holmes’ Mind Palace. This led me to the model of a “brain attic” and I realized that this is similar to my model of a “personal virtual library.”

The Sherlock Holmes article has a brilliant quotation from Maria Konnikova: “The key insight from the brain attic is that you’re only going to be able to remember something, and you can only really say you know it, if you can access it when you need it,”

This resonates with my goal of improving finding, because improving finding improves access when you need it.

Thus, I decided to call this mental model “Braniattic.” It is certainly more general than my original mental model of a “personal virtual library,” yet I am also permitted to have my mental model of my pertinent digital objects being projected as books. I could then ask my personal digital librarian to show me works related to specific musical bands, or particular weather. As our virtual worlds become more capable – more like the holodeck of Star Trek – I can envision having control of the ambient room temperature and even the production of familiar smells. While our smart thermostats are now capturing the ambient room temperature and humidity level and we can query online sources for external temperatures, we don’t actively use that information to inform our finding activities, despite the reality is that human brains do recall such things; “it was cold out,” “I was listening to Beethovan,” or “I was sick that day.”

Thus, having additional contextual information can be used at least to improve finding by enabling your “brain attic.” I suspect that, once activity context is available we will find additional ways to use it in constructing some of our personal metaverse environments.

Using Focus, Relationship, Breadcrumbs, and Trails for Success in Finding

As I mentioned in my last post, I am considering how to add activity context as a system service that can be useful in improving findings. Last month (December 2021) my examination committee asked me to consider a useful question: “If this service already existed what would you build using it?”

The challenge in answering this question was not finding examples, but rather finding examples that fit into the “this is a systems problem” box that I had been thinking about while framing my research proposal. It has now been a month and I realized at some point that I do not need to constrain myself to systems. From that, I was able to pull a number of examples that I had considered while writing my thesis proposal.

The first of this is likely what I would consider the closest to being “systems related.” This hearkens back to the original motivation for my research direction: I was taking Dr. David Joyner’s “Human-Computer Interaction” course at Georgia Tech and at one point he used the “file/folder” metaphor as an example of HCI. I had been wrestling with the problem of scope and finding and this simple presentation made it clear why we were not escaping the file/folder metaphor – it has been “good enough” for decades.

More recently, I have been working on figuring out better ways to encourage finding, and that is the original motivation for my thesis proposal. The key idea of “activity context” has potentially broader usage beyond building better search tools.

In my research I have learned that humans do not like to search unless they have no other option. Instead, they prefer to navigate. The research literature says that this is because searching creates more cognitive load for the human user than navigation does. I think of this as meaning that people prefer to be told where to go rather than being given a list of possible options.

Several years ago (pre-pandemic) Ashish Nair came and worked with us for nine weeks one summer. I worked with him to look at building tools to take existing file data across multiple distinct storage domains and present them based upon commonality. By clustering files according to both their meta-data and simply extracted semantic context, he was able to modify an existing graph data visualizer to permit browsing files based on those relationships, regardless of where they were actually stored. While simple, this demonstration has stuck with me.

Ashish Nair (Systopia Intern) worked with us to build an interesting file browser using a graph data visualizer.

Thus, pushed to think of ways in which I would use Indaleko, my proposed activity context system, it occurred to me that using activity context to cluster related objects would be a natural way to exploit this information. This is also something easy to achieve. Unlike some of my other ideas, this is a tool that can demonstrate an associative model because “walking a graph” is an easy to understand way to walk related information.

There is a small body of research that has looked at similar interfaces. One that stuck in my mind was called Focus. While the authors were thinking of tabletop interfaces, the basic paradigm they describe, where one starts with a “primary file” (the focus) and then shows similar files (driven by content and meta-data) along the edges. This is remarkably like Ashish’s demo.

The exciting thing about having activity context is that it provides interesting new ways of associating files together: independent of location and clustered together by commonality. Both the demo and Focus use existing file meta-data and content similarity, which is useful. With activity context added as well, there is further information that can be used to both refine similar associations as well as cluster along a greater number of axis.

Thus, I can show off the benefits of Indaleko‘s activity context support by using a Focus-style file browser.

Where has the time gone?

It’s been more than a year since I last posted; it’s not that I haven’t been busy, but rather that I’ve been trying to do too many things and have been (more slowly than I’d like) cutting back on some of my activities.

Still, I miss using this as a (one way) discussion about my own work. In the past year I’ve managed to publish one new (short) paper, though the amount of work that I put into it was substantial (it was just published in Computer Architecture Letters). This short article (letter) journal normally provides at most one revise and resubmit opportunity, but they gave me two such opportunities, then accepted the paper, albeit begrudgingly over the objections of Reviewer # 2 (who agreed to accept it, but didn’t change their comments).

Despite the lack of clear publications to demonstrate forward progress, I’ve been working on a couple of projects to push them along. Both were presented, in some form, at Eurosys as posters.

Since I got back from a three month stint at Microsoft Research (in the UK) I’ve been working on one of those, evolving the idea of kernel bypasses and really analyzing why we keep doing these things; this time through the lens of building user mode file systems. I really should write more about it, since that’s on the drawing board for submission this fall.

The second idea is one that stemmed from my attendance at SOSP 2019. There were three papers that spoke directly to file systems:

Each of these had important insights into the crossover between file systems and persistent memory. One of the struggles I had with that short paper was explaining to people “why file systems are necessary for using persistent memory”. I was still able to capture some of what I’d learned, but a fair bit of it was sacrificed to adding background information.

One key observation was around the size of memory pages and their impact on performance; it convinced me that we’d benefit from using ever larger page sizes for PMEM. Some of this is because persistent memory is, well, persistent and thus we don’t need to “load the contents from storage”. Instead, it is storage. So, we’re off testing out some ideas in this area to see if we can contribute some additional insight.

The other area – the one that I have been ignoring too long – is the thesis of this PhD work in the first place. Part of the challenge is to reduce the problem down to something that is tractable and can be finished in a reasonable amount of time.

Memex

One of the questions (and the one I wanted to explore when I started writing this) is a rather famous article from 1945 entitled As We May Think. Vannevar Bush described something quite understandable, yet we have not achieve this, though we have been trying – one could argue that hypertext stems from these ideas, but I would argue that hypertext links are a pale imitation of the rich assistive model Bush lays out when he describes the Memex.

Thus, to the question, which I will reserve for another day: why have we not achieved this yet? What prevents us from having this, or something better, and how can I move us towards this goal?

I suspect, but am not certain, that one culprit may be the fact we decided to stick with an existing and well-understood model of organization:

Maybe the model is wrong when the data doesn’t fit?

The advisory shuffle

Friday, October 13, was my adviser’s last day.  He remains as an adjunct professor, but as such he cannot directly advise or supervise graduate students.  Thus, just a few weeks into my official life as a PhD student I find myself adrift.  While I started adrift, over the past 10 months I stopped drifting and began focusing in a specific direction.  It is a peculiar thing – to be adrift, then to find direction and focus, and then be adrift again.  Humbling, certainly.  When adrift the first time around I didn’t know what to expect, or how good it is to work with someone that encourages crazy ideas.  I touched on this in my last post. But life doesn’t always go the way we anticipate.

I spent a bit of time going through an existential crisis of sorts because being adrift meant that I had to once again consider all the various directions I might go. So that’s what I’ve been doing.  Considering externalities (they’re trying to recruit someone that would be an awesome match from a research perspective).  Considering crazy options (applying to go somewhere else).  Of course, there’s also the option of considering other faculty to serve as adviser, but that is surprisingly challenging.  One of the best fits isn’t in the same department, which creates other potential complications.  Sorting it all out takes time.

Then I realized that this is part of the challenge of completing a PhD – the willingness to persevere in the face of factors beyond my control.  Hence why I found myself asking why I wanted to do this.  I’m not a brilliant researcher though I like to think I’m at least a competent one.  I can write reasonably well.  My hope is that the insights I do have can be used to contribute something.  I’m also pragmatic enough to know that it is rather unlikely I will change the world.  Still, I’m idealistic enough to want to try to change the world.

The good news is that none of this is an emergency.  I have time to look at options, to consider what I wish to achieve.  In the end, it will force me to look for clarity.  My hope is that I will actually find it.  Only time will tell.

“So why are you doing this?”

One of the questions that I’m often asked is “why would you want to get a PhD?” or “why do you want to do research?”

Everyone that even considers pursuing a PhD will no doubt be asked this question at some point.  I’ve been asked it a number of times recently, no doubt due to the various events swirling around my life and my decision to pursue this unusual direction.

Working in industry can afford numerous opportunities to make incremental improvements.  These improvements are certainly valuable, but they are also quite focused on work within the current paradigm.  Changes to the paradigm can arise in this model, but they are definitely heavily shaped by commercial considerations.

Working in academia tends to focus more on exploring in a broader range of directions.  Sometimes it is funded by industry, but more as a long-term investment, with an expectation that most ideas just won’t pan out.  Sometimes research is done within industry as well – a long-term bet on developing the next great technology.

So, what does this have to do with pursuing a PhD?  One difference between me and the typical PhD student is that I have done quite a lot of work in industry and have gained insights into things I see that look like problems ingrained in the system.  Thus, for me, this PhD offers an opportunity to explore ideas that reflect those insights – a willingness to question what is just assumed, and then see if I can find a way to try something new.

In essence, I want to change the world.  But the other thing I’ve learned is pragmatism, so I’ll consider it to be a success if I can at least rock the boat.  Maybe in that way I can build a foundation upon which someone smarter and with greater insight than me can actually build something that does change the world.  I don’t see that happening for me in industry.  It’s certainly not guaranteed going down the academic research path either, but I will do my best to do good work and enjoy the experience.

If I knew what the outcome was going to be, it wouldn’t be research, it would be development.

 

PhD offers

So I’ve now been offered admission to two of the three PhD programs to which I have applied.  The third I knew was unlikely as they require a thesis Master’s degree, but I don’t have a thesis.  I was hoping that the fact I’ve co-authored two books might count for something (because frankly, writing a book is far more work than writing a thesis).

So for now I’m mulling over the best decision to make – but what an amazing place to be: choosing between two excellent schools, with the choice of two amazing advisers.  There really isn’t a losing option at this point, which is an amazing place to be.

 

 

What a long strange trip it’s been!

This is my first post in over a month.  The past five weeks have been eventful – a period upon which I suspect I will look back in the future and remark about how so much change can be packed into such a small amount of time.

My former employer and I parted the ways on November 15.  While not entirely a surprise, the manner in which it was carried out was a surprise.  The week that followed included a trip to the company HQ (in the eastern US), at my own expense, of course, and ultimately finding out that not only had I lost my positions with the company and been locked out of my own offices here but they had also seized control of my shares in the company.

I took stock of my situation and decided that I needed to deal with wrapping things up and planning for the future.

Thus, I briefed my lawyers to the extent possible.  I decided that I would sign up for three classes in the Spring 2017 session for my MSCS program which would put me in a position to graduate at the end of Summer 2017.  This seemed like a terrific idea given that I wouldn’t be working for some period of time!

I also decided that I would push ahead with the PhD applications. On December 4, 2016 I submitted three applications: two to UBC (CS and ECE) and one to Georgia Tech (CS).  I chose ECE at UBC because my professor at Georgia Tech had strongly recommended someone in that program, though I wasn’t convinced they’d be willing to waive the usual thesis requirements (though you’d think that having published two books in the field might count for something.)

The surprise came the next day.  That afternoon I’d received a letter forwarded to me by my legal counsel.  It seemed filled with invective and really had upset me because it painted a picture of me that certainly didn’t square with my vision of myself.  To console myself, I convinced my spouse to meet up for an after-work drink.  As we sat down I looked at my phone and saw an e-mail from a UBC CS professor – in fact, the very person I’d originally identified as being a strong prospective match back in 2013 when I had previously applied.

Imagine my surprise as I read the letter and found he suggested meeting and discussing my “(interesting) application”.  My mood changed – I responded quickly, said I was available and responded.  A few exchanges later, we’d agreed to meet for coffee nearby two days afterwards.  That initial meeting was short (45 minutes) and while it seemed positive, he’d been clear that I’d have to wait until the end of the PhD recruiting process.  He also suggested that I sign up to take the class he is teaching in January, noted there were forms that needed to be completed and left it to me to chase that to ground.  The final suggestion was that I meet with one of his current graduate students.

I went home, found the necesary form, completed it and sent it along to him.  Two hours later I received a signed copy back from him.  He followed up with an e-mail to me and one of his students suggesting we meet soon – like the next day.  So we met the next day, and chatted.  It seemed to go resonably well.  I followed up and the next day (Friday) we exchanged more e-mail and the CS professor suggested another meeting the next Tuesday.

It was at that meeting that it became clear I was “part of the team” (albeit provisionally, for sure).  He told me that he’d hire me as a research assistant until fall 2017 but he was still working out the details with the staff there.  He discussed what they were doing and at the end of the meeting suggested meeting on Friday.  Later, when I looked at the follow-up e-mail invitation I noticed that it was for every Friday, not just the next Friday.

At our first Friday meeting he spent a bit of time going over logistics.  Once again he reiterated that he wouldn’t be able to commit to my acceptance into the program until the “PhD recruiting process is done,” which admittedly was a mixed signal. Today (Friday December 23) was the second standing meeting.  Between the two meetings I spent considerable time running around trying to deal with various details.  Ultimately, nothing was quite resolved because we ran smack into Christmas break, but the ball is certainly rolling.

One challenge was taking his class.  While he signed off on it, and the CS department signed off on it, once it reached the “Enrolment Services” team, they advised CS that I was not eligible to register for the class because I wasn’t an “unclassified student”.  It turns out the deadline for applying for “unregistered student” status  was November 15.  I did find some irony in this, as this was my termination date.

One thing I recall from my own time working at Stanford many years ago is that Universities have rules but they also generally have a mechanism for overriding the rules – it’s mostly a matter of making a persuasive case and convincing someone with authority to grant an exception.  I was successful at doing so.  Further, by the time I received the exception I’d already started the “time consuming” part of the process – namely, getting them original transcripts directly from my undergraduate institution showing that I was granted the degree I claimed.  So, when everyone returns after the first of the year, I should be able to get that situation resolved quickly, register for the class and have student status.

Similarly, they’re also processing the paperwork for my appointment as a research assistant.  Ironic how I’ve come full circle almost 30 years later.  I was also amused to see that my old boss has endowed a chair at UBC.  It’s definitely a small world.

So now I can start focusing on doing research.  In the course of just over a month, I’ve gone from being employed, to terminated, to being a PhD applicant, to getting back into reserarch.  While I’m not accepted into the program yet, my perspective is that it will happen unless I screw up.  Naturally, my goal is to demonstrate my worth.

Exciting times!

 

Letters of Recommendation

Once again, I find myself in the position of asking people to write letters of recommendation.  My usual MO for this is to first ask if they are willing to do so. I make it clear that I will provide them with a template letter which they can then modify as they see fit – after all it is their letter, but it is to my benefit.  Thus, I want to minimize the hassle for them and ensure that the letter is strong.

In that context, I ran across this awesome post on Quora by Dr. Richard Muller about what he asks students to write up to assist him.  The gist of this was his requirement that someone give him an interview:

My first step is to interview the student.  I ask to be reminded of every time in the past we had interacted, if at all. Normally I mention these times in my letter; it helped the reader to recognize that the student was active.

Then I ask for any things that the student worried about, bad grades in other courses, for example. We then discussed them, and in my letter I might mention the fact that I was familiar with it (with a D, for example, in another class) and I would describe why (if true) I didn’t think that should be used as a negative. (Typically the student had a good reason.)

I ask the student to write me a page describing what he thinks of himself/herself, and what the student does outside of classwork. That’s based on my experience that those reading my letter often like candidates more if the student was well-rounded and personable.

I thought this was brilliant and plan on using this moving forward.