Confessions of a researchaholic

2015-07-04

Neural inceptionism art

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

I have decided to feed the art works by (or related to) my father, grandfather, great*** grandfathers, etc., to this neural network inceptionism code.

Below are some results. Each group consists of the original image, and the results amplified for low and high level neurons.

巷尾 ~ At the end of the lane
end_of_the_lane_original
end_of_the_lane_pretty_impressionist
end_of_the_lane_weird

戲院街的後巷 ~ The back side of theater street
back_side_of_theater_street_original
back_side_of_theater_street_pretty_impressionist
back_side_of_theater_street_weird

巷弄內望見普德宮的廟頂 ~ temple top

temple_top_originaltemple_rooftop_pretty_impressionisttemple_rooftop_weird

Calligraphy, uniform font size
R1043620_original
R1043620_pretty_impressionist
R1043620_weird

Calligraphy, varying font sizes

R1043599_pretty_impressionistR1043599_weird

Kublai Khan

kublaikublai_pretty_impressionistkublai_weird

2015-04-08

Debug your own code

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

Never, ever, send your code to others and ask them to debug whatever functional or performance issues you have.

That is the most effective way to signal you being a liability rather than an asset. It is like asking others to wipe your ass for you.

Spend time figuring out what is going on inside your own code, and ask specific questions if you need help. Take a look at stackoverflow.com, a good forum for coding questions.

2015-02-11

Jeff Bezos shares his best advice to entrepreneurs

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

The whole article can be found here, but gist is to do what you really love.
It is that simple, repeated elsewhere, and applicable to different professions.

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.

« Previous PageNext Page »

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