Confessions of a researchaholic

2013-05-21

Lvdi Wang visiting HK

Filed under: Real — liyiwei @ 4:41 pm
Tags: , , ,

[People usually send out email announcements for visitors. But I find it very boring. So I am going to take a different approach that is more interesting and fits my style better.]

Lvdi Wang, a MSR Asia researcher in computer graphics, is visiting Hong Kong from June 8 to June 12, 2013. If you are a faculty or student who would like to meet with him, let me know.

Here are some reasons why it is to your benefit to meet him, especially if you are a student, and more so if you are a student working with me now.

Lvdi is a very smart guy. In fact, he is one of the smartest students I have ever worked with. You can benefit a lot from discussing with him about your research.

He is also a very nice guy, nicer than the usual kind of smart guys who could make you a bit uncomfortable.

[Look at his publications and photos under his website for the two points above.]

He is not my longest collaborator, but likely knows my style well enough to give some *happiness* guide, especially to my internal students. (I am not saying anyone should have any grievance given my liberal style; how many professors out there allow their students to work anytime anywhere? But just in case.)

You might want to ask him about “nothing is impossible”. I am going to quote from his case if you ever tell me “it is not possible to accomplish that”.
😀

2013-05-18

Manage research code

Filed under: Real — liyiwei @ 12:55 pm
Tags: ,

Svn is my choice for revision control. I usually use c++ to write the core components, and perl/php/csh scripts to run them. More information can be found under http://svn.liyiwei.org/public/, which contains public domain code of some of my projects.

Those are all relative toy cases.
Real deals can be found in good tech companies.

The best research software practice I have personally experienced is in the NVIDIA GPU architecture group. Strictly speaking, it is development, but there is plenty research involved due to its cutting edge nature. And it worked. Tens or even hundreds of engineers can collaborate on the c-models for multiple versions and generations of GPUs, each with staggering complexity. The products shipped and nobody lost their mind as far as I know.

PS I always believe the tremendous benefits of having at least a few years industry experience before joining the academia.

2013-05-15

Manage research projects via paper drafts

Filed under: Real — liyiwei @ 4:04 pm
Tags: ,

I use paper drafts to manage my research projects including everything: writing, experiments, results, and communications. Other than external storage (e.g. Dropbox or Google site) for data that does not need fine-grained revision control, I never need anything else, like meetings or emails. So far, this mechanism has worked superbly well, for my team projects as well as single authored papers.

This is one of those things that are better experienced than told, but here is a brief description of what it is like.

First of all, you need to have some idea what a research paper is like. All you see are finished and polished products. However, few, if any, research paper is written in one pass. They all went through some iterative evolution process. And here is mine.

I usually start drafting up the abstract the moment I have the idea. Do not worry if it is immature. It should be, as otherwise the idea cannot be new. Just write it down. Do not worry about grammar or anything cosmetic. Just make sure you can understand yourself later.

Gradually add more materials to that paper draft, including everything you see in published papers like introduction, literature survey, algorithm descriptions, math equations, experimental results, as well as those you might not see, such as thoughts, discussions, failed experiments, and ideas for future works. I usually keep a main part that eventually becomes published papers, as well as a blog part keeping daily progress and discussions.

I use svn/git for revision control, and Latex for document source. I structure the files so that I can simultaneously compile multiple versions from the same set of source (with different flags), such as final.pdf for final submission and draft.pdf that contains everything, including discussions among co-authors.

Because I put everything in writing, I never need to be reminded what has been done, what is yet to be done, and who is doing what. I can concurrently manage a double digit number of projects without losing my marbles. I also can collaborate with anyone anywhere without any other forms of meetings, because all discussions can be conducted through the paper draft. For example, if I see a mistake in an equation, I correct it, and put a note nearby explaining what I have done and why. The other guy, who wakes up in another time zone 8 hours later, can see exactly what has happened. Even for my UI papers, one guy can record a short video (or better, the editing history) for another guy to replay.

I have provided a didactic case, for file structure, research methodology, and the revision history.
One day I might be able to share a real project repository. Everything will naturally make sense when you start working with me (or one of my academic descendants) on real projects.

2013-05-03

CSIS3330

Filed under: Real — liyiwei @ 12:00 am
Tags: ,

Dear student:

I am totally cool with skipping all the classes as this is also what I did in school. But at least I never walk up to a professor in the final session and ask: “are you the TA of this class?”

(True event occurred in my mobile computing class today. All students have to show up for their final project demos.)

2013-04-28

Data analysis applied to professional team sports

Filed under: Real — liyiwei @ 11:50 pm
Tags:

Tampa Bay Buccaneers (NFL). Oakland As (MLB). Golden State Warriors (NBA). And more.

I wonder if one day algorithms are going to instruct every player move.

http://www.youtube.com/watch?v=tuH36R_QZtQ

2013-04-17

