Confessions of a researchaholic

November 27, 2020

What I most want to know about but is least described in research papers

Filed under: Real — liyiwei @ 11:34 am
Tags:

How people came up with their ideas!

November 3, 2020

Adobe internship

Filed under: Real — liyiwei @ 4:34 pm
Tags:

If you are an intern candidate who can (1) propose crazy ideas that nobody else can think off and (2) beat everyone else to accomplish that idea, contact me. 🙂

https://research.adobe.com/internships/

October 26, 2020

Research goal post

Filed under: Real — liyiwei @ 10:09 am
Tags: ,

In my personal experience, there are two ways to guide a research project: solving a specific problem with whatever solutions that work the best (based on a variety of criteria such as quality, speed, cost, etc.), and devising a novel idea that can span different problems, domains, and applications.

The problem-oriented approach happens more in engineering (which aims to solve practical problems) while the idea-oriented approach happens more in science (especially more theoretical fields like math which aim to formulate fundamental ideas behind a plethora of phenomena).
Solving a specific problem provides a clear goal and reduces the tendency to derail, while aiming for ideas is more likely to work after one has already worked on related problems so as to condense the experiences into the core forms.

October 21, 2020

What can be quantified can also be automated

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

If the productivity of certain types of works can be quantified, it can also be optimized and thus automated.

Instead of performance evaluation, such measures are better used for identifying repetitive tasks potential for automation.

To achieve human-level intelligence, we probably need an AI framework very different from existing rule-based (e.g., Minsky) and data-driven (e.g., current ML) approaches.

September 2, 2020

Vertigo ceiling

Filed under: Real — liyiwei @ 9:07 pm
Tags: , ,

During vertigo, the eyes can spin around following the incorrect signals sent from a faulty vestibular system.
The effect can be reduced by VR: track the eye movements, classify whether they are caused by vertigo, and adjust the display accordingly (e.g., move the visual field with the spinning eye gaze).

August 8, 2020

Sharing paper source with publisher

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

Some publishers like ACM might ask for the source files to compile the camera ready papers. My understanding is that they need the source to tune the paper format, instead of publishing the source. Thus, it should be OK to share the source directly with the publisher.
If you have concerns about internal annotations such as author discussions not meant for the final paper, just clean up the source via arXiv Latex cleaner or something similar.

August 5, 2020

Popularity contest

Filed under: Real — liyiwei @ 9:23 am
Tags: , ,

A group of interns posted their projects on an internal expo and solicited popular votes with ferocity last seen in the 2016 Republican party presidential primaries.

Meanwhile, one intern submitted a paper to a top venue even before the start of the internship, and is now spending time revising the conditionally accepted paper, filing a patent, and collaborating with a product team, instead of campaigning for popularity among other interns.

Our time is very limited. As a research mentor, it is my responsibility to guide you towards what is important and steer you away from what is less so.

May 27, 2020

AI and art

Filed under: Real — liyiwei @ 10:20 am
Tags:

A few days ago I read two articles about AI and art:
Computers do not make art, people do
A philosopher argues that an AI can’t be an artist

I cannot predict the future, including the possibility for AI to create art.
However, at the current stage of technology, AI can automate only a very tiny portion of creative tasks.
So just like all existing automation tools, I see AI as an assistant to elevate humans to higher mental tasks rather as a replacement.

May 8, 2020

Deep journey and genuine experience

Filed under: Real — liyiwei @ 1:51 pm
Tags: ,

There are these tourists who just want to visit as many places as possible to take (or even fake) photos without spending enough time experiencing the local life and culture with sufficient depth.

Researchers who abuse authorships are like such tourists.
They pretend having all the fun without actual experiencing much.

Life is a deep journey, and genuine experience is what matters the most.

May 3, 2020

Impact

Filed under: Real — liyiwei @ 5:11 pm
Tags: ,

A few days ago I read an article about an open-source ventilator that can be built with $400 in readily-available parts.
Today I saw a Facebook post discussing an article titled “Do top conferences contain well cited papers or junk?”.

Our impact is measured more about what we do for others (e.g., solving a social issue, curing a disease, saving the environment) than for ourselves (e.g., ego or career).
I would care much more about developing useful products or services than counting the number of papers or citations.

April 22, 2020

Remote internship

Filed under: Real — liyiwei @ 1:24 pm
Tags: ,

I have experiences in remote collaboration and mentoring.
I did not need research meetings and I did not meet the first authors of some of my papers until before the conference presentations.
(I have yet to meet the first-author of my latest CHI 2020 paper for which the physical conference is canceled.)

However, there are important aspects that are difficult to emulate remotely beyond research and technical works in research internships, such as serendipitous encounters with different people and immersions in different environments.

Thus, I have been thinking about what would be good alternatives or replacements for remote internships (or research collaborations in general) that can best emulate on-site experiences?
If you have ideas, feel free to share with me.

One (Adobe-specific) possibility I have been thinking about is artistic creation via various tools, suitable for remote and asynchronous communications and yet different from and complementary to technical research.

April 4, 2020

Virtual machines

Filed under: Real — liyiwei @ 8:55 am
Tags: ,

When I was a grad student at Stanford I thought the idea of virtual machines was entirely crazy. And then came cloud computing.
This CACM article nicely summarized the background story.

March 23, 2020

Networked creativity

Filed under: Real — liyiwei @ 10:57 am
Tags:

I used to think that individual creativity is essential to succeed in a research career, either academic or industrial, until I saw people who managed to compensate their lack of creativity (or more general talent/effort) with socializing and networking to leverage up their apparent productivity.

March 18, 2020

How to clarify technical writings

Filed under: Real — liyiwei @ 1:06 pm
Tags:

There are two ways to clarify writing: modifying existing texts, and rewriting from scratch.
These two can be combined in some way and thus not exclusive.
Sometimes, if the writing has fundamental structure issues, it could help to sketch out a fresh outline aiming for a general audience without deep knowledge of the topic.
This exercise could then provide a roadmap for subsequent steps.

March 7, 2020

Information flow

Filed under: Real — liyiwei @ 11:11 am
Tags: ,

Watching the real-time electric power flow among the grid, solar, battery, and home, I like to be able to see similar flow visualizations for our buildings (e.g., heat, water, gas) and bodies (e.g., calorie, cholesterol, blood sugar) so that we can be more informed to take care of our internal health and external environment.

View this post on Instagram

New toy at home

A post shared by Kublai (@kub1ai) on

February 20, 2020

How to bring up a research student

Filed under: Real — liyiwei @ 5:34 pm
Tags: ,

My approach can be titled as “multi-resolution mentoring”, depending on the skill set and development stage of the student.

For students who can already single-author SIGGRAPH papers, there is not much need for a mentor.

For students who can already develop and implement ideas, guide them on high level direction and building a project from proper components.
A good project often has more potential that can be done for a single paper, and thus it is important to scope it properly so that it contains the right amount of contributions and materials, neither too much nor too little.
We likely need to write the paper (and script the video) to guide this process.
If the direction is big enough, plan several projects/publications.

For students who can develop and implement detailed algorithms but lacks ideas, brainstorm with them as much as possible, to best fit their interests and leverage their strengths.

For students who can implement but not develop ideas and algorithms, give them specific instructions, such as algorithms in the level of pseudo-code via paper drafts.

For students who have difficulty with basic implementation, they are not ready for research and should go back to practice coding, e.g. reproducing algorithms from their favorite papers.
Never write code for them as that would consume our time and hamper their growth.

For students who get stuck in the development ladder, at some point we might have to suggest alternative career options which might be more suitable than research.

At some stage of your career, you might find developing talents even more satisfying than publishing papers or building products.
Guiding a student grow is a magical process (probably like parenting, which I have no hands-on experience yet) and can form a long-term collaboration relationship.

January 13, 2020

Working in a dream

Filed under: Real — liyiwei @ 11:53 am
Tags: ,

Since I have this habit of thinking about stuff all the time, even when I am dreaming, I sometimes could not tell if I have done something for real.
For example, earlier today when I looked at a comment I made in a paper draft, I found it missing a part that I thought I have added, but then I realized that I only did it in my dream a few days ago.

November 4, 2019

Creation is a dialog

Filed under: Real — liyiwei @ 9:27 pm
Tags: , ,

About a decade ago, Evvia felt like a place for old people to me.
It was livelier a few days ago when I visited again.
I wondered what has changed and realized maybe I got old.

