2016年终总结

Origin link 2017-7-30

职业
和2009,2011年一样,2016年在职业发展上充满了变化。这一年最大的变化在于我第一次从工程师走向了管理岗位,第一次有机会接触到真正的射频硬件电路,第一次从TK 的角度去理解radio。希望以后能有机会从RAN 的角度去理解通信。
生活
有娃的生活继续,不过今年终于可以带娃出去玩了。小朋友在慢慢长大,开始学会说话,学会开始有自己的意识和主意。
读书和学习
这一年工作和带娃占据了太多的时间,读书并不是太多。War and Peace 看了好久还是进展不大,科技类的书籍没有完整的读过一本,网络小说倒是看了不少。希望下一年可以多读Google Book 上的书籍,少看网络小说。 这一年的主要学习方向之一是射频电路,有一些进展,但自己还是不满意。另外主要是通过微博看了一些关于cognitve和econmic的文章。
写作
这一年写作完全荒废了,工作和带娃是借口之一。但更主要的原因是自己懒,不愿意通过手机写作。希望在新的一年里可以利用零碎时间加强写作。
编程
这一年看了一些关于Haskell和Lisp 的书籍,对某些编程概念有了更深的理解,但缺少编程练习的实践。希望在新的一年里能专注与Haskell 的编程实践。

转载:Android 6.0 平板开机激活方法

Origin link 2016-3-31

https://plumz.me/archives/2638/

Android 5 开始,Nexus 激活新设备需要连接 Google 服务器,但是因为众所周知的原因,你在中国大陆地区是连接不上的。当然,在 Android 5 的时候你还是可以选择跳过,只是到了 Android 6 的时候,跳过也不好使了。如果你是 Android 6 手机的话,可以选择不插卡跳过 Wifi 再跳过手机讯号来进入系统,而对于 Android 6 的平板就麻烦了,你不连接 Wifi 就没法进去,所以我们只能在网络连接上想办法了。

最简单的方法是准备一个科学上网的路由器,然而这玩意并不是每个人的路由器都合适。

所以还有另一个方法就是使用内网架设的 HTTP 代理。

没有 HTTP 代理没关系,如果你有 SS-Win 版本的话,自然就会有,勾选“允许来自局域网的连接”之后,这台机器在局域网内就拥有了“127.0.0.1:8123"的 HTTP 代理。

然后以 Google Pixel C 为例子,第一次连接 WiFi 的时候会在热点设置里的高级选项里有手动代理设置,允许填写 HTTP 代理,将 SS-Win 运行的机器的代理地址填写进去,然后端口写 8123 ,就可以使用代理了。

有人说没有 SS-Win 的话可以去 Google 搜索 Free HTTP Proxy 之类的找地址,的确可以,只是对于 Pixel C 来说第一次还需要更新 59MB 的文件,速度不行可是会很痛苦的。

2015 Summary

Origin link 2016-3-14

对我而言,2015年是具有特殊意义的一年。工作和生活都发生了巨大的变化。

家庭
2015年基本是围绕了小家伙而展开家庭建设的。杨金锭同学占据我几乎所有的业余时间,这一年只和老婆偷偷出去约会过两次。随着小家伙的成长,她开始有了自己的主意,开始了叛逆期和察言观色。2016年的重点是学习幼儿心理学,协调家庭成员在孩子教育上的认知。

编程
从2014年就开始接触Python3和Flask。之后一直想把pymoney和pyblog迁移到Python3和Flask上。这个愿望终于在2015年下半年成为现实。重构后的代码变得更加简洁,并开始尝试函数式编程风格。一些不常用的功能,比如Google blog update,从代码中移除。
Haskell进展不大,主要是读了一些入门书籍,但练手写code的机会很少。

读书
这一年读书不多:英文版的战争与和平只读了四分之一,a brief history of human being也只读了一半。主要原因还是微博微信占用了太多的时间。阅读英文书籍需要较长的阅读时间以及放松的大脑。而上下班及看娃间隙就不太适合阅读这类书籍了。

社交网络 blog
微信和微博还是上下班间隙的主要阅读渠道。希望今年能戒除在班车上看微信和微博的习惯,这样对眼睛实在是不好。
Blog更新频率很低,主要还是缺乏一个能在手机上随时更新的工具。

工作
工作也发生了不小的变化,希望自己能在新的一年把新的工作最好。更为重要的是,如何保持工作竞争力,以及如何在大公司中不变成一个“废人”。

"can't open file" for downloaded APK

Origin link 2015-11-3

I just got a new Nexus 5X phone and want to install shadowsocks. But I always met "can't open file" mistake from naive Android download manager when I downloaded apk from my own http server. Finally I found it is a download manager bug (link) and could be fixed by update mime configuration file from sever side (link)

ens, new name for internet interface

Origin link 2015-10-22

I lost ip for my VPS after reboot when systemd update from 225 -> 226. I noticed a wired thing is eth0 -> ens3. According to this link, ens is better new name strategy. So I decided to follow this rule. The configuration file of netctl and iptables are updated (all eth0 -> ens3).