We are what we think we are

Filed under: Real — liyiwei @ 7:41 pm
Tags: , ,

I heard some recent conversations among faculties about why they should not take the very top students because they might go somewhere else in the end.

WTF

If even you do not think you are the best, how could you make others believe in you?

I think I am as good as anyone out there, so my strategy is very simple: take (as my internal students) only those who are so good that I will regret for not taking. If they deflect to other places in the end, fine, because I will likely at least keep some of them. And even in the worst case I get no students, I can just single author SIGGRAPH papers. (I seriously miss the fun.) Or spend some time away living in Nepal. All these beat wasting time on not-so-good people, or worse, thinking I am one of them.

Why you should not do incremental research

Filed under: Real — liyiwei @ 7:04 pm
Tags: ,

Because (borrowing a metaphor from finance) doing incremental research is like picking up nickels in front of a running steamroller.

The steamroller is driven by folks who have been publishing on a specific topic recently.

You see (incremental) opportunities to improve on their direction, like nickels on the floor.

And you feel like picking up those nickels. Why not? They are right over there.

However, the steamroller is also on its way to get to the nickels. (An obvious point, but people are surprisingly ignorant to it, especially when they are focusing on the nickels.)

So the questions you should ask are: are you fast enough to beat the steamroller to the nickels? (This depends on your competitive advantage.) And in case you just barely make it, are you tough enough to keep running in front of that steamroller at least for a while? (You have to do some tough comparisons with competing methods.)

Meanwhile, there are golden nuggets elsewhere. They are hidden and harder to find, but they are far from the steamroller and a whole bunch of other people trying to pick up nickels.

I will let you decide where you want to go. If you want to pick up nickels, fine, but I will just sit there watching you running in front of that steamroller. I prefer to be the first guy finding the golden nuggets, and when others notice me, I am already moving on to other places.

2013-04-14

Creative collaboration

Filed under: Real — liyiwei @ 7:36 pm
Tags: ,

I found the TEDxBow talk by Lloyd Davis on “5 Open Secrets of Creative Collaboration” very interesting, in that it emphasized the importance of physical human connections (and trust) in fostering creative collaboration, which is entirely opposite to my methodology of minimizing physical human contacts.

The natural way to produce good ideas is to have a bunch of smart and creative people work together. This is the main (if not the only) reason for the success of top research institutions, as I have personally witnessed in Stanford and MSR.

The conventional method for collaboration is through physical proximity, implying that to work with top people you have to join them in a top institution.
I am not sure if this is the only or even the best way though. Personally I have not found physical proximity any better than remote collaboration; almost all my ideas were produced either entirely on my own or via collaborations with or inspirations from remote people. The current technology is already good enough for me to be (intellectually) connected to almost anyone I want. (People who shun technology are not likely to be very good anyway, at least in computer science.) Even serendipity, the main advantage of physical proximity, can be managed by remote collaboration; I actually found it more efficient to write down my ideas than rushing to tell people.

Another benefit for remote collaboration is that it provides more flexibility to fit people with different levels of intelligence and experience. Not everyone is smart enough to have productive face-to-face brainstorming, and when that happens, I usually find it a great waste of time. I would rather give them more time (and grace) to think through stuff remotely and communicate with me asynchronously.

But I do wonder if I can be more effective by mixing a bit physical collaboration with suitable folks. Will experiment and report.

2013-04-10

Taking courses versus doing research

Filed under: Real — liyiwei @ 7:25 pm
Tags: ,

Students take courses in college, and do research in graduate school.

Taking courses and doing research share some common intellectual underpinnings. On the other hand, they are also very different. Different enough to make some college superstars completely fail in graduate schools.

When you take a course, everything is pre-designed and deterministic. You follow the instructions. And if you are smart and hardworking enough, you get good grades.

When you conduct a research project, very little is known a priori. The process is ambiguous and stochastic; your assumption may be wrong, your experiments may fail, sometimes you might not know what you are doing, and in the end your papers may get rejected. Being smart and hardworking can help. But if you have to follow clear instructions and you expect deterministic outcomes, you probably will not enjoy or be very good at research.

This is probably why, in my personal experience, the best research students might not have the best GPA, but they are usually creative, motivated, tough, and (most importantly) can get things done no matter what happens.
(Perfect GPA can be a reflection of conforming personality, which is not suitable for research. On the other hand, bad GPA is usually a reflection of intellectual or personality problems.)

The transition from undergrad to grad school is not always easy for everyone. My suggestion is to adopt the research mentality as early as possible. In particular, do not waste your time on courses; all you need is to pass the minimal requirements. If you have to, take courses that are research or project oriented. And start your research as early as possible, so that you will have more time to learn and adjust, and to accommodate all the potential failures and setbacks.

« Previous Page — Next Page »

Theme: Rubric. Get a free blog at WordPress.com