View this post on Instagram

Grill chef – oil painting #adobefresco

A post shared by Kublai (@kub1ai) on

Artistic creation and scientific research share many similarities, such as picking the right subject/topic, and trusting the iterative process.
When I start a research or drawing, I usually do not have a very concrete idea of what I want to do, at least for more innovative projects. (If I can see a clear road-map from the beginning, the project is incremental.)
Just start doing something, and the process will guide me.

View this post on Instagram

Stove chefs – watercolor #adobefresco

A post shared by Kublai (@kub1ai) on

I did not really want to draw this one but felt compelled to finish the third of the Evvia series.

View this post on Instagram

Bar area – narinder pencil sketch #procreate

A post shared by Kublai (@kub1ai) on

November 1, 2019

Deadline ruining your holiday?

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

I never understand why people want to complain about how deadlines ruin (their specific) holidays.
Everyone is free to finish the job before the holiday even if the official deadline is afterwards.

I remember Hugues Hoppe told me that he usually had a complete draft of his submissions before late December, and in one instance he didn’t even touch the paper between X’mas and the January deadline.

Nowadays, one can submit to ToG anytime and still present in SIGGRAPH; I am not sure what is the real difference. And there are other related venues like CHI or CVPR.

Personally, SIGGRAPH crunch is kinda fun for me, so I won’t mind one way or another.

September 20, 2019

Provisional patent application

Filed under: Real — liyiwei @ 3:09 pm
Tags: ,

A provisional patent is worth considering, if your institution does not want to file a real (non-provisional) patent for your project.
It has much lower cost and much faster process than a formal patent filing, while offers similar protection in terms of public disclosure date.
There is a one-year period for a provisional patent, during which you can evaluate whether it is worthwhile to file a real patent.

For example, I filed a provisional patent (out of my own pocket) for the autocomplete hand-drawn animation project, which has gathered a lot of interests and yet it is tricky to file a patent due to the institutions involved (University of Hong Kong, University of Tokyo, Microsoft Research).
However, after one year, Jun, the first author and builder of the system, did not manage to produce a sharable prototype, so I just let the provisional patent expire. If he had a prototype with enough product interests, I would proceed filing an official patent.

August 23, 2019

SIGGRAPHickness

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

A co-author added a typo “SIGGRAPHickness” into a bib entry today; I guess it means sickness induced by working too hard for SIGGRAPH.
🙂

August 18, 2019

My idea of a mixed reality device

Filed under: Real — liyiwei @ 5:03 pm
Tags:

A single device that bridges VR and AR by displaying synthetic graphics seamlessly with or without the real environment, captured by some sensor/camera without requiring optical seethrough, consumes low power, tracks eye gazes (e.g., for foveation) and locations (e.g., for overlaying geo information).

These can already be achieved programmatically on some smart phones; glasses can reach a subset of users (e.g., those already wearing prescription glasses or requiring hands-free working conditions).

Disclaimer: this is my personal opinion, conceived and written on my personal computer outside Adobe working hours.

August 4, 2019

SIGGRAPH 2019

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

I spent most of my time in the experience hall with the workshops and demos.
I did not attend a single paper session.
I could socialize with the paper authors a bit more, but I bump into some of them in the parties.
The more conferences I have attended, the more I believe the value of hands-on experience in trying out new things and interacting with different people than just passively listening to talks (most of which are recorded for later viewing, except for the movie production sessions).

For the entire week (from July 25 to 31) I had dinners in various parties (SIGGRAPH Asia technical papers committee meeting and SIGGRAPH conference).

\paragraph{Sunday}

The cybersickness workshop sounds relevant to my research. When I went there, I saw a presenter talking over slides full of dense texts and felt sickness without HMD already. So I left.

I know about the turtle visual programming, but this is the first time I tried hands-on with the Turtle-Stitch embroidery machine.
Basically, you control the turtle (pointer) movement via blocks and write a program by chaining the actions together. Warnings will show if any step may cause manufacturing issues, such as large strides. The program can be saved to a weaving machine to produce an embroidery.

View this post on Instagram

TurtleStitch embroidery – wow smiley face

A post shared by Kublai (@kub1ai) on

The VR/AR magic session much more interesting with several talks from the industry.
For stationary players, locomotion in games can be achieved via hand controllers for speed and turn.
Synthetic blinks in the rendering can be added for teleportation and turn without eye tracking.
Magic Leap presents Mica, which looks very realistic during the presentation which made me wonder if the company is considering pivoting towards content creation if the hardware does not pan out.
I made a mental note to try the demo to see how opaque the graphics really is.
Mica can be animated with the geometry model plus helper joints.
Particular emphasis is on gaze and attention simulation to focus on face social triangle for face and saccade simulation.
The game porting talk is boring to me so I did not pay much attention.
The sonic immersion talk is very good; the two presenters skillfully use non-VR demos to demonstrate the importance of sound effects for immersive ambisonics.
More information can be found about ICTUS audio.

I went to lunch at Cow Cafe (a vegetarian place near the LA convention center south hall). The egg scrambles were good.

I spent the entire afternoon in the immersive pavilion.
Heterotopias performs cinematic cuts during blinks; the idea sounds very interesting but the demo does not really work for me as my glasses might have prevented accurate eye tracking.

I forgot that I actually had no paper in SIGGRAPH 2019 and thus would have to come into the papers fast forward with everyone else, and ended up sitting on the first row.
I had some quasi-dinner in the Beijing academy and Taipei parties afterwards.
I bumped into Kurt and recommended him to look at the Shard/Glasswing demo; he said that by nature he will ask a lot of pointed technical questions, and I told him that Gavin would be there to answer.

\paragraph{Monday}

I went to register for the Mica demo, and bumped into Zhenyi in the queue. She mentioned goo.gl/x5RQHN as a related work.

I could not get into the NASA VR session, so I went to the experience art talk (AI and embodied experience) instead.
Lavin trains a junky neural network to output limited vocabulary for a person image, and renders the corresponding 3D shapes in VR.
The hugging sculpture photogrammetry is also interesting.

Cow Cafe ran out of materials for scramble eggs, so I ended up with a less tasty avocado toast. I guess they also ran out of arugula and gave me romaine lettuce instead.

Mica demo has interesting interactivity, the graphics is not as opaque as it should be (as I expected) but it is ok. I did not try to go off the script as the aim is visual not interaction. But I still managed to break the demo in 10 seconds.

On my way to the keynote Johannes told me it was really bad and unprepared. It is unscripted, but not as bad as he commented. Sometimes we can learn more about the speaker from a spontaneous talk.

The Spheres VR movie is very good; Darren Aronofsky is listed as a contributor.

The de-noising session looks interesting so I went there.
Color space sculpting seems like a simple and effective idea for color edit.
I doubt how general the neural-network de-speckle approach can be.

When I arrived at the NVIDIA party after the only electronic theater show, the hotel staff was already starting to take away the food.

\paragraph{Tuesday}

I went to the After Effects creative medium workshop. I cannot really follow due to small display text but managed to experiment with the tutorial file a bit to get the gist (usual scripting and compositing stuff over the video time line).
Basically, there are people using Ae purely for synthetic effects instead of video post processing.

I then went to the hardwearable session.
Missed most of the NVIDIA AR eyeglass talk.
The electric control plastic haptic device looked interesting and I made a mental note to try in etech.
Artificial tail and temperature control auxetic are also interesting.

The interactive street art AR workshop is fun and reminded me about Aero authoring.

Real-time live was fun as usual. Hair VR did not win the best show but Liwen and Hao did a great demo (with Jun’s head).

I skipped the Stanford reunion and went straight to the Facebook party; the venue is great!
After giving my drink tickets to Kari, he told me that the Stanford reunion got great drinks.


I did not manage to attend the Adobe party before closing.

\paragraph{Wednesday}

I spent most of the morning in the VR demos.
The guy in the autism AR app told me about how png used to support vector graphics.
The OVS + tumor VR app looked and interacted very well.
The VR redirected walking space station demo (Frank Steinickie) worked very well by simply using highly occluded environment with task distraction without even leveraging blinks or saccades.
The unreal workshop is fun; one can place geometry scene structures for a character to move around for a simple game level.
Being Henry VR movie with gaze and blink control works very well and realistically simulates the situation of someone who could not move except with eyes and a hand.

