September 22, 2012 #sublimetext

If you’re using SublimeText and also a fan of iA Writer , you may want to check this plugin called MarkdownEditing. It provides a iA Writer-like interface to your SublimeText.

How does it look like?

A picture is worth a thousand words:

MarkdownEditing

Install

Use cmd+shift+P then Package Control: Install Package, type MarkdownEditing to install it, then any markdown file will get associated.

Other Features

Besides iA Writer-like UI it also has many other features like:

  • Asterisks, underscores and parenthesis are auto paired and will wrap selected text
  • ⌘⌥V will paste the contents of the clipboard as an inline link on selected text
  • ⌘⌥K inserts a standard inline link, ⌘⇧K inserts an inline image
  • ⌘⌥B and ⌘⌥I are bound to bold and italics (Markdown).

So, how do you think?

September 22, 2012 #sublimetext

Overview

In order to sync SublimeText2 settings with Dropbox, you need to symlink these folders of SublimeText to your dropbox.

  • Packages
  • Installed Packages
  • Pristine Packages

On your main machine

cd to your dropbox folder where your want to symlink to.

cd ~/Dropbox/99_Sync/SublimeText
ln -s "/Users/your_user_name/Library/Application Support/Sublime Text 2/Packages/" Packages
ln -s "/Users/your_user_name/Library/Application Support/Sublime Text 2/Installed Packages/" 'Installed Packages'
ln -s "/Users/your_user_name/Library/Application Support/Sublime Text 2/Pristine Packages/" 'Pristine Packages'

On your second machine

cd "/Users/your_user_name/Library/Application Support/Sublime Text 2"
rm -rf Installed\ Packages
rm -rf Packages
rm -rf Pristine\ Packages
ln -s ~/Dropbox/99_Sync/SublimeText/Installed\ Packages 'Installed Packages'
ln -s ~/Dropbox/99_Sync/SublimeText/Pristine\ Packages 'Pristine Packages'
ln -s ~/Dropbox/99_Sync/SublimeText/Packages Packages
September 16, 2012 #diary

My "Thank You" Mails

Yesterday was my one year anniversary at Cookpad, and I came up with an idea to send a couple of mails to my friends inside and outside the company, who have helped me to join it, just want to say thanks to them in person.

I wrote in the order of the people I've met. First starts with my headhunter who introduced cookpad to me, then my first and second interviewer, etc. I didn't write to everyone I've met in the company, that will be too overwhelming and lose the point.

It ended up with 13 mails, since yesterday was Saturday and I sent to our company email address, I didn't expect any replies until next business day. But surprisingly someone already replied and seems like they love this idea, and many positive feedbacks!

WOW your friends

Since one of my purpose is to WOW(a verb I learned from the book: Delivering Happiness) those my friends so to be honest, if everything works fine, and it should, I wouldn't be surprised by these positive feedbacks. But still, after reading their sweet words, it made me feel very very happy.I'm so glad that I made it. In my daily life I never feel lack of ideas to WOW someone but I never really execute in actions.

When I was reading the book, one story is about how Tony enjoyed organising a party and make a WOW experience to his friends. At that time I didn't quite understand why he thought that way, but now I think I get it. It's really a very amazing experience. It also reminded me that back in the days when I setup or prepared a surprise for my girlfriend, no need to go expensive or fancy, just something that a little bit weird and out of the box, then I will see the most beautiful smile in the world. This is a mindset and life style which I've decided to follow up. To make this world a better place, first step is to ensure you make your family and friends around you happier, right?

So this is my way to say thank you to my friends, some of the mails maybe even contain less than 10 phrases but it's important to do it, and say it loud.

Reconnecting, A Really Unrelated Story