Another thing is I found systemd-networkd could be used for statis IP instead of netctl for my VPS. So I uninstall netctl and switch to systemd-networkd.

2014 Summary

Origin link 2015-1-22

无论是生活还是工作,2014年都发生了巨大的变化。

工作

2014年初正式告别做了三年之久的maintenance project,并将项目转给了一位新来的同事。之后的主要精力放在了mRBS和node 相关的事情。

生活

生活发生了巨大的变化,8月份诞生了狮子座的小宝宝。她给我们带来了很多的欢乐和幸福,但从此也失去了晚上和周末的业余时间。 11月去土耳其出差期间重新使用微信,因而和很多多年不联系的老朋友又重新取得联系。

读书

由于宝宝的缘故,2014年的读书进度很慢。看完了英文版的安娜卡列琳娜,Darwin's dangerous idea由于生僻单词的原因,只看了20%。中文方面还在看网络小说,比如魔天记,宰执天下,从前有做灵剑山,宋时归。

社交网络

2014年主要使用微博,微信和 Google+。微博仍然是主要的信息来源;微信主要用于和老朋友联系,但朋友圈的帖子质量是在不高。Google+的使用频率在下降,主要还是确实有用的信息源。 水木,twitter and Facebook的账户已经删除。reddit和豆瓣的账户还在,但活跃度基本为零。

编程

2014年python的编程能力有了很大的提高。业余时间利用webpy制作了记账网站和blogspot的镜像。在制作网站的过程中学习了html, CSS, JavaScript, rational databases和thread的知识。在工作中也开始利用python计算可靠性和处理数据。 2015年要开始抛弃webpy,并逐步转移到flask上。 2014年开始学习数据结构和haskell,但都只是很粗浅的了解,希望在新的一年中能有所突破,特别是haskell。

其它兴趣

科学方面上并无特别突出的研究和兴趣点,希望2015年能focus一两个方向。最主要的还是要多读几本英文原著。 经济方面也无所突出的兴趣点,希望2015对货币和汇率相关的课题能有所了解。 大数据和机器学习在网上很火爆,但暂时还是不要有所涉及吧,有限的精力需要放在重点项目上。

issue for git and werkzeug

Origin link 2015-1-21

there are two issues when I installed new server on vultr

i couldn't git clone or ssh to git on new server. It takes long time to trouble shooting and finally it is caused no home direct in /etc/passwd.

SharedDataMiddleware in werkzeug could be used to host static file, but te problem is I always get a empty png without any drawing. It also take a long time to trouble shooting and it is caused by cache parameter which is used to enable or disable caching headers. cache is enabled by default and browser always use first png it get even later one has changed.

pip proxy bug

Origin link 2014-11-17

I have a company laptop which is behind a company HTTP proxy. It takes me lots of time to study how to use proxy for pip. At beginning, I tried "pip search --proxy xxx.xxx.xx.xx:xxxx matplotlib", but it doesn't work. Then I searched internet and found there are some bugs in pip proxy, like link,NTLM proxy issue. I even tried to use privoxy to convert socket5 proxy from ssh to HTTP to fix them, but it still doesn't work.

Finally I found it actually a bug for pip, see link1 and link2. Only pip search doesn't support proxy, pip install actually support it. This bug is planned to fixed in pip 1.6.

Nginx + fastcgi/wsgi

Origin link 2014-10-11

Python web application normally should use wsgi as interface, but nginx only support fascgi, scgi,uwsgi and no wsgi support.

flup is python library which could convert your wsgi application into fastcgi server. Since it is a library, you don't need to setup other extra standalone application. flup could hep to set up fastcgi through Unix socket domain or TCP port. It is also support scgi. webpy could use flup directly.
app = web.application(urls,locals())
if __name__ == '__main__':
#web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr) for unix socket domain
#web.wsgi.runwsgi = lambda func, addr="/tmp/test.sock": web.wsgi.runfcgi(func, addr) for Tcp port
#web.wsgi.runwsgi = lambda func, addr=("localhost",7070): web.wsgi.runfcgi(func, addr) used with spawn-fcgi
app.run()
different addr could be config as different fastcgi behavior. app.run() just simply refer to web.wsgi.runwsgi.

uwsgi needs to be isntalled if you want use wsgi + nginx. I don't see webpy could support uwsgi protocal directly.

https build with nginx + startssl

Origin link 2014-10-8

startssl provide free ssl certification. I have updated my website with https connection.

first step is to apply a ssl certifciation on startsll. Please notice there is no username/passwd to login startsll website instead of certification on your browser which is installed by startssl. second is to follow website to fill personal information, validation your email and produce private key. private key (ssl.key) is not stored in startsll server, but it will download to your computer. Then you need to wait for sometimes to fetch public key (ssl.crt) and retrieve it from "Retrieve Certificate" in Toolbox.

second step is to configure nginx to use ssl.key and ssl.crt, see this link for detail. You also could use this website to check if any problem

Last thing needs to notice is firewall configuration on your server. Please open 443 port and remove other un-necessory configuration rule for 443. Previously I forwarded 443 to 8080 for shadowsocks and it toke me long time to find that is root caused for my https connection failure

old page page 1 new page