After accidentally attending the women lunch in UIST 2016, I bravely attended the Berthouzoz women lunch in SIGGRAPH and even more bravely volunteered as a discussion leader.
The speakers were inspirational but I had to cut short the lunch to attend a meeting with Illustrator guys coming all the way from India.
The meeting was very productive and I managed to come up with four potential projects.

The DreamWorks party got good food; it took place inside the convention center, so very easy to attend.

The game of thrones production session was fun even though I never watched the show.
It was too late to attend the Snap party afterwards, so I went to the Apple party. The Canadian party was right around my hotel but I was too sleepy to go.

\paragraph{Thursday}

I got up early for the Glasswing talk session at 9 am, and tried some VR stuff afterwards, such as T-Rex assembly, beach muscle building, etc.

I did not realize the physical pad (Bamboo) is actually linked with Wacom Inkspace, and had a great time experimenting with the hardware.

Autodesk fusion 360 create cad shapes to guide drawing in sketchbook, I got the idea even though I could not create complex shapes.

I bumped into Jonash and lunched with him in Cow Cafe (which kindly gave me a discount code).
I had to miss the Alita production session for flight, which was delayed for 2 hours. I plan not to cut short of the conference in the future unless I really must fit a flight schedule (not between LAX and SFO).

TODO: checkout the blackhole talk, which people told me was great and should be the keynote. Why they put these really interesting forwward looking stuff in the early mornings?

February 28, 2019

Reviewer toughness score

Filed under: Real — liyiwei @ 9:54 am
Tags:

“Your reviewer toughness score is 20%. This means that 20% of the time you gave lower scores than the other reviewers of the submissions you reviewed. Reviewers are encouraged to maintain a toughness score closer to 50% so that they are working on roughly the same scale. You may want to update your reviews with this in mind.”

I wonder what is going to happen if all reviewers actually try to reach the 50% toughness level. Meanwhile, I will maintain my independent opinions.

December 18, 2018

Sharing publications

Filed under: Real — liyiwei @ 11:21 am
Tags:

Every time I see people listing publications on their websites without linking to the papers or videos, I hear they say: I am here to show off my publications and I do not really care whether you can access the papers. (Or, in a slightly more excusable scenario: I am too weak to not bow to the publisher request of withholding preprints online for 1 year. BTW this is why I do not submit to CGF.)

Best practice: create a public GitHub repo/page to share all paper information (abstract, pdf, video, code, etc.), so that all co-authors can edit and the search engines can index. (I am doing this for all my recent papers.)

December 16, 2018

Computer science publication model

Filed under: Real — liyiwei @ 3:57 pm
Tags:

If you need to try out a method, which you do first: (1) read and implement papers, (2) compile and run open source codes.

The peer review model for scientific publications has not changed much for centuries. It is about to, at least for computer science and especially for machine learning (e.g. distill.pub), where sharing and reproduction is much easier than other science and engineering disciplines.

December 9, 2018

Fence

Filed under: Real — liyiwei @ 5:03 pm
Tags:

I was searching my email box about the “fence” of the house and surprised to find out how many paper reviews contain the phrase “on the fence”.

November 24, 2018

Objective perception of subjective reality

Filed under: Real — liyiwei @ 11:24 am
Tags: , ,

A core skill, in art, science, or even life, is the ability and willingness to objectively perceive subjective reality.

Notice the swap of the two adjectives. Supposedly, perception is subjective and reality is objective. However, that is a fixed given condition. Our bodies and brains act like filters, so reality is always subjective. What we can strive for is objective perception and depiction of the (given) subjective reality.

For example, in drawing, one has to perceive what is really out there, which can vary depending on the individual subjectivity, in the physical world, in the memory, or in the imagination.

In deriving a math proof or following a scientific argument, one has to rely on what is assumed to be true (axioms, theorems, conjectures) which are subjective by nature.

November 21, 2018

Comparing deadlines of various conferences I have submitted to

Filed under: Real — liyiwei @ 5:34 pm
Tags:

SIGGRAPH deadline: you are completely dead!

CHI/UIST deadline: you are really dead!

CVPR deadline: you are half dead and can continue to submit supplementary materials like a zombie.

October 27, 2018

Academic lineage

Filed under: Real — liyiwei @ 11:57 am
Tags: ,

My academic lineage traces to Jung and Freud instead of Gauss, Laplace, Newton, or Leibniz.
I guess this partially explains my research interest and mentoring style.
🙂

October 26, 2018

Practice shading a color pencil cylinder

Filed under: Real — liyiwei @ 10:29 pm
Tags: ,

Hatching is a core technique to convey shading and texture in sketching.
I have hatched algorithmically so it is only fitting for me to practice manually as well.
This exercise also gave me research ideas which I would not be able to conceive without the artist perspective.

View this post on Instagram

Practice shading with a color pencil cylinder

A post shared by Kublai (@kub1ai) on

October 8, 2018

Commonalities between research and drawing

Filed under: Real — liyiwei @ 2:44 pm
Tags: ,

Both require sighting novel and interesting ideas or scenes. Without this important first step, the rest will fail even with perfect execution.

The author needs to be patient and persevering to complete a sufficiently challenging work without ever giving up.

Strong objectivity is required to help us see the reality without being blinded or obscured by our biases and wishes.

Drawing is one of the few activities, aside from SIGGAPH deadline, which can enter me into the zone.

September 16, 2018

Mischiefs with paper author names

Filed under: Real — liyiwei @ 4:42 pm
Tags:

Be a sole author, multiple times.

Add native author names.

Sneak behind other more senior/established collaborators to become the last author.

MSR Asia single-author challenge

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

It has been 10 years since I posted up the single-author SIGGRAPH paper challenge to MSR Asia, and nobody has managed to claim the prize as far as I know.

Looking back at my writing, I was wondering who this blunt prick is.
🙂
If I could, I would tell my past self to be more graceful without compromising the strength.
Otherwise, I still stick with, and have faithfully followed by own edicts, after switching into these other roles.

September 3, 2018

Writing style for revision control Latex source

Filed under: Real — liyiwei @ 2:27 pm
Tags:

Put one, or at most a few, complete sentence(s) into one line.
Latex treats line breaks as spaces, so the compiled document will still have the correct formation.

Since popular revision control tools like git/svn are based on line diff, putting too many sentences in one line will cause excessive revision differences and obscure the actual changes.

Avoid artificial line breaks in the middle of the sentences, which tend to confuse the spell-checkers and the git/svn line diff.

June 27, 2018

Project pivot versus switch

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

When we get stuck in a project, the issues could lay on the project or us.
For the former, switching to a different project might help.
For the latter, we should fix our own issues as otherwise no project will work out.

It is not always clear where the issues are.
But if someone keeps on switching projects, it could be a sign of individual instead of project issues.

Even if a project does not work out, it is usually better to pivot by continuous transforming the ideas during progress, instead of discontinuous switch to a separate project without coherence.

Download (SVG, 2KB)

June 8, 2018

Satoshi-Nakamotoism

Filed under: Real — liyiwei @ 9:54 am
Tags: , ,

Aside from rare exceptions like Steve Jobs or Albert Einstein, people usually do not care who is behind an invention or discovery.
(As a quick experiment, can you name the Nobel Prize winners in the most recent year, especially if you are not working in the related fields?)

Thus, I would prioritize our outcomes over our egos for publicity.

June 7, 2018

Almost compromised principle

Filed under: Real — liyiwei @ 9:43 am
Tags:

A student asked to submit our project to a non-top venue Y due to her/his school graduation requirement and study time frame, which I agreed out of necessity.

A few days ago, I noticed that (s)he changed the paper format from venue Y to a top venue X, right in front of the deadline, without even pinging me.
🙂

March 1, 2018

Review fest

Filed under: Real — liyiwei @ 3:56 pm
Tags:

I spent about 63 hours reviewing 23 papers during the last month or so. I did all these during the evenings and weekends so that I can focus on research and coding during “official” work hours. I felt my head is spinning a bit, but such intense reviews are the best antidote for post SIGGRAPH deadline withdrawal which I have suffered in the past as a professor for which paper reviewing felt like the “official” part of the job.

Adobe has this nice matching-grants program which can convert paper reviewing hours for charity donations. So now my paper review efforts can be counted as volunteer activities and I won’t feel guilty next time I don’t give money to random beggars on the streets.

February 22, 2018

Replicability stamp

Filed under: Real — liyiwei @ 10:47 am
Tags:

