Confessions of a researchaholic

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.

2011-09-21

Why software is eating the world

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

I highly recommend this article from Marc Andreessen, especially for computer science folks.

To be fair, I think he is a bit too optimistic (as an entrepreneur he should be), but he still made plenty good points.

This is not exactly a new article, but I just realized that a lot of people haven’t read it yet, thus the sharing.

2010-09-05

The monk and the riddle

Filed under: Imaginary,Real — liyiwei @ 12:16 pm
Tags: , , ,

by Randy Komisar

This is such a good book that I wish I had read it earlier (but fortunately found it is not too late). The gist of the book is about the right mind set for starting up companies (it was published right before the dotcom bubble burst) but I believe the main points are equally applicable to other professions: (1) do what you want to do for the rest of your life and (2) be ambitious, aim for the very best, and do not settle for mediocrity.

Read the book to figure out what the riddle is about.

2010-08-25

The man who loved China

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

I am not interested in biography, but I approached this book due to the Needham question: why China was taken over by the west in science and technology around 1500 AD after the amazing advances in earlier times? I was hoping that this book will provide answers, even though I never realistically expected that since this is a question about history, and thus can never be verified scientifically.

Well, I was right about that, as obviously nobody has ever managed to answer the Needham question. But that does not really bother me for several reasons.

First, I, like many others who have been through both Chinese and American style educations, know the main reasons more or less, even though none of us can rigorously prove anything. But answering a historical question is not really the point. The point is to find remedies and solutions. That, fortunately, I, just like many others, already know how to do practically, as evident from our achievements in modern scientific and technological activities.

Second, as pointed out in the book, the Needham question might be moot anyway, as China seems to have regained its rigor and creativity. But I cannot fully agree with this point; I agree that China has been improving, but it still has work to do to catch up with the American level creativity. Even from the young Chinese students I am collaborating today I can still see a lot of old problems that probably have been accumulated through hundreds if not thousands years of bad cultural impacts. But this is obviously fixable at least in an individual level; the million dollar question is whether it is also possible in a large national or even ethnic wise scale.

The funny thing is that the Needham question was not formally addressed until at the epilogue of the book. So the book is really testing my patience. Fortunately, the main part of the book, essentially the biography of Joseph Needham, turns out to be a fascinating read.

I recommend this book to anyone, especially (ethnic) Chinese working in the field of science and technology.

« Previous PageNext Page »

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