From scss to stylus

Trying to consolidate my css preprocessor to one system – stylus.js

Surprisingly easy to convert from scss to stylus because:

– Stylus supports native css syntax

– Nib provides a lot of mixins

– More mixins can be added easily


Some notes:

– To compile scss, I used to do:


sass --compass --watch css/gadget.scss:gadget.css

– To compile stylus, I do:

stylus -u nib -w css/gadget.styl -o .

– It takes me about half a hour to figure out the right syntax for output to current folder is “-o .”!!!


Popular EdTech sites, November 2013

Inspired by an old habit in my old startup, I decided to start a monthly update on the popularity of EdTech sites. Well, those updates should last as long as I am still in the EdTech industry.

A very incomplete and working in progress list are here. The Alexa rank is not necessarily accurate but nevertheless a good approximation of the popularity.  1,865  2,081  4,427  4,476  7,042  19,050  26,042  59,980  61,018

Notable mentions for Asian companies, because for them, Alexa is useless.


Coffee surfing

Coffee surfing on Sunday morning is a surprisingly refreshing experience. This time at:

791 Hickey Blvd
(650) 359-7147

Yesterday was very productive. Went to two events, Silicon Valley Employers International Forum (SVEIF) 2013 and Hack Reactor graduation.

The startup competition in SVEIF is pretty cool. The presentations might not be the best, but a lot the ideas are really cool. There is a product similar to Leap Motion, one touch screen at the back of the cellphone, catalysts to convert plastics to oil, and lasers to measure air pollution. Quoting one of the judges, “the ideas are very refreshing. Because you heard about coupon, social pitches all the time. The pitches today are mostly about real technology changing lives offline.”

Graduation in Hack Reactor is always exciting. Got a chance to catch up with old friends. The school is getting better and better, judging by the places people actually are interviewing with. Wish everyone the best of luck.


Live DOM nodes

Maybe I am just naive, but I am used to jQuery’s static node, meaning the change in the DOM structure is not reflected automatically in a queried result.

It turns out some native methods are live or reactive. Three of them are:

This means the following code is an infinite loop:

var divs = document.getElementsByTagName('div');
for(var i=0; i<divs.length; i++){

Pick an editor library

WYSIWYG choices:



4 medium.js forks: (my favorite so far)

Very interesting implementations:


The classic:

The minority:


Git merge several repos

There are many ways to do it.

One way is:

– Clone old-repo1 to local machine

– Move everything to old-repo1/old-repo1

– Go to new directory

– Git remote add old-repo1 ../old-repo1

– Git pull old-repo1 master


There is always a hard step. I use the following script to move old files to its sub directory

for file in $(find . -maxdepth 1 -type d -not -name '.*'); do git mv $file $(echo $file | sed -e 's/^/sub_dir\//'); done

for file in $(find . -maxdepth 1 -type f); do git mv $file $(echo $file | sed -e 's/^/sub_dir\//'); done


Looks like the entire prelinked team is hired

Looks like all of our four team members from Prelinked are hired as of today. Yes!!!

Team matters a lot in Hack Reactor. For one, the project / tech stack is important. For another, your teammate will be your best ally in the interview process. We practiced interviews together, revised each other’s resume and passed down leads when one person has already taken a job offer. The best part is the mutual supporting. Without the team, the job hunting process would be a much harder one.


The only time I got it right

I have been practicing predicating start-ups  for a while and I tend to be horribly wrong. But I think I might be getting better and better over time. Two companies I liked a lot both raised a significant amount of money recently.

One is Memoto, which changes its name to Narrative. You can visit them here: They raised $3M in a round led by San Francisco-based True Ventures.

The other is Loom, which recently raised $1.4M seed.


Next on my list:

– If they pivoted well, they have the opportunity to become the next Yammer.



Now I know why employers are impressed when we talked about daily stand-up, 2 days sprints and weekly releases, because that is highly relevant to the workplace.

I wanted to share some of the scrum notes, since most of them are in the public domain anyway.

What is scrum:

– A subset / branded version of agile. Agile is the opposite of waterfall. Waterfall is borrowed from classic engineering, i.e. building a bridge requires a huge amount of planing prior to construction.


– Product owner

– Dev team

– Scrum master

What do they do:

– Product owner creates user stories and he is responsible for the ultimate success of the product.

– Dev team.

– Scrum master has no managerial authorities. He is a facilitator to remove the road blocks for the dev team.


– Prioritized backlogs, with each backlog representing a user story.

– Backlog review meeting. Can be informal.

– Sprint planning. One week duration for now, preferably with several user stories per sprint.

– Daily stand-ups. Answer three questions: what did you do yesterday, what are you going to do today, are there blockers?

– End of sprint with one sprint review and one retrospective review. Sprint review should demonstrate each finished user story. Retrospective review is where everyone provides feedbacks regarding systems and processes.

User stories:

– Make sure all engineering efforts are impacting users.