The replicability stamp requires more than just the source code, such as datasets and scripts to replicate all results and timing information in the paper.

That may seem a lot of work, but is totally worth it.

First of all, it is a good practice to manage a research project from day one for replicability; a script that can reproduce all current results can help debugging and collaboration. I did that even for my single authored projects.

Even if we have not started the project in that way, it is still worth doing due to the amount of leverage as Andy Grove called in his seminal book “High Output Management”. A single unit of efforts we put in for replicability can potentially benefit many people who want to apply, reproduce, or compare against your works.
You would be more popular, your papers would get more citations and follow-ups, and nowadays many recruiters look at GitHub repos.
🙂

February 12, 2018

Replicability versus reproducibility

Filed under: Real — liyiwei @ 10:18 am
Tags:

There are some technical definitions (e.g. here), but allow me to put it more succinctly:

Reproducibility – people believe they can replicate the methods and outcomes based on the information provided in the research documents.

Replicability – they can really do so.

🙂

January 1, 2018

Bean-counting

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

This has been a widely discussed topic, but when it comes to academic publishing, focus on quality over quantity.

Take my PhD adviser as an example. At this moment, he has “only” 27 journal papers and 40 conference papers according to dblp, but nearly 40000 citations, including 10+ papers with 1000+ citations, according to Google scholar.
In comparison, there are people around his seniority and in our fields (for calibration) with roughly 10-times publications but only one-tenth of citations.
(Citation is one of the mostly commonly used measure for quality/impact, but others are possible, such as products.)

He once told me that the best timing to publish papers is when people beg us to do so (using Brain Curless’ first SIGGRAPH paper as an example). That is probably too extreme, but publishing low quality papers not only wastes our time (it is better to go out and play) but also dilutes our reputation.

December 17, 2017

Q and A

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

Sometimes the answers are hard to find because we ask the wrong questions.

October 7, 2017

Dream catcher

Filed under: Real — liyiwei @ 9:23 am
Tags: ,

Waking up in the middle of the night, sometimes I can remember ideas from my dreams.

September 6, 2017

Sharing and managing research materials

Filed under: Real — liyiwei @ 5:14 pm
Tags:

Instead of hosting research materials on our own servers (as I did in the old days for both ongoing projects and published outcomes), it is more flexible to share on GitHub/Bitbucket public/private repos that need revision control, and store the compiled files in other services, such as papers on research gate or semantic scholar, videos via YouTube/Vimeo, etc.

With this setup, the co-authors can edit the research page together, and have less to worry about server management.

We should share only information ready for the public domain, e.g., paper title only after the submission is formally approved for acceptance, and code/algorithm after filing the relevant patent(s).

August 23, 2017

Revision control based on lines vs operations

Filed under: Real — liyiwei @ 10:52 am
Tags:

I cannot believe I have not (really) noticed this earlier, but the current git/svn revision controls are based on simple line differences, without taking into account the actual editing operations which we actually did in SIGGRAPH 2011 for image editing.

As a very simple example, say a file contains an original line like this:

I love you. Do you love me?

User 1 breaks the line into two:

I love you.
Do you love me?

User 2 adds one word the line:

I love you. Do you love me too?

A revision control tool that considers editing operations can automatically merge the two edits:

I love you.
Do you love me too?

While the current svn/git tools, based on line differences, will simply give up and ask users for manual intervention.

August 16, 2017

Publishing two papers out of one submission

Filed under: Real — liyiwei @ 12:09 pm
Tags:

Co-authors and I submitted a paper with two main parts to X, a top venue in our field.
The reviews said the first part is good contribution but the second part is basically nothing, and rejected our paper.

We then revised the paper and submitted to Y, another top venue in our field.
The reviews said the exact opposite from X, but accepted our paper conditional upon the removal the first part.

So we split the paper, with the second part to Y and the first part to (the next round of) X.

😀

July 27, 2017

HPRT and CVML

Filed under: Real — liyiwei @ 9:06 am
Tags: ,

Looking at the paper titles for HPG 2017, I wonder if it can be renamed to HPRT (similar to how CVPR can be renamed to CVML).

When we have real-time ray tracing on mobile devices (the day will come), all the legacy graphics algorithms (i.e. tricks) will become obsolete.
I believe real-time RT, instead of machine learning, will be the end of traditional rendering tricks.

April 10, 2017

Open source texture synthesis

Filed under: Real — liyiwei @ 6:00 pm
Tags: , , ,

Well I guess this is long overdue; knock yourself out here.
🙂

Open source facilitates collaboration and code reuse, and propels our progress forward. I shall participate more in the future.

March 8, 2017

And then the murders began

Filed under: Real — liyiwei @ 10:14 am
Tags: ,

Technical paper authors could also get into the propulsive, forward-moving action, and to provide any necessary backstory more actively.
The outcome may be more fun and less dry for readers.

January 18, 2017

Paper length

Filed under: Real — liyiwei @ 11:08 am
Tags: ,

The obsession with paper length is a legacy of printed proceedings.

What matters most is readability.
I would rather spend 1 hour reading a 20-page paper than 2 hours reading a 10-page paper.

Then follows file size: the smaller the better for storage and transmission.

November 12, 2016

Basis cases

Filed under: Real — liyiwei @ 8:38 pm
Tags: ,

Back in the good old days when I was working as a GPU architect in NVIDIA, we had suites of tests for various stages of GPU development: architecture, RTL, driver, real chips, etc.

Ogtest, consisting of tests written in OpenGL, can be applied to all stages. Each test is written to be as compact as possible, the tests are ordered from simple to complex, and collectively they cover the entire target space (e.g. all applications to run on the target GPU).

For example, the first test is to draw a flat colored triangle, the next is a textured triangle, and the next is called son-of-the-textured-triangle (with two textures instead of just one, if I remember correctly).
I then went on to add a test called daughter-of-the-textured-triangle (I am all in for gender equality) which consists of two textures but exercised a different path through the texturing and shading units (if I remember correctly).

I like to think of these as the basis test cases for the entire target space, analogous to basis vectors in linear algebra.

This applies to all research and development projects. Instead of jumping to debug full-scale applications, it can help to design a set of basis cases first. The process can clarify our thinking, and help us debug and explore algorithm/implementation issues. The basis cases can even be part of the analysis section of a research paper.

October 21, 2016

Research riddle

Filed under: Real — liyiwei @ 6:45 pm
Tags:

Identify the common relationships between the following pairs of papers.
🙂

Discrete element textures, SIGGRAPH 2011
Vignette: interactive texture design and manipulation with freeform gestures for pen-and-ink illustration, CHI 2012

Dynamic element textures, SIGGRAPH 2013
Draco: bringing life to illustrations with kinetic textures, CHI 2014

Motion field texture synthesis, SIGGRAPH Asia 2009
Energy Brushes: interactive tools for illustrating stylized elemental dynamics, UIST 2016

September 13, 2016

Paper acceptance rate

Filed under: Real — liyiwei @ 6:58 pm
Tags:

Since HKU asked for this and resumes do not usually contain failures, I reckon it could be a good idea to share my paper acceptance rate.

For SIGGRAPH (the top venue for computer graphics and interactive techniques, in case you don’t know), my life-time acceptance rate is 36%, and 40% in the last 5 years.

As a milestone of seniority, I couldn’t recall how many SIGGRAPH papers I have until doing this calculation.
🙂

I am not keeping track of my submissions to other venues (such as CHI, UIST, I3D, TVCG, EGSR, etc.), but I am pretty sure the overall rate is at least 50%, and much higher for some venues, such as EGSR (100%).

For reference, the overall acceptance rates of many graphics venues can be found under http://kesen.realtimerendering.com/.

August 18, 2016

Milestone of seniority

Filed under: Real — liyiwei @ 1:09 pm
Tags: ,

April 30, 2016

Strength in numbers

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

In his PhD application, a student indicated that he is collaborating with a famous professor on a recent SIGGRAPH project.

I asked that professor about the student. He told me that the project has 20 students (most are not co-authors), and the particular student is probably not even a secondary helper.

In comparison, most of my projects so far involve 0 or 1 student, and none over 2 students.
🙂

April 20, 2016

User interface

Filed under: Real — liyiwei @ 8:45 pm
Tags: ,

When I was in grad school I thought UI is about tuning widgets and doing user studies (a lot of research did exactly that). I preferred working on algorithms because they seem more interesting and more fundamental.

Later on, I realized how wrong I was. User interface is crucial as long as humans remain biological and machines remain mechanical.
A good UI can save a not so good algorithm, but not vice versa.
And UI research can also be fun and fundamental.

April 17, 2016

Hiring mistakes

Filed under: Real — liyiwei @ 6:43 pm
Tags: ,

Hiring PhD students is even harder than hiring employees because younger folks have more potential to grow.
And unlike an industry researcher who can let interns come and go, a university professor sticks with the students.

Two prior PhD applicants to HKU whom I passed on have turned out with outstanding performance.

One of them is still collaborating with me, so I did not regret as much. Actually, if he had not gone to another school we would not have access to some crucial hardware environment for our project, and his adviser might not have warmed back to SIGGRAPH. So I probably still made the right call.
🙂

I clearly have a lot to learn, and will have hundreds of cases to practice every year.

April 12, 2016

Research coherence

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

One common advice on research is to have a coherent theme among our papers. I heard this from a bigwig around 2003 after getting my PhD.

This is one of these advices that I agree in principle but have violated in practice.
=D

Yes, coherence can help recognition from the community, especially when one enters a new field.

However, I am not sure if this should be intentionally aimed for. Unless you are extremely smart and versatile, you are likely end up doing related stuff without even trying.

There is this implicit force that drags us towards similar, and thus incremental, ideas. We should fight against this force, not follow it.
So, just do whatever you like. You will have more fun and more likely to produce novel stuff which, even if lacks coherence, beats being incremental.

April 9, 2016

How to design talk slides

Filed under: Real — liyiwei @ 11:57 pm
Tags: ,

Using slides is a popular way to give presentations. I am not sure if it is the best way, but things can go very badly if done in the wrong way.

Take a look at Jim Blinn’s post about giving presentations.
Below are some quick high level suggestions. (I plan to refine this post later.)

Aim for simplicity and minimalism.

The slides are for conveying information to your audience, not serving as memo for the speaker.

Use intuitive pictures, illustrations, and animations, instead of texts and (worse) equations.

If you find yourself worrying about typography, it is a sign of too much texts.
No sentence should run over one line.

Rid of visual clutters like bullet points.

Gratuitous colors and unnecessary font variations tend to confuse people.

March 24, 2016

Recording and sharing presentation

Filed under: Real — liyiwei @ 9:43 am
Tags: ,

Talks are usually easier to understand than the corresponding papers. To get accepted, papers need to be written in a way that look formal and rigorous, but not necessarily easy to understand. However, when authors present their (accepted) papers, they tend to cut the chase and talk straight.

In the past, people have to attend conferences for the talks.
Nowadays, everyone can easily share their talk slides online.
Better yet, record and share your presentations as videos (e.g. via PowerPoint). This can be done during practices or official presentation.
You do practice your talks, right? So why not record during your rehearsals, so that you can review now and share later.
Recording in official presentation might be trickier, e.g. the conference may prefer presenters using a shared machine and the recording might disrupt your presentation, but can be worth a try.

I have not done this for my own talks, but realized it can be a good idea after watching a few recorded talks online. I really appreciate the efforts from the authors, and plan to do so for my future talks.

March 11, 2016

Why it is fun to review journal papers

Filed under: Real — liyiwei @ 1:15 pm
Tags: , ,

After kindly agreeing to review a journal revision for the N-th time, the guy commented that “it’s the gift that keeps on giving!” 🙂

Conversation with collaborator X prior to a SIGGRAPH rebuttal

Filed under: Real — liyiwei @ 1:11 pm
Tags: , ,

X: I’m really eager to see what the SIGGRAPH reviewers have in store for us this time… The suspense is killing me. =o

Li-Yi: I just assume they will screw me, and I am never disappointed. 🙂

X: Yes, that’s what I do as well, but I’m always amazed about how they always find ways to complain about the stuff you don’t expect. 😮

Li-Yi: If I can expect what others will think, I will be like some sort of x-men or superman. 🙂

February 1, 2016

The cat experiment

Filed under: Real — liyiwei @ 11:07 am
Tags: , , ,

Once, when I was around 9 or 10, I was visiting my aunt’s place.

One of the cousins, X, and I were standing near the swimming pool. The family cat walked by. Cousin X and I got into the discussion about whether cats can swim. I have seen a few dogs and at least one horse swam, so I was pretty sure the answer is yes (cats seem more agile). Cousin X disagreed (he is older but not necessarily smarter), so we decided to have a bet.

Clearly, the only way to settle the bet is to experiment, so I grabbed the cat and threw it into the pool.
(That was before the age of YouTube and Google, BTW.)

What followed was amazing, and happened like within a few milliseconds. The cat sprang on the water surface like a trampoline, and immediate landed back near my feet. It was dripping, so it clearly fell into the water, but I had no idea how it managed to jump back. Meanwhile, our debate remained unsettled.

I am trying to come up with a very concrete way to tell a new PhD student how to decide whether someone is suitable for (scientific) research. So here is my try. Let me know if you have better ideas.

Do you like to ask questions that seem interesting at least to you (e.g. whether cats can swim)?

Do you enjoy finding the answers yourself through investigations and experiments (e.g. grab the cat and throw it into the pool, and observe what happens)?

Are you very comfortable with the consequences, regardless of the outcomes of the experiments (e.g. the cat neither swam nor sank and my aunt beat me up)?

Can you do this continuously as a career? Imagine it is Friday lunch time, and all the works you have done this week have turned out to be failures (e.g. no other ways you have tried can tell you whether cats can swim).
You have no idea what is going to happen this afternoon when you try your 101th experiment with that cat.

If you hesitate for any of these questions or you think I am crazy, you are probably not suitable for research. At least, you will not be happy or successful.

Talent and personality are important; you have to be sufficiently smart and tough for research. But passion is even more important; the only way to be truly happy and productive is to do what you really like.

January 29, 2016

School versus job performance

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

How predictive is the school performance for the eventual job (and life) performance of an individual?

This is a very important question. The schools are supposed to educate what is actually useful. (But clearly that is not the case in practice.)

This is also a very broad question under perennial discussion.

In my personal experiences on the creative side of computer science (e.g. research and development for the cutting edge of graphics and HCI), there is a weak positive correlation between school and job performance (around 0.2 to 0.3 if I have to be numeric).
Good school performance reflects positive traits such as talent and work ethics, but also negative traits such as conformity, lack of creativity, and risk aversion.

This is why standard statistics, like grades, schools, and rankings, are not enough and sometimes even misleading. We have to look at more practical evidence, such as publications, projects, and recommendations.

This is also why recruiting top students and employees is very challenging. Top schools and companies do have advantages in attracting top talents, but we only get what we look for. Many of the best people I have worked so far had been bypassed by the traditional screening standards. Conversely, I have also seen many weak people in top institutions.

Maybe one day data analysis and machine learning will solve this problem.
Before that, I rely on the good old way of people reading.

Research opening

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

February 22 2016 update: I managed to spend all the expiring grant money already.

I have several opening research positions. Please contact me if interested, and help spread the information.

What:
You pick whatever topic you like to do as long as (1) it can be published in a top graphics or HCI venue (e.g. SIGGRAPH, SIGGRAPH Asia, ToG, UIST, CHI), and (2) I have enough interests and expertise to help you.

How:
Send me a brief description of your research plans along with the usual information, like your resume. Tell me why you want to work with me and how I can help you.

When:
The first period will begin anytime from now and end on April 14 2016.
I can extend your contract if your performance is good enough.

Where:
These will be HKU positions, but other than school requirements you can work anywhere you like.

Who:
If you like to continue involve your current advisers or collaborators, just let me know. I usually like to know and collaborate with different people.

Why:
I have an expiring research grant that needs to be consumed prior to April 14 2016, and the remaining can be used only for hiring staff.

December 12, 2015

Implementation

Filed under: Real — liyiwei @ 8:28 pm
Tags:

During my PhD study, I observed how my adviser continued to code and experiment for his own projects, even after being very well established – tenured Stanford professor, computer graphics achievement award, etc.

After graduation I spent a decade in the industry as an engineer and researcher. For companies I worked for (NVIDIA and Microsoft), not coding feels worse than not talking (unless you are a manager).
Even when I consult (e.g. Lytro), I still opt to implement, even if the code cannot be shared due to IP reasons.