Oh, one more thing need to be mentioned. Yesterday I also got a message from my Senpai(先輩, Japanese, like one's mentor) which I lost his contact 3 years ago. Every time when I reconnect with someone through Internet, I really appreciate what a good job it has done to make our life better. He was my first Senpai when I graduated and step into the whole adult society, even at that time he seemed really strict to me, it turns out it was worthwhile and I'd learned a lot from him. Not like how to write down each code, but in a much higher “Macro” point of view how to work, how to think. Sometimes I'm very surprised by this Japanese Senpai and kōhai connection. This is really a word you have to self experience in Japanese society.

September 13, 2012 #diary

Delivering Happiness

Sample Interview Questions at Zappos

The applicant is willing to think and act outside the box.

  • Give me an example from your previous job(s) where you had to think and act outside the box.
  • What was the best mistake you made on the job? Why was it the best?
  • Tell me about a time you recognised a problem/area to improve that was outside of your job duties and solved without being asked to. What was it, how did you do it?

The applicant is more creative than the average person.

  • Would you say you are more or less creative than the average person? Can you give me an example?
  • If it was your first day on the job at Zappos and your task was to make the interview/recruiting process more fun, what would you do for those eight hours?

The applicant is willing to take risk in trying to solve a problem.

  • What's an example of a risk you took in a previous job? What was the outcome?
  • When was the last time you brke the rules/policy to get the job done?
September 8, 2012 #diary #news

Here is the video of Amazon Kindle Press Conference, hold on September 6, 2012. This article does not intend to cover all the hardware details but just something worth for me to write down.

Why video?

I really don't like just check the new hardware's specs and see the numbers bumped up from this level to that level. I'd always like to watch the press videos, to enjoy the process, to feel the revolutionary stories behind this. Of course part of it kind of depends on how the CEO did the presentation.

KDP - Kindle Direct Publishing

During watching the viode I found something new, something amazed me. That is KDP - Kindle Direct Publishing

With Kindle Direct Publishing (KDP) you can self-publish your books on the Amazon Kindle Store. It's free, fast, and easy. Books self-published through KDP can participate in the 70% royalty program and are available for purchase on Kindle devices and Kindle apps for iPad, iPhone, iPod touch, PC, Mac, BlackBerry, and Android-based devices. With KDP, you can self-publish books in many languages and specify pricing in US Dollars, Pounds Sterling, and Euros.

I really think it's a good job, good job Amazon. There is a also a video clip interviewing the authors who have published and succeeded through KDP. Jeff Bezos, the CEO of Amazon, also mentioned some numbers about this business, apparently it's going well and actually helping people. To be honest, suddenly it occurs to me that maybe one day I can publish my own book, if it's really just a matter of whether I can finish it, and no need to consider about the publisher.

Audio books

I bought Steven Job's biography audio book last year, which is the first time I ever tried an audio book. Despite my English skill it was still a pretty good experience. I really encourage you to try at least once. If you keep saying, "Oh no I can never understand those English" and stop trying or improving yourself, you can never get that place. Just my opinion.

Narration

I never cared about who was narrating the book to me, until I heard this:

They're getting people like Susan Sarandon, Colin Firth Anne Hathaway to narrate these books.

So what's the big deal? I think it's better to know it's not someone who is cold heart just do his/her jobs to READ the book, but it's someone you know like big movie stars, narrating the story, vividly. I want to know the details behind the scenes if I'm really into something. So it's different for me.

Whispersync for Voice

Listen to your audio book on the way home, when you get home, pick up the "book" and start reading. Keep the place between the two media formats. I love this idea, and it becomes true.

Reading time

I almost forgot about this. Now kindle can show you how many times do you need to finish the current chapter, or the entire book. And it's based on your speed. Isn't that amazing!?

When We Make Money?

In the end, Jeff also mentioned about alignment of amazon.

We want to make money when people use our devices, not when they buy our devices.

I appreciate this. I'm sure we all know that it is the place where you are supposed to say something beautiful to the public. But I still love it, and I bought it.

It let me look back the "common" flow of my daily work. There was a time when we were told like this: "We need to make xxx money by the end of xxx, so we have to release the product before xxx! So do it and do it harder!". Ok I may extragerate too much but you got the point. I admit it's neccessary to have a business plan, including numbers, to run a business. But it would be thankful if we and our managers and BOSS stop talking about how many money we're gonna make or should make, and think about how much it's gonna be helpful and valuable to our users. You don't need to say it loud every single day, but at least consider about this in your heart.

I want to make money when people use my products, although I'm just an employee now.

September 6, 2012 #sublimetext

Sublimetext2 Build System

Sublimetext2 ships with its Build System. You can run a ruby file by Cmd + B (or through Tools -> Build menu).

One thing bothers me is you have to SAVE that file first, you can’t run “untitled” ruby code even you specified which build system (language) to use. This was the reason I still keep Textmate in my Mac, thanks to this plugin called Anypreter I can finally say goodbye to Textmate.

About Anypreter

You can install it through Package Control. It supports PHP, Python and Ruby.

After specify the language (suppose you haven’t saved it), Ctrl + Shift + X to run and check the result. Rightclick in the document works too.

Futher Reading

September 1, 2012 #rails #pow

In your rails app, when you need an envionment variable like ENV['TWITTER_CONSUMER_KEY'] for local deveopment, where do you put them? Simply set them before you start your rails server as a one time thing, or just put them under ~/.profile or ~/.zshrc?

Well it works but I'm not happy with that. Because first it belongs to a specific project and expose them to global env make me feel a little bit uncomfortable, second, what if you happend to have more than one twitter integrated app, how do you name the variables to solve naming collision?

If you're using Pow, there is a perfect solution for you.

.powrc and .powenv

Pow provides these 2 files for you to config pow and setup any environment variables.

Before an application boots, Pow attempts to execute two scripts — first .powrc, then .powenv — in the application's root. Any environment variables exported from these scripts are passed along to Rack.

Convention here is putting .powrc under git version control, and override or setup any project specific environment variables to .powenv.

Let's do it

```diff .gitignore

  • .powenv ```

```ruby .powenv
export TWITTER_CONSUMER_KEY=foo
export TWITTER_CONSUMER_SECRET=bar


BTW, you must run this command to restart pow manually so these scripts will be loaded.

$ touch ~/.pow/restart.txt


[Pow Document: Customizing Environment Variables](http://pow.cx/manual.html#section_2.2)
August 31, 2012 #diary

Finally migrated all my posts from Wordpress to Octopress. I think it's quite popular among hackers and geeks these days, if you don't know it just google it, tons of results.

There're still a lot of works to do, like some posts with messy format or broken links, Disqus comments need to be migrated, categories are nonsense etc, but I'll announce this anyway. Done is better than perfect right?

I'm not gonna mention any migration details here, I'd like to look back and have a summary or something now.

Over 300 posts since 2009/10/07

I'm really surprised by myself. I was not aware of that I've done so many writings, and these're only published ones(I have a lot of drafts). Even though many of them are just simple code gist and programming related.

It's so easy now to "execute" an action to a resource. Like a photo, favourite a tweet or even +1 a youtube movie. So our foot prints or activities are spread everywhere and some of them might be important or meaningful to you, that just a light-single-built-in action is not enough. I want to keep those non-physical, intangible but essential "things" here, as part of my life.

Japanese, English and Chinese

There was a time I was trying to write down every single post in these 3 languages. I believe the plugin I used in Wordpress is called qTranslate, which let you write with each language or all of them.

After a while I noticed it was too hard for me. Translating same contents into a different language is boring and wasting of time, at least I tried and found out it doesn't work for me. So this time, I want this blog to be an English mainly blog, with occasional different language posts. My plan is writing emotional feelings in Chinese, and social activities or something related to Japan in Japanese.

I'm still keeping those language mixed posts here even though I think it's not useful to my "readers", not sure how many I got, I'd like to take those posts as old-days foot prints. "あの時がんばったな!ー" hehe.

About the priority or weight of each language

I want to be a top player in this programming field. In order to achieve that English is a MUST condition. I still remember when I first time read a programming book in English, it was so difficult that I hardly understood the meanings. But I keep trying and trying, now I'm very comfortable with it and believe it's more natural than any other language in programming field.

Besides the effort I put in English, I also want to start writing in my native language, Chinese. Although English is more friendly to me than before, it's still difficult to describe my feelings and emotions precisely. I need more vocabularies. I need to look back to think about if there is a grammar mistake. So when I think about some topics such as meanings of life, or what I want to left to the world, am I making this world a little bit better, etc. In these cases I need to grab my most familiar weapon :)

For Japanese, hmmm.. I'll leave it for now :)

Google Adsense

If you're an old readers of me, I hope you are, you may notice that there's no ads anymore. Yeah I used to put those ads for experiment. With 500-600 daily PVs, it gave me around 4,000¥ every month. Not that much but it's better than nothing, so I kept ads for a long time. But to be honest, as a personal blog it's just annoying. I didn't like it personally, and it's for sure it gives people bad impression, I don't like to miss a job opportunity if some head hunters open my blog and leave with a "WTF?!..".

Let's just be simple and clean.

That's it~ see you next time.

August 30, 2012 #rails

If you get these warning messages in your rails log, just simply put thin to your Gemfile.

WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

```ruby Gemfile
gem 'thin'


I found this from this stackoverflow [question](http://stackoverflow.com/questions/7082364/what-does-warn-could-not-determine-content-length-of-response-body-mean-and-h)
August 29, 2012 #themes

Just found out a theme called - SOLARIZED.

And actually it supports a lot of Editors and terminals, just go to its website.

Now my iTerm looks like this:

iTerm with SOLARIZED theme

I don't say it's fancy but if you're a little bit tired of default theme, you may want to try out something new. And changing themes or wallpapers regulary usually makes me feel better :)

You can find more iTerm themes here