Confessions of a researchaholic

2015-02-02

Pause the future

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

I was watching Super Bowl XLIX on my tablet using NBC’s live sports app, but had to attend a meeting during the middle of the third quarter.
So I paused the game, hoping to resume it later without spoiler.
Fortunately, nobody in Hong Kong mentioned anything about the game to me, and the app is robust enough to replay everything, including commercials.
After the meeting I went straight to solitary confinement and finished the rest of the game around midnight Arizona time.

Tom Brady threw his second interception when I paused the game; the world knew the rest before I resumed it.
🙂

I wonder if this can be an interesting HCI research topic.

2014-07-04

Flash boys

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

The finance and tech industries have been the whipping boys for American inequality. Lie in their junction are the algorithm traders.

A specific form of algorithm trading, with high frequency as depicted in this book, is to arbitrage the time differentials between signals traveling through different electronic routes.
For example, say you want to buy or sell a block of stocks too large for any single exchange to fulfill. Your order is then broken down into smaller blocks, each routed to a different exchange. A high frequency trader, by placing small orders for all stocks in all exchanges all the time, like a fisherman placing baits, can detect your order arriving in the first exchange, and quickly insert itself as the counter party of all your other orders arriving later in other exchanges. This allows the trader to make a small amount profit multiplied by a very large number of trades.
In order to pull this off, a high frequency trader has to be on the frontier of high performance computing.

This is a highly entertaining read like many of Michael Lewis’ previous books. But the distinction is not all that clear between the narrated protagonists and antagonists, who are all wealthy financiers.
Instead, the most intriguing character I found in the book is Sergey Aleynikov, a former Goldman coder whose prosecution triggered the start of the book, in which he was quoted:

If the incarceration experience doesn’t break your spirit, it changes you in a way that you lose many fears.
You begin to realize that your life is not ruled by your ego and ambition and that it can end any day at any time. So why worry?

2014-06-30

The market for parking

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

Instead of banning parking apps, the SF city should think about how to collect money leaving on the table.

2013-12-09

President Obama calls on every American to learn code

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

On one hand, like math, coding provides some fundamental training that should definitely be learned by everyone.

On the other hand, it is a design problem if everyone has to learn coding just to build or use software tools.

In the current state of computer science, it remains unclear (at least to me) which parts are fundamental materials and which parts are design artifacts. The former can be distilled into general teaching curriculum while the latter should be fixed.

Ideally, an entrepreneur with core knowledge in math and programming should be able to create his or her own applications without having to write a single line of code.
This is already happening in certain domains such as mobile app development.

2013-07-26

Laptop-less in Anaheim

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

I did not bring my laptop to SIGGRAPH this year to discourage myself from working inside the convention center or the hotel room.

Experimental results indicated that this motivated me to spend more time hanging out with people, which is supposed to be the main goal for a conference. I can easily schedule all events and meetings via my smart phone and tablet. (Even the tablet is probably not necessary, if I can address a few technical issues of my phone.)

I probably would have had to bring my laptop if I had to give any talks. None of the Android apps I know of can adequately author talk slides. If such apps eventually show up (and I expect they will), I would happily travel with only my phone in the future.

Eventually though, the phones will likely become powerful enough for me to work inside the hotel rooms (again).
🙂

2013-07-05

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.

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-01-26

Why my site is not worth hacking

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

A friend of mine, who is currently a grad student in a prestigious CS department, told me that his PhD adviser is pretty keen on the cyber security thing. Like, he will fuss about unencrypted project servers.

I do not encrypt my server. It is not nearly as popular a target as my friend’s department, and I simply do not think it is worth hacking. Allow me to do a quick breakdown of the content of my site:

90% are project ideas killed by myself.

9% are not killed, but papers rejected by reviewers.

1% are neither killed nor rejected, but so poorly written that reviewers, who are experts in my field, asked for 3 revisions to be able to understand.

I hope I have saved your time. Have a good day.

2012-02-22

Artificial intelligence

Filed under: Imaginary,Real — liyiwei @ 10:37 pm
Tags: , , , , , ,

When I was younger I preferred to stay away from people as much as possible, as most of them are not very interesting and it is much more rewarding for me to be alone thinking and reading.

When I get older, I realized that humans are intensively intriguing subjects for study. I started to spend a lot of time observing human behaviors and try guessing what they are thinking and predicting their actions.

This caused certain dilemma for me: on one hand I still want to be as far away as possible from people, but on the other hand, I want to be close enough with them for the purpose of studies and observations.
(The penalty and reward seem to go in tandem; crowd behavior is the most interesting, but also the most annoying to be part of.)

Fortunately, computer science comes into rescue. Far from the common stereotypes (of nerds locking in toilets), computer science, especially the most current and active subjects, are very human centric. One example is user interface, including design for better user experiences, as well as analysis and synthesis for deeper understanding and more advanced interactions.

A more recent example is social networking. Previously, most human daily activities simply dissipated into entropy. Now, with people spending more of their interactions through various social networking sites, we can record their activities in better quality and quantity.
Such data not only enables better computer technologies but more profoundly, more insights into human nature. (Facebook probably knows more about certain individuals than their mothers do.)

Two sci-fi series could provide inspirations for both directions.


Caprica is about how humans create Cylons, a cyber-genetic life form that eventually pushes humans near extinction in the main Battlestar Galactica series (which I found to be much less interesting).


Dollhouse is about how technologies can allow memories and personalities to be extracted from one individual and installed into another, essentially programming human brains.

Both offer insights into computer science and humanity, as well as highly enjoyable entertainments. Unfortunately, both got canceled prematurely due to low ratings, a confirmation of my childhood observation about how ordinary humans would react to deeper materials.

« Previous PageNext Page »

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