Thus, implementation has become an integral part of my workflow.
I found it the best way to (really) learn new topics, and more importantly a highly enjoyable process; I lose some mental balance without coding for more than a few days.

Maybe I am not smart enough, but I never understand why some CS people can get by without implementation.

For my past projects I either code with experienced collaborators, or leave it to the students for topics that I am already familiar with.
I have never code with a junior student in the same project, but I am starting that for a black-magic-like project.
I think this could be fun and mutually beneficial, and will report the experience later.

December 9, 2015

The PhD grind

Filed under: Real — liyiwei @ 6:10 pm
Tags: ,

I bumped into this PhD student memoir by Philip Guo, and liked it so much that I read the entire book within a few hours.

I highly recommend it to anyone doing research, especially junior PhD students.

There are many advices out there about research and PhD, but this memoir format provides concrete events that are easier to relate on a personal level.
It also helped that the fields covered are HCI and software engineering, which every CS major can understand to some degree.

In retrospect, I hope to have written something similar around the time of my PhD study. Back then I simply had too much fun for this, and I probably have too much selective bias now to write a genuine one.
But if you can write one, I would love to read.

November 30, 2015

How to write papers

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

Just like many other skills, the more you do, the better you get.

Writing anything is better than writing nothing. It is an iterative process. The readers do not care (and cannot tell) how many iterations you have made, or how crappy the earlier versions were.

Read good papers, and learn their styles.
Look at suggestions (books, articles, online tutorials, etc.) on how to improve writing.

Aside from telepathy and telekinesis, any other form of external communication has inherently narrower bandwidth than your internal brain circuitry.
The challenge is to figure out what you know that others don’t, and effectively communicate these.
(I used to think that teaching is orthogonal to research. Now I realized that both rely on the above, after being a prof.)

What you want to write might not match what you really have written. To detect this discrepancy, flush your brain cache as follows. After having a draft, leave it there until you have forgotten most of it. Then look at it again.

When you have only minor updates between revisions, show your draft to other people for comments. Ask them to be honest and brutal, like reviewers.

November 23, 2015

Latex versus Word

Filed under: Real — liyiwei @ 12:17 am
Tags:

https://www.facebook.com/liyiwei/posts/10207898861689892

October 26, 2015

Autocomplete hand-drawn animations

Filed under: Real — liyiwei @ 9:00 pm
Tags: ,

[This post is for answering press inquiries about our SIGGRAPH Asia 2015 paper titled “autocomplete hand-drawn animations”.]

On August 2014, Koji Yatani (at the University of Tokyo) asked me (on Facebook!) to recommend students for a MSR Asia internship under Takaaki Shiratori with topics in animation and sketch UI. I recommended my HKU PhD student Jun Xing, who just got a paper in SIGGRAPH Asia 2014 titled “autocomplete painting repetitions”.
(Both Koji and I were with MSR. That is how we got to know each other even though we have no overlap.)

Our initial goal was to help users create animated emoji in instant messaging. I wanted to make sure the project is significant enough (e.g. for SIGGRAPH) while leveraging our collective expertise as much as possible. Thus, I proposed to extend the aforementioned SIGGRAPH Asia 2014 paper, which can autocomplete only single-frame drawings, for multi-frame animations. The main goal for both projects is to help ordinary users draw as easily and effectively as possible.
(My dad is an artist, but I have yet to learn how to draw. So as any decent computer scientist would do, I ask algorithms for help.)

Jun designed most of the user interface and algorithms, and implemented the entire system. He is definitely one of the best students I have worked with.

We plan to ship prototypes of the system to gather user opinions for further research and improvements, starting with mobile apps followed by desktop versions.

PS:
Contrary to what some press reported, this is NOT a Microsoft technology or product (at least not at this moment of writing). None of the authors were with Microsoft during the key stages of the project development. In particular, the core ideas were conceived before the start of the internship, and Jun had to come back to HKU to finish the project after Takaaki left Microsoft about 1 month before the paper deadline.

August 5, 2015

Good collaborator

Filed under: Real — liyiwei @ 11:42 am
Tags:

People who are the most important in my life are those who make me better.

I would like to thank Chia-Kai Liang, my collaborator in a light field camera design project.

  • The best kind of research projects has both academic and industry values. He brought me into this very interesting problem, for which our solution turns into a SIGGRAPH paper and part of a next generation Lytro camera.

  • Initially I thought the project is too engineering-oriented for a good research paper. He corrected my blind spot and kept us moving on.
    (I am still learning to walk the very thin line between optimism and pessimism for research.)

  • The project involved heavy workloads in data capture and prototype engineering. He participated and coordinated all these with the product teams and paper co-authors.

  • He wrote the code and paper with me, more closely and more effectively than my previous (excellent) collaborators.

  • I learned several technicalities thanks to him, such as designing light field cameras, using cmake without blowing off our legs, putting python (programming language) to good use, automating speech synthesis for video dubbing, etc.

  • He made sure I started preparing our SIGGRAPH talk before inside the convention center.

I look forward to further collaboration with Chia-Kai in innovating computational photography.

May 31, 2015

Should we submit?

Filed under: Real — liyiwei @ 1:33 pm
Tags: ,

The deadline is approaching and we have this paper that might or might not be ready. Should we submit?

A lot can be learned only by going through actually paper review cycles. So it pays off to do our best to meet the deadline.

On the other hand, a bad submission might get its potentially good ideas scooped by the reviewers without receiving much useful feedback.

Thus, I recommend submitting only those with a reasonable chance of getting accepted but let the first author make the final call as the tie breaker.

A related post: why strong labs sometimes submit weak papers

March 16, 2015

PhD student recruiting

Filed under: Real — liyiwei @ 2:15 pm
Tags: ,

On behalf of the HKU CS department, I would like to invite top students all over the world to apply our PhD program for academic year 2016-17.

HKU is a top ranked university conducting world class research and teaching. It is located at the heart of Hong Kong Island, aka the downtown area.
Hong Kong’s diverse culture, liberal policy, and vibrant economy offer unique life styles and career opportunities.

December 20, 2014

Minimal quality bar to become my internal student

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

You should be able to understand and implement an existing research paper (e.g. SIGGRAPH) or software system (e.g. a renderer/simulator) as well as reproduce the corresponding results.

Otherwise, you are not ready for a research or even a development position.

As a reference point, my first HKU PhD student, Jun Xing, once managed to reproduce 3 SIGGRAPH papers in a span of about 5 days (for sports).
🙂

December 11, 2014

Street credit

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

Coauthors revealed a secret in a recent paper that gave us all street credits.
:v
(It is in plain sight for anyone to see, so I won’t tell.)

November 9, 2014

Manage presentation via slides

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

Here is my current workflow to produce a video or prepare a talk for a research project.

Write down the story/script in plain text and rough drawings. Do not use any specific media at this early stage as it can prematurely limit our creativity.

Commit the script into a storyboard via slides (e.g. PowerPoint).
I then gradually flesh out the storyboard into a video and talk using the same set of slide files. This might sound unusual, so let me explain.

Start with video. When I was in grad school I learned time-line based tools (e.g. Adobe Premiere) to author and edit videos. But recently I found it more natural to use slides instead of time-lines for research videos. The main reason is that a research video usually contains short video segments glued together by narration, which involves more storyboarding than time-line manipulation.

I first produce the individual video segments using specific tools (e.g. dumping individual frames from my renderer and convert them into a video via MovieMaker), and embed them into PowerPoint slides. PowerPoint provides a rich set of tools for annotation, animation, and transition, which I find handy (and harder to do via Adobe Premiere). I automate all object animations and slide transitions, and dump the entire project into a video file.
I submit the video along with the paper, and go screw around.

PowerPoint allows flexible manual control, but it can be tedious due to lack of automation/scripting tools. Thus, it is important to properly decompose the above process into (1) automatic creation of (video) components and (2) manual insertion/combination of these components into the slides. It is a trade-off among quality, control, and manual labor.

When the time comes to prepare the talk, I can simply start with my slide file, which already contains the script, the video segments, and associated effects. I just need to turn off those automatic animations and transitions that I wish to manual control, and add additional information for a talk, usually verbal stuff such as previous works, algorithm details, and future directions.

I find this much more efficient than starting new slides from scratch.
I also find that for those projects that I were too lazy/busy to make videos, the talk slides I ended up doing are often not too far from being videos.
It is almost always a good idea to have a video to present the gist of our project in a few minutes, more appealing and efficient than absorbing the same amount of information from reading the paper.

