Sunday, April 08, 2018

Starting my Patreon experiments

I decided to start two experiments with two Patreon tiers.

The first one would allow patrons to read my blog posts 1 week before they are publicly available on my regular blogs (on I’m not sure how many people would actually buy this, because my blog posts are usually not time sensitive at all. It’s a way to allow patrons to encourage me to write blog posts more often. The 1 week gap is more like a symbolic reward.

The second one is more interesting. I’m opening 1:1 at $100/hr for anybody interested in talking to me. I know some people are willing to pay me to answer questions on Zhihu, but at a much lower price and probably needs much less time. The reason I hesitate to answer those questions is the lack of building trust and relationship. People can get an answer and then go, but that doesn’t creates any long term value. I want to see if I can building long lasting relationships through monthly 1:1 while getting paid at a reasonable rate.

Because monthly 1:1 isn’t really scalable, I limit 5 patrons at this tier. If this becomes popular, I’ll find a solution for the scalability problem. It’s a good-to-have problem, so I don’t think about it for now.

If you are interested in, here’s a link to my Patreon profile. You will be able to find the reward tiers there.

Tuesday, December 06, 2016

Anova Precision Cooker (Wi-Fi)


I was one of the backers of Anova’s Bluetooth precision cooker when it was on Kickstarter. It was useful and reliable. I started doing a lot of sous vide after I got it (because I really like meat and seafood). When their Wi-Fi version came out, I really want one. And finally, it’s on discount so I bought one.

The box looks nicer and bigger than the tube that came with the Bluetooth version. There are more friendly informations in it to help you get started. Overall, those are useful for new customers but are meaningless to me. I would just install the app and start cooking.

IMG_0744 IMG_0745

The first problem I ran into is it couldn’t connect to my Wi-Fi. I read through their troubleshooting for a few times and wondered what was wrong. I thought maybe because I had 5GHz network sharing the same SSID as 2.4GHz network, but I couldn’t turn it off because it’s Eero. What else could be wrong? Anova said Wi-Fi password should be between 8 and 18 characters. Mine is definitely much longer than that. I changed the password and it worked.

Changing Wi-Fi password isn’t free though. I have other smart things connected to my Wi-Fi, for example my Amazon Echo. After changing the Wi-Fi password, I have to update all these devices. None of them have password length limit. Anova is the first one that has such weird restriction.

Naturally my next step was to compare it with the Bluetooth version. They look almost exactly the same. You can only tell the difference by looking at the max/min water level marker. Their temperature readings were also different, so I got to run calibration.


When I received my Bluetooth version from Kickstarter, Anova said the first batch was not correctly calibrated. They said we could ship it back for calibration or we could go through ice bath to calibrate by ourselves. I was too lazy to do either one, so I expected it to be slightly off.

Now they were different, and they were both different from my thermometer, I wanted to calibrate. I didn’t know which one to trust, so I chose to use my thermometer as standard. (I’m still too lazy to do ice bath, because I don’t keep ice in my freezer.) I used their apps to adjust the offsets. In the end they were within 0.1 degree difference and I was happy with that.

Overall I like the Wi-Fi version, even though I haven’t had a chance to use it through Wi-Fi yet. The reason is I don’t cook at workdays, so it’s not common for me to start cooking while away. For food safety reason, I should keep the food in ice bath before starting cooking from remote. That’s another hard to satisfy requirement.

Sunday, July 17, 2016

Alexa, tell me a joke.

I bought Amazon Echo during the Prime Day. I wanted to know how useful this is and it was $50 off, so I placed the order. On the same day I bought 2 sets of Philips Hue starter kit from Best Buy. Each was $50 off, so it’s a great deal.

When I received the Amazon Echo, I thought the set up would be easy like Siri. I was wrong. First it needed to connect to Wi-Fi. There’s no way to use Bluetooth to control Echo and set up Wi-Fi. The way it works is it broadcasts an ad-hoc Wi-Fi and you connect to it to set up. After spending 20 minutes on setting it up, the only thing that’s useful and works for me is “Alexa, tell me a joke”.


What I really want Alexa to work with is Philips Hue and Logitech Harmony. It can scan Hue lightblubs by itself. It’s smart enough to get all of them. However when I said “Alexa, turn on lights in the bedroom” it told me there’s no “bedroom”. It took me some time to understand that the bedroom concept set within the Hue app isn’t shared. I needed to create a group named “bedroom” in Alexa. That is not very smart.

The next one to set up is Harmony. The official page says it’s compatible with Alex, but in reality it needs to go through IFTTT. After setting up IFTTT recipe, I found out I need to use the magic word “trigger” when proxying command through IFTTT. Instead of “Alexa, watch AppleTV”, I need to say “Alexa, trigger watch AppleTV”. If I forget the magic word, Alexa will complain about there’s no “AppleTV”. This is really annoying, because now I need to consciously think about the whether I’m talking to Harmony before issuing a command.

I set up Hue two days before Alexa. After setting up Alexa, it seems to create some kind of wireless interference around it. That made some of my Hue light bulbs unreachable from the bridge. I had to move the bridge around and switch channel. That’s extra inconvenience.

Sometimes I forget that I should control lights through Alexa or my phone. I just flip the switch and then realize I shouldn’t. I’m going to order light switch cover and Hue wireless dimmer. These two things are two separate patches. They don’t work together, which is a little bit disappointing. I don’t want to modify my light switch. I want to cover it and put the wireless dimmer on top of the cover. Since old style light switch cover doesn’t have a flat surface, I will have to put the wireless dimmer on the side.

Overall Alex does what I want it to do but doesn’t meet my expectation of intelligence. I think the problem is the lack of domain knowledge of each device it connects. Unlike Siri, which knows every type of query Apple can handle, Alexa doesn’t know how I group light bulbs into rooms or what kind of devices Harmony controls. I have to set up all kinds of routines to handle the domain knowledge while Alexa is just a voice interface to execute command. In some sense, Alexa isn’t much better than CLI or Alfred. I still need to do the scripting by myself. At best it can accept some parameters when triggering the script.

This reminds me of Firefox Ubuiquity, an ambitious project that wanted to process command like “book a flight to Chicago next Monday to Thursday, no red-eyes, the cheapest”. After 8 years, the ability to process this kind of command still seems so far away. Domain knowledge discovery is not solved.

Actually, it’s solved in theory but nobody cares. Look at the landscape of public APIs. All these so-called RESTful APIs are not RESTful. They are only CRUD APIs. Nobody cares about the real RESTful API that supports discovery and uses hypermedia transition. (If you don’t know the difference, read REST in Practice.) If devices have truly RESTful APIs, it’s possible for client to discover and negotiate parameters. With a hypertext document describing the APIs, Alexa or any voice interface should be able to describe parameters to me. If I ask Alexa to book a flight, it should be able to learn from the API that it requires date time and destination. If I’ve given these parameters, Alexa should pass them through; otherwise it can ask me and keep the conversation going.

Tuesday, July 01, 2014

The Dreams Fight Back

I have this lucid dream ability, or maybe I used to have. The ability grew gradually since high school, but it seems I started losing it since last year.

Before I had this ability, I would wake up (or not) after a nightmare. Then I found out I could continue the dream after waking up. When I wake up, I can clearly remember the last part of the nightmare. Because I’ve woken up, I can reconsider the situation and rewrite the dream as I like. If I was chased by enemy, I can give weapon to myself just like typing a cheat code in an FPS game.

Gradually this process became more and more smooth. Suppressing waking up became not waking up at all. As soon as I feel I’m unreasonably threatened, I know it’s a dream and I can turn the table around. After several years of practice, I can enter a state like god mode in a game. Chased by enemy again? Freeze the time and fly up to the sky. From there I can reduce the number of enemy and increase the number of ally. Then I can come back to the ground and resume the game. If it’s unbalanced due to the enemy being too weak, I can pause the game and rebalance it. It’s just like balancing a custom RTS map.

I also gained the ability to wake myself up if I’m aware of being in a dream. It’s like the opposite of suppressing waking up. If I go to the bathroom for three times, no matter whether I manage to use it, I know it’s a dream. Then I can tell myself I really need to leave the dream and use the bathroom. All I need to do is trying to feel my sleeping body and open my eyelids. That’s enough to kick me out of the dream.

The ability isn’t perfect. It’s based on pattern recognition as far as I can understand. Unreasonable threat is the easier one. After that, I observed the repeating bathroom pattern and set up the rule of three for myself. However there are situations that I’m aware of being in a dream but I can’t do anything about it. One example is when I feel I really miss someone while I manage to keep contact with that person in my dream.

There was one time I recognized that person I miss doesn’t exist in real life, so it must be a dream. However I can only alter dream content but I can’t suppress feeling from the outside. It’s just like the need to use bathroom, but the result is the opposite. Instead of waking myself up after realizing it’s a dream, I chose to cling to that feeling and refuse to wake up as long as possible.

That wasn’t the weirdest case, as my dreams started to fight back and take the ability from me. Like I said, feeling being threatened can make me recognize it’s a dream. So my dreams started to steer away from that pattern. Now I stopped dreaming about I’m being chased. Instead, I dreamed about city being blown up. It’s just like immersive gaming experience. I watch unreasonable things happen, but I don’t feel getting hurt thus I don’t recognize being in a dream.

The weirdest thing is I started to use in-dream ability without realizing it’s a dream. There was a recent experience like this: I felt somewhat threatened. I closed my eyes and tried to think about me being in another location. I opened my eyes to see if I’ve been teleported to that location. I knew that I don’t have the teleportation ability all the time and I couldn’t tell when I have it. This strange understanding tricked me into not recognizing the dream, but I managed to teleport myself anyway.

In the end, I can’t tell whether the recent experience is a step forward or backward. It can be explained as a step forward. The explanation would be I can recognize and alter my dream so smoothly that I don’t consciously recognize my dream and it happens unconsciously. The opposite is also obvious: My dreams try to fight back and stay away from the pattern that I already can recognize. I don’t know which one is true, but it’s an interesting experience.

Friday, December 13, 2013

Pencil from FiftyThree

I just received my Pencil from FiftyThree today, and here’s how it looks like and how it feels like.

2013-12-12 20.35.41 2013-12-12 20.38.35

It comes within a nice paper tube. When you open it, you will notice the packaging is really nice. You would first pull out the Pencil, and then you would see the quick start manual. The plastic wrapper around the Pencil says you have to charge it first, so I pulled out the battery and plug it into an USB port.

2013-12-12 21.41.42

It took maybe an hour to charge, and then the light turned from yellow to green. I don’t know how long the battery will last, but I think Bluetooth LE shouldn’t use a lot of energy. Now let’s start the Paper app.

2013-12-12 21.44.24

I picked the walnut version. My piece of walnut wood doesn’t look as good as advertised, with less wooden color strips but more of those small cracks on the surface. I wouldn’t say it’s ugly, but just not as polished as I imagined. I tried to smell it. It was a silly idea because it doesn’t smell like wood at all.

2013-12-12 21.46.24

Establishing connection with the app is much easier than Pogo Connect. You don’t need to install another app (of course), and you don’t need to click a button on the stylus to initiate the connection. Just use the Pencil to touch the pencil icon in Paper for a few seconds and it’s connected. Then you can start drawing without worrying about how it recognizes the Pencil (including the eraser), your fingers and your palm.

2013-12-12 23.17.47

During my drawing, I noticed that Paper might recognize the Pencil (including eraser) as my finger. I guess it’s because I was not pressing the Pencil hard enough, so Paper received a touch without receiving Pencil down through Bluetooth. I tried to press harder when I use the Pencil and it seems that fixed the issue.

Drawing with Pencil is quite comfortable to me. It’s easier to control where the tip goes compared to Pogo Connect (or maybe my control over stylus has improved). The erasing area is not as big as the eraser, so I’d rather use undo if possible, because erasing a large area needs a lot of movement. Overall, I like drawing with Pencil more than with my previous styli, and $60 seems like a reasonable price to me.

Saturday, August 31, 2013

W/Me - health tracker or notifier?

If you don’t know what W/Me is, here’s its Kickstarter introduction:

It’s the fastest Kickstarter project delivery I’ve ever seen. It’s funded on 7/2 and shipped on 8/26. That’s less than 2 months. I don’t know if they’ve secured funding and built the thing then used Kickstarter to get some early adopters. This speed is really amazing to me.

I got mine a few days ago. It came with a Kickstarter limited edition wooden box. Inside the box, there’s W/Me plus 3 color bands. (I grabbed the last early bird spot at the last moment. Maybe somebody got cold feet?) There’s quick start guide, alcohol pad and a small note that says “the device may not be functioning perfectly in some particular individuals”. (Hope I’m not that special!)




Before I received my W/Me, I noticed some Kickstarter backers said that it’s too small for them. However it’s obvious that W/Me is too large for my wrist. That made me wonder whether I should wear it around my wrist or around my forearm. (Later I found out I have to wear it around my wrist.)

Setting up the Bluetooth was easy, but starting the first measurement was rough. It kept saying that it couldn’t get good signal. I tried to touch it with different positions and my first measurement was still ended with a time-out. So I cleaned the sensors and tried again. The measurement wasn’t easy. It needs 3 minutes of data and any interruption requires at least 5 seconds to resume. At the end of the measurement I got 3 numbers: Agility, ANS Age, BPM. The problem is I don’t know their accuracy and I can’t verify them. (I can verify BPM with another app.)

W/Me measurement

After a few measurements, I started to learn how to do it properly. The best position to measure is above my wrist bone. Touching that area of the skin will give me stablest signal. However that only means no interruption. It doesn’t mean anything in terms of data quality. When the app shows a line that doesn’t look like a normal pulse line or a BPM way beyond 100, it’s collecting garbage. (Garbage in, garbage out.) So the real goal is to get data that makes sense to me.

W/Me measurement

(As you can see, when I tried to touch two buttons at the same time in order to take this screenshot, the pulse line went awry immediately.) I have to say that collecting the right data takes determination plus a little bit of luck. That discourages me from taking more measurement and makes coaching really hard to follow. Without the right data there’s no feedback, and without feedback coaching is a useless feature.

Besides health tracker features, W/Me has some small utility features. For example, in flashlight mode it turns on all its white LED lights and that’s actually brighter than my iPhone screen when in dark. It can be used as a remote control to iPhone camera, but I wish it works with Camera+. (Update: It actually works with Camera+ but in a weird way. I need to turn on find-my-iPhone and that signals Camera+ to take one photo.)

W/Me displayW/Me displayW/Me display

It vibrates when there’s new email or Facebook notification, but the unread number disappears so fast that I usually only get to know that there’s unread email or there’s unread Facebook notification. I wish they increase that delay (or allow me to adjust it) in next update. It can signal the iPhone to start playing W/Me theme music, which acts a find-my-iPhone feature. However when my iPhone was connected to a Bluetooth speaker, that music was played through that Bluetooth speaker, which makes the feature useless.

In conclusion, W/Me is a cool gadget but it’s not something that “just works”. If you just want some reliable health tracker, go back to Fitbit. To me, as long as it doesn’t break like Jawbone UP, I’m okay with it.

Thursday, June 14, 2012

JAMBOX from Jawbone

JAMBOX from Jawbone

JAMBOX is my second purchase from Jawbone. I bought UP, and because a lot of people found hardware problem with UP Jawbone gave everybody $150 credit without asking it back. I didn't want to buy another headset so I got a JAMBOX.

The first JAMBOX I received was broken. It was frustrating. I tried my best to fix it because I don't want to give it a round trip to the US. The problem is the battery. It never charged. Updating firmware didn't help. There's no fix. When I talked to Jawbone, they sent me a new one after they confirmed my purchase and allowed me to ship the broken one back after I received the new one. That's convenient.

When I got the new one, I found that it sounds good! When I watch a movie on my iPad, I connect JAMBOX and it makes the surrounding sound more real. When I need to play Diablo III on my MacBook Pro, I also use JAMBOX to enhance the sound effect. It's a really good companion if you have several device with just okay speakers.

I also use it when I make conference call. I know it has a microphone but I think it's more convenient to use my computer's. I might put my JAMBOX at any place but I don't what to yell at my JAMBOX, so speaking to my computer feels more comfortable to me. (Maybe I should test JAMBOX's microphone range in the future.)

The only problem of JAMBOX is that it falls into sleep when it's connected but no sound is played. Sleeping is not a problem indeed, but waking up is. For instance, when you resume a movie that you paused, JAMBOX will wake up but skip a few seconds. Your computer doesn't know that and wouldn't wait for that, so if you pause during a conversation you will miss a few seconds of that conversation when resumed.

Maybe sleep is designed to save battery life, but I think the battery life is so good that it shouldn't sleep when idling for less than 5 minutes. I have fully charged my JAMBOX once, and it's still half full after two weeks. Why not allowing me delaying sleep while giving me better experience?

My overall experience with JAMBOX is good. If the price could be lower, I think there will be more people buying it to enhance their portable devices' sound.

Posted via email from Cat Chen's Posterous