Presenting algorithms is a good exercise to think and talk in an intuitive and straightforward manner. Hard to do when facing a deadline, but I like to prepare the presentation while writing the paper.

As an example, here is an early version of the video-slide file for my siga14 paper autocomplete painting repetitions.

July 29, 2014

Teaching assistant

Filed under: Real — liyiwei @ 10:40 am
Tags: , ,

TA is a great training for presentation, communication, management, and personal skills. You have to be able to describe course materials in a way that the students can understand, and you have to balance their learning and happiness. Naturally, students want to minimize workloads while maximizing grades. Dealing with a large class (hundreds of undergrad students) is not unlike managing a mob.

It is great if one can focus exclusively on research. That is what I prefer then as a grad student and now as a prof. But without sufficient communication and personal skills, one cannot succeed even with great research skills.
To start with, a great idea is of no value if it cannot be understood and appreciated by people.

Thus, I do not consider TA a waste of time. Quite on the contrary, it is an indispensable part of research training.

July 25, 2014

Stephen King on how to write

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

It is striking how much the advice on fiction writing applies to technical writing and conducting research in general, despite some important differences, e.g. scientific writings should be precise instead of leaving rooms for imagination.

May 20, 2014

The seven year itch

Filed under: Real — liyiwei @ 1:53 am
Tags:

Around year 2007 I collaborated with some guys on a project. After a while due to lack of progress, the project was shelved.

Earlier this year, the same group of guys contacted me about joining the project again. They found a way to rejuvenate the project just days before. It was less than 48 hours until the submission deadline, so I did not think I will be able to make enough contributions to be a co-author.

Today I am thrilled to find out that the paper has been accepted (by a top venue). This is the longest wait period among all projects I have been involved with.

Patience pays off. Good ideas often need time to mature, and might look like craps in the beginning. Store them in your mental jewel box, and they might shine in the future with the right circumstances. Avoid the temptation to publish the idea too early just because it might get scooped. An ill prepared idea, like an ill dressed person, will not get the deserved recognition and impact. And ideas easily discovered probably are not all that novel anyway.

Never give up until it is absolutely dead. Whatever considered impossible by ordinary people may be overcome by those who want to be extraordinary.

March 7, 2014

Double-edged sword

Filed under: Real — liyiwei @ 5:32 pm
Tags: , ,

I found Bobby Fischer against the World a fascinating documentary about a particular kind of talent (chess) of a unique individual (Bobby Fischer, widely considered as the greatest chess player of all time who later self-destructed into an outcast) at a particular era (cold war, with chess being one of the competitions to showcase US/Soviet supremacy).

One interesting point pursued in the movie is about the specific type of brain that enables superior chess play may also cause certain psychological issues.
One can make a more general point in that unusual brains, as double-edged swords, can produce special talents as well as abnormal behaviors, as have been seen in geniuses across different disciplines such as musicians, artists, scientists, and mathematicians.

December 23, 2013

Dear Asian students

Filed under: Real — liyiwei @ 6:10 pm
Tags: , ,

Not having to observe Western holidays is your competitive advantage. Don’t squander it.

November 8, 2013

How to do CHI rebuttal

Filed under: Real — liyiwei @ 6:23 pm
Tags: , ,

I think the basic points are the same as with any rebuttal. The main difference between CHI/UIST and most other venues (e.g. SIGGRAPH) is the addition of meta reviews which might provide helpful summaries for rebuttal.

More tips can be found via twitter, such as this and that.

November 4, 2013

Plan what you do

Filed under: Real — liyiwei @ 9:46 pm
Tags: ,

While focusing on rushing a project it can be difficult to stop and think about the overall picture, but without that you could end up wasting a lot of time in the wrong stuff.

Spend a few minutes writing down the plan, rationale, and whatever thoughts you have at the beginning of each day before the crunch begins. This little initial investment can greatly enhance the eventual efficiency and happiness.

If you are my collaborator I can vet your sanity through your write ups. I am not looking for a PhD thesis; just a few sentences will be enough.

October 17, 2013

Automation

Filed under: Real — liyiwei @ 6:23 pm
Tags: , ,

A capital crime for computer science is manual repetition of uninteresting tasks. You will be happier and more productive by proper automation, which, coincidentally, is a main job for computer scientists.

For example, instead of sitting up all night tuning parameters of an experiment, you can write a script to try over a million settings over night while you go home sleep or have a fun time in Lan Kwai Fong.

October 14, 2013

Brainstorming

Filed under: Real — liyiwei @ 1:48 pm
Tags: , , , ,

I stumbled upon this article about group brainstorming today.

It echoed well with my own personal experiences and my general take that meetings are almost always completely useless for research/creative works.
I do meetings only when absolutely necessary, such as resolving major confusions or conflicts among multiple team members, evaluating live demonstrations of a UI design, and interviewing (i.e. reading) people.

Some managers and administrators like meetings. Fight them with all your power. Do not let less intelligent people waste your time or reduce your effectiveness.

August 5, 2013

Thesis and oral defense

Filed under: Real — liyiwei @ 5:44 pm
Tags: ,

Schedule

My PhD adviser once told me that the most difficult part for graduation is scheduling the oral defense.

I thought he was joking, but realized he really meant it after doing it myself. It is basically a NP-hard, if not non-computable, problem.

I consider this as part of the ritual for graduation, so I will let the candidate schedule his/her own oral defense. People who cannot even get this done do not deserve to graduate.

Format

I never understand the rationale for hundreds-page thesis or hours-long oral defenses (PhD or other research degrees); it is probably residue from some ancient practices. But I think it is a big waste of time to write or read (or print, for heaven’s sake).

Here is my proposed thesis format:
Part 1: a concise summary of what the thesis is about, and why people should care about it.
Part 2: simply staple (via Latex, not physical papers) the relevant publications together to explain how it is done.

And here is the corresponding format for oral defense:
Part 1: a (sub) 5 minute elevator pitch telling people what the thesis is about and why they should care about it. There is a short break after this stage. The candidate fails if (s)he cannot convince the audience why they should continue to listen.
Part 2: a (sub) 25 minute presentation of more details, which can simply be a re-compilation of past conference talks. What follows is a usual break for committee discussion.

If the candidate does not have solid publications, (s)he should not be able to graduate.
If (s)he does, it should probably take at most a day to prepare the thesis and oral defense, on top of the existing materials.
The committee members can just spend as much time reading the published conference/journal papers instead of bloated mumbo jumbo in hundreds of pages.

If the candidate knows what (s)he has been doing, (s)he should be able to articulate a clear elevator pitch.
Otherwise, (s)he does not, and probably should come back to think and work more.
The committee members can quick see the quality of the research work instead of having to sit through hours-long slug about some technical details.

I plan to implement these for my internal students. And please, just send me the pdf file of your thesis. Spare the trees.

July 17, 2013

Advices on advising

Filed under: Real — liyiwei @ 5:51 pm
Tags: ,

I stumbled upon these advices on advising by David Patterson (here) and Jeff Ullman (here) today. I found both insanely useful, especially after having a few years of advising experiences. The advices differ in the way that Patterson is mainly on systems and Ullman mainly on theory. But they also share similarities such as the importance of identifying problems and collaborative work.
(I would really love to hear from someone in graphics and HCI, fields with more emphasis on human side applications. I am thinking about asking my former school advisers/professors to write such articles.)

I reflected upon my (unusual) style of individual work and asynchronous communication. This has been quite effective so far, but I never stop thinking it could go wrong, at least for some students. So what I did is to make sure there is always at least one co-adviser who can help with the normal human side of needs, like in person meetings and emotional support.
Exposure to industry labs or even startups, fortunately, should be the benefit of working with me, given where I came from and whom I know.

I encourage all my past, current, and future students to read these articles, and let me know if you have any comments.

July 10, 2013

Picking up HCI

Filed under: Real — liyiwei @ 3:37 pm
Tags: ,

I am picking up HCI as it is becoming more relevant to my teaching and research. Here is a log of what I have found useful. As work in progress things are going to be in a flux. If you have suggestions I would love to hear.

PS: Back in grad school my PhD adviser once commented that UI design is my Achilles heel. 🙂

Books


The design of everyday things by Donald Norman is an old text but has aged quite well. The thing I like most about the book is that it provides many highly intuitive examples and counter examples to illustrate many of the practical design issues.


I learned about user studies from measuring the user experience by Tullis and Albert. It is pretty comprehensive, but for detailed math/theory you will need to look up elsewhere.

Courses

The coursera course by Scott Klemmer covers several main aspects of HCI and is fun to participate. I quickly went through it off season within a few days so I just watched the videos and did the quizzes. I plan to join the next offering and do the homework assignments (for real).

July 5, 2013

SVN post commit email notification

Filed under: Real — liyiwei @ 1:33 pm
Tags: ,

To some of my collaborators who have recent troubles with svn auto notification:

Instead of the usual spam run on my svn mail server, this time the issue seemed to come from over-zealous spam filtering. That is beyond my control, so I did a workaround.
(See below for more details if interested.)
The only difference is that you will see only yourself as the email recipient instead of everyone else on the cc list.
But this is probably a good thing as it can discourage the temptation to reply all through email.

Let me know if you still see issues.

Setup guide

Here is a quick guide on setup for linux. I will let you search online for other systems and more details.

. Under the “hooks” directory of your repository, there should already be a file named “post-commit.tmpl”. Copy it to a file named “post-commit”, and set x permission for ug. As the name implies, this is the file that will be automatically evoked after commit.

. There should already be a line similar to the following at the end of that post-commit file. All you need to do is to set the proper directory for commit-email.pl and append proper email list.

/usr/share/subversion/hook-scripts/commit-email.pl “$REPOS” “$REV” -s “Project Name” person1@foo.bar person2@foo.bar

. Alternatively, you can also use mailer.py in lieu of commit-email.pl. The former will give you more options while the latter is simpler. For mailer.py, use the following line instead of the commit-emai.pl line above:

/usr/share/subversion/hook-scripts/mailer/mailer.py commit “$REPOS” “$REV” “$REPOS”/hooks/mailer.conf

You also need to put a mailer.conf file under the same directory.
Below is a simple basic setup that works well for me.

[general]

# This command will be invoked with destination addresses on the command
# line, and the message piped into it.
mail_command = /usr/sbin/sendmail

[defaults]

# This is not passed to the shell, so do not use shell metacharacters.
# The command is split around whitespace, so if you want to include
# whitespace in the command, then ### something ###.
diff = /usr/bin/diff -u -L %(label_from)s -L %(label_to)s %(from)s %(to)s

# The default prefix for the Subject: header for commits.
commit_subject_prefix = Project Name

# The default To: addresses for message. One or more addresses,
# separated by whitespace (no commas).
# NOTE: If you want to use a different character for separating the
# addresses put it in front of the addresses included in square
# brackets ‘[ ]’.
to_addr = person1@foo.bar person2@foo.bar

# If this is set, then a Reply-To: will be inserted into the message.
reply_to = noreply@foo.bar

# Specify which types of repository changes mailer.py will create
# diffs for. Valid options are any combination of
# ‘add copy modify delete’, or ‘none’ to never create diffs.
# add: generates diffs for all added paths
# copy: generates diffs for all copied paths
# which were not changed after copying
# modify: generates diffs for all modified paths, including paths that were
# copied and modified afterwards (within the same commit)
# delete: generates diffs for all removed paths
generate_diffs = add copy modify

# A revision is reported on if any of its changed paths match the
# for_paths option. If only some of the changed paths of a revision
# match, this variable controls the behaviour for the non-matching
# paths. Possible values are:
#
# yes: (Default) Show in both summary and diffs.
# summary: Show the changed paths in the summary, but omit the diffs.
# no: Show nothing more than a note saying “and changes in other areas”
#
show_nonmatching_paths = yes

My workaround

The mail filter appeared to be rejecting and considering as spam some automatic notifications with multiple recipients. So a quick workaround is to send out emails once at a time to individual recipients. This can be easily achieved via commit-email.pl as follows:

for person in person1@foo.bar person2@foo.bar
do
/usr/share/subversion/hook-scripts/commit-email.pl “$REPOS” “$REV” -s “Project Name” $person
done

For mailer.py, you will need separate conf files for individual recipients. This does not look very convenient to me.

June 13, 2013

How to fail your graduate study like an undergrad

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

You think GPA is important and spend time boosting your grades.

You think research is as deterministic and well-defined as courses.

You wait to be told what to do rather than figure out your own way.

You think you are working for your adviser rather than yourself.

Instead of work continuously, you let external factors (e.g. holiday and semester breaks) disrupt your flow.

You do not read every paper in the top venues of your fields especially during your first few years.

You try to read and understand every paper completely like textbooks.

You feel that deadline 3 months later is still far away.

You believe you are smart enough so that you do not have to work as hard as others.

June 2, 2013

How to do a paper fast-forward

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

Giving a good paper presentation is already hard, but at least you have 20 minutes’ worth of wiggle room. Giving a good paper fast-forward is even harder, because you have only 40 seconds. Even one tiny mistake can ruin you.

Goal

The most common mistake is trying to explain too much (I like to call it “geek’s asymmetry”). Trust me; almost nobody will care, and certainly nobody will understand, within 40 seconds and among 100+ presentations.

The fast-forward is pure advertisement with one main goal: get people read your paper and attend your talk.
On top of that, if you are really good, show what a cool and interesting guy you are. But do not even try unless you are absolute sure. (A good rule of thumb is this: are you already cool and interesting?)

Design

Write down the script first, so that you know what you want to talk about and you can comfortably utter the sentences within the limited time frame. Practice and rehearse a sufficient number of times, especially if you lack verbal proficiency. Only design your slides after the script is in a stable condition. This is extremely important. If you do it the other way around, and I know this is what most people would do, you are making a grave mistake, because (just like what movie critics would say) you are letting the effects get in the way of the substance.

Do not force people read your slides. Use pictures and animations instead of texts to explain your points.

Practice

After having both the script and the slides, practice, until you can do it perfectly during sleep.

May 25, 2013

Ideas are not like cakes

Filed under: Real — liyiwei @ 5:21 pm
Tags: , ,

I used to dish out ideas like cakes to those who are good all-around but just cannot figure out what they want to do. Recently, I realized this is a mistake.

Ideas are not like cakes that can just be given out. Rather, they are more like dresses that better be tailored individually.

This applies to all kinds of people.

Those who can already create ideas do not need to be told what to do anyway. They just need guidance. This is the best case scenario.

Some have potential to create ideas but cannot do right now due to lack of proper training or motivation. The goal is to kindle their autonomy. Giving cakes is not going to achieve this, and these might not be what they like to eat anyway. The right thing to do is forcing them to think. The process could be frustrating sometimes, but worth the end result.

Those who lack fundamental abilities to create ideas are not suitable for research anyway. Giving them ideas just wastes everyone’s time (and the ideas). They should switch to alternative career paths as early as possible.

A proper timing to share ideas is after someone already figures out a related direction.

May 22, 2013

Autonomy

Filed under: Real — liyiwei @ 9:51 am
Tags: , , ,

I bumped into this interesting and concise article a few days ago. I encourage you to read it in whole and watch the embedded video.

Basically, it echoes my personal experiences quite well, across product groups, industry labs, and academia. For jobs that require any dose of innovation, the success predominantly depends on individual creativity, perseverance, and autonomy, rather than knowledge, smartness, or even intelligence.

I have a very simple rule of thumb to know, at an early stage, whether a student is suitable for research, or any form of innovative work. It is a bit like push and pull. If I push you a bit (e.g. suggesting you to try an experiment) and you can react back with at least something I did not know a priori (e.g. a surprising result or a better way to do that experiment), you are probably good. Otherwise, you are just a robot that needs to be told exactly what to do. It is a bit better, but not fundamentally different from, say, strawberry pickers or assembly line workers.

Autonomy is the main distinction between jobs in the past 2 millenniums (e.g. agriculture, manufacturing) and this new millennium (the so called knowledge economy). It is also the main reason behind the bifurcation of economic power, social class, and a lot of other things.

On a related note, a recent story deeply touched my heart. A previous unknown, 50+ years old mathematician, with stints in fast food restaurants, recently proved an elusive property of prime numbers that has been one of the longest standing math challenges.
I did not know this guy, but I bet he must have a tremendous amount of passion and perseverance to spend all the time and efforts to pull this off.

May 21, 2013

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”.
😀

May 18, 2013

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.

May 15, 2013

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.

April 17, 2013

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.

Next Page »

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