编程课,到底在教些什么?

2019年11月9日,我应邀在郑州第三届全人之美教育论坛暨中小学博雅教育专题研讨会上做了题为「编程课,到底在教些什么?」的演讲。坦白说现场讲得并不好,有些准备好的内容居然忘了讲,因此根据演讲内容整理一篇文章,作为补充。


我手里这个魔方,任何一个人都可以轻松地把它打乱,但要想把它复原,就不是每个人都能做到的了。我会还原魔方,而你不会,这能不能说明我比你聪明呢?并不能。

Continue reading 编程课,到底在教些什么?

我的2018年

随着年岁的增长,对时间的流逝越来越敏感,也越发觉得时间不够用。每当从生活的忙碌中赋得一点小闲,总是会不由自主地怀念曾经年少时,可以大把大把挥霍时间的那种惬意,那种随性……

2017年走得悄无声息,眼看2018年很快又要过去了。只好赶在跨年之前,逼自己码点文字,否则又会一拖再拖,然后没了结果。

Continue reading 我的2018年

2016年终总结

2015年其实发生了很多事,获部门优秀员工,一零和零一出生,58和赶集合并,应聘Google失败,接管黄页技术团队……

一转眼已经临近年终,我才发现自己已经迷失了许久。白天麻木机械地工作,晚上则在游戏中逃避和寻求安慰。《面试杂谈:“N年工作经验”真的有用吗?》一文中的程序员小A,其实就是当年我自己的一个缩影。 Continue reading 2016年终总结

致那些在我生命中留下印记的猫

夜里10点,在回公司途中,得到家里消息,宁宁走了。

对一只已绝育的公猫来说,10岁绝不算长寿,这个年龄相对于人来说,大概在55岁左右。

虽然我早知到这一天总会到来,却没有想到会来得这么快。

宁宁是我收养的第一只流浪猫,也是我养到最后的一只猫。 Continue reading 致那些在我生命中留下印记的猫

别了,2014

时间飞逝,2014年转眼就这样过去了。这一年因为许许多多的原因,竟没有写成一篇文章,甚为憾事。在去罕台的火车上写下此文,以证明这一年青春并非虚度。

工作

加入赶集之后,深刻体会到了“流程”的重要性。每次提交的代码在上线前需要经过同事review,并通过test(纯测试)、sim(测试代码+线上数据)、online(纯线上)三个环境的测试。在这个过程中,代码逻辑BUG、需求的遗漏之处一般都会被发现并修复。此外为了保证用户体验,只有在非流量高峰时才能进行代码上线,这样即使有问题的代码通过了层层关卡到了线上,也能最大程度上减少对用户的影响。之前在微拍写完代码后简单自测一下就直接通过FTP上线,结果自然是线上事故频频了。
Continue reading 别了,2014

再见,2013

转眼间,又是一年过去了。借元旦的一天假期,坐下来把2013年的头绪好好整理一下。

事业与工作

9月份,我离开了奋斗了两年多的微拍

之前一直在技术圈外混,这是我进入圈内的第一份工作,所以我非常珍惜。还记得11年4月我来北京面试时,不会php、不会mysql、没碰过linux、在火车上背vi快捷键……面试过后技术主管认为我技术太差不准备留我,而BOSS胡震生却决定留下我。

创业团队人手紧张,一个顶两个使,没有DBA、没有SA、没有QA……由于缺乏经验,加上自己粗心大意、一味求快,在工作中犯了无数错误,还造成了两起严重事故(参见反思一反思二)。感谢胡哥的一再包容,才让我能继续野蛮生长到今天。 Continue reading 再见,2013

Dvorak布局下一种比较理想的双拼方案

我从2011年开始使用Dvorak键盘布局至今,十分享受它给英文输入尤其是敲代码带来的便利。

从2013年9月开始我开始想在Dvorak布局下使用双拼,为此我尝试了网上能找到的各种方案,但大多数方案都是为Qwerty布局设计的,在Dvorak布局下完全无法使用。我还尝试了一些Dvorak玩家自己设计的布局(如这里这里这里),但都不甚理想,总有很多输入别扭的拼音组合。

为了找到一种理想的双拼方案,我开始不断调整键位、实验方案、再调整。但往往解决了一个别扭组合,又会造成更多的别扭组合。最终我找到了一个终极方法,那就是刷全拼音表,通过穷举所有拼音组合来检查当前方案是否理想。

经过一个星期的努力,基本方案的框架已经确定。又经过几次微调之后,改良空间越来越小。现在我已连续使用此方案两个多月,感觉十分流畅,于是决定将之公布,与各位Dvorak爱好者分享。 Continue reading Dvorak布局下一种比较理想的双拼方案

再见,2012

2012年就要过去了,这既是平凡的一年,也是不平凡的一年。

这一年,我开始使用一些伟大的产品,比如Macbook Airgithubgoogle readercodekitsublime text 21password鼠须管、……感谢这些产品的开发者,为我们节省了大量的时间。

我接触到了less,并很快迷上了它,用了一天时间把项目中的css改写成less。css的结构变得更加明晰了,我还通过自定义mixins将很多常用的属性进行了封装,并解决了图片url自动加版本号之类的问题。后来参考bootstrapperkins写了一个框架zLess

由于项目需要,我写了很多MongoDB下使用的维护脚本,并整理了一些经验。经过不断的重构,一些基础的函数和类被提炼出来,比如time、progress、buffer、cache等等。希望在不久的将来可以整理好结构,在github上再开一个项目。

去年,我每行代码都写的小心翼翼,以不出错为目标。而今年,我开始追求代码的复用性、可读性,不断地重构,以删代码为乐。每次通过重构删除一堆重复代码,提交到svn后那种畅快的感觉,真是难以用言语形容。年初我还将自己的编程哲学整理了一下,写了一篇文章

在微拍工作这一年多来,我要非常感谢我的boss胡震生,他经常指出我犯的错误,容忍我犯的错误,并帮助我改正错误。我从他身上学到了很多,下面是最重要的几条:

1、除非有特别重要的事情,不要随意打断别人工作,琐碎的事情集中起来一次沟通;
2、保持沟通,避免因缺乏沟通造成的损失;
3、永远先做最重要的事;
4、绝不犯重复的错误;
5、完成比完美重要。

本想再写写游戏、阅读的话题,但一看时间2012年就快过去了,遵守一下自己刚写下的“完成比完美重要”这一原则,就此打住吧。

最后,我觉得这一年自己亏欠家人太多太多,希望在2013年可以让他们的生活更加美好一些。

 

Saolei.net域名从新网转出到Godaddy的过程记录

Saolei.net这个域名是我在2006年在新网的一家代理商注册的,最近由于众所周知的原因,我需要将域名转移到Godaddy。下面就分享一下我和新网进行的交涉以及和ICANN沟通的过程。

2012-3-8

在参考了很多朋友通过在ICANN投诉转移域名的帖子后,我决定还是走正规渠道,先和新网进行联系。果不其然,新网坚持要求提供身份证扫描件,话说我注册的时候你也没问我要啊?我向工作人员表明按照ICANN的规定,域名转出是不需要提供身份证的。工作人员坚持说是公司的规定,也拒绝出示任何法律法规。

解释不通只好去ICANN投诉,内容是已经准备好的:

To whom may concern:

I registered saolei.net at XIN NET TECHNOLOGY CORPORATION. I want to transfer it to GoDaddy.com, INC., but they refuse to give me Auth code until I send them a copy of my I.D. card. I asked them for a reason to explain the necessity of this requirement, they just said it’s rule of the company. I can’t find any policies or law said I need to offer a copy of my I.D card for domain transfer. They told I must do as they want, or I can’t get the code. Since BEIJING INNOVATIVE LINKAGE TECHNOLOGY LTD. is in cooperation with ICANN/InterNIC, I was wondering if ICANN could explain the necessity of this I. D. card requirement. Please help me getting my Auth code from them. My domain info is listed below:

Domain Name : saolei.net
PunnyCode : saolei.net
Creation Date : 2006-11-08 00:00:00
Updated Date : 2011-08-16 16:23:16
Expiration Date : 2013-11-08 00:00:00

接下来就是等待,ICANN不会直接处理,会把投诉转交给新网的客服。

2012-3-12

时隔四天,终于等到了新网的回复邮件。

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月12日(星期一) 中午11:16 
收件人: 137516 <137516@qq.com>
抄 送:complaint-followup <complaint-followup@icann.org>

Dear customer,

Organization:zhang shenjia(张砷镓)
Please provide the scanning of the ID card(张砷镓), so that we can confirm the identity of thistransfer.

Xinnet Technology Corp. _Customer Service

注意邮件是抄送ICANN处理投诉的邮箱,回复的时候一定也要抄送这个邮箱。下面是我的回信:

Dear admin,

This domain belongs to me, and I have the rights to manage this domain. You can confirm my identity from this mail address. If you need a confirm in your member system, please give me a interface on my control panel in your site. Since I never show my I.D. card to you in the whole register process, I don’t think it will be helpful to this transfer.

According the following regulations, you must provide the Auth code to me in five days:
http://www.icann.org/zh/resources/registrars/transfers/name-holder-faqs
I want my Auth code immediately, thank you for saving my time, and yours.

为了减少扯皮的时间,同时继续在ICANN投诉:

To whom it may be concerned,

This’s second complaint for the transfer of my domain “saolei.net”, which I registered at XIN NET TECHNOLOGY CORPORATION.

Several days ago, I contacted XIN NET and asked for my Auth code. They order me a hard copy of my I.D. card to confirm my identity. I’m confused why they have this requirement since they never order my I.D. card in register process, and there is no policy to support this requirement.

I think a mail from me is enough to confirm my identity, so I asked them to explain this requirement, but they don’t. So I complaint here five days ago, and they send me a mail yesterday:

———————————————————
Dear customer,
Organization:zhang shenjia(张砷镓)
Please provide the scanning of the ID card(张砷镓), so that we can confirm the identity of thistransfer.
———————————————————

Since they insist on my I.D. card requirement, I really need your help to get my Auth Code from them.

2012-3-14

这次只等了两天,就收到了回信:

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月14日(星期三) 上午10:43 
收件人: 张砷镓 <137516@qq.com>

Dear customer,

Organization:zhang shenjia(张砷镓)
Please provide the scanning of the ID card(张砷镓), so that we can confirm the identity of this transfer.
If you do not provide, we can not confirm the identity of this transfer. If you provide the documents, we will keep secret for it. Also please cooperate with our work.Thanks!

Xinnet Technology Corp. _Customer Service

注意了,这封信没有抄送ICANN!立刻回信并抄送ICANN,否则接着扯下去就没有意义了:

Dear admin,

You know the I.D. card is very privacy, right? Since you never order it in the whole process of registration, why you ask me to provide it now?

As you say, this requirement is for confirm my identity, do you mean you already have a copy of my I.D. card?

If YES, how did you got it since I never provide it to you?
If NO, how could a new copy help to confirm my identity, since you have something?

Thanks, but I don’t want you keep my secret.

2012-3-15

这次收到新网对我在ICANN第二次投诉的回复:

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月15日(星期四) 下午2:32 
收件人: 张砷镓 <137516@qq.com>
抄 送:complaint-followup <complaint-followup@icann.org>

Dear customer,

Organization:zhang shenjia(张砷镓)
Please provide the scanning of the ID card(张砷镓), so that we can confirm the identity of thistransfer.
This is our business process. We hope you cooperate with our work.

Xinnet Technology Corp. _Customer Service

千篇一律让我配合他们工作,对我提出的问题完全置之不理,真是岂有此理!

第三次在ICANN投诉,语气十分强硬:

To whom it may be concerned,

This is THIRD complaint for the transfer of my domain “saolei.net”, which I registered at XIN NET TECHNOLOGY CORPORATION.

I contacted XIN NET and asked for my Auth code at the end of February. They order me a hard copy of my I.D. card to confirm my identity. I refuse that since they never order my I.D. card in whole register process, and I can not find any law and regulation to support this requirement.

I complaint to you for their unreasonable requirement, and I’m very disappointed that all of my letter just pass to them. They beg my question and repeat the requirement again and again. Is this the kind of good service they promise to give me?

Sir, I really need your help to get my Auth Code from them. I don’t want to deal with them anymore, since they don’t even read my letter.

2012-3-23

经过一周的等待,新网终于发来了转出确认函:

发件人:zhuanchu <zhuanchu@xinnet.com> 
时 间:2012年3月23日(星期五) 中午11:27 
收件人: 137516 <137516@qq.com>

尊敬的新网用户您好:
新网已收到域名saolei.net注册商转出新网的申请资料,经核查申请资料合格,请您于24小时内用此域名管理联系人邮箱回复,是否同意此域名的注册服务商由北京新网数码信息技术有限公司转至_*****_。
如得到您的确认回复,新网将向《域名注册服务商转出新网申请表》中填写的联系信箱发送转移密码。
请附带“转出确认函”原文,回复:同意 哪个域名,从北京新网 转至 哪里!!
感谢您一直以来对新网的关心与支持!您如有任何疑问,欢迎您随时与我们联系!


回复“同意”之后,立刻就受到了密码信:

发件人:xinnet <xinnet@xinnet.com> 
时 间:2012年3月23日(星期五) 中午12:12 
收件人:137516 <137516@qq.com>

尊敬的新网会员用户:您好!
感谢您选择新网为您提供专业的互联网基础服务!
本邮件是[saolei.net]域名转出新网的确认通知信
域名转移密码:[**********]
请将以上密码在5天内提供给域名转入服务商,并触发转移,如果您未及时将密码提给域名转入方或是域名转入方未能在5天内触发转移指令,以上转移密码将会失效,请联系我们重新获得。


紧接着又收到了客服的邮件:

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月23日(星期五) 中午1:39 
收件人: 张砷镓 <137516@qq.com>
抄 送:complaint-followup <complaint-followup@icann.org>

Dear customer,
After we received your reply to the transfer confirmation letter, we sent the auth code to your administrative contact e-mail on 2012-3-23. Didn’t you receive it? Or, for what didn’t you make the transfer at present?
Or, probably, because your e-mail system rejected our e-mail.
If actually you did not receive the auth code letter, we think it is better to contact with us rather than complain to ICANN again. Just please tell us the reason. If it is yes, we will re-send you the auth code. Thanks!


仔细看了下信的原文,原来ICANN给他们施了压:

From:Compliance Transfer Problems
To:admin1@xinnet.com
Sent: Friday, March 23, 2012 9:00 AM
Subject: [Transfer Problems ~AFP-431753]: Complaint Form - saolei.net

ICANN SECOND NOTICE REGARDING UNRESOLVED TRANSFER COMPLAINT

Dear Registrar:

On 7 March 2012, ICANN forwarded the transfer complaint below to XIN NET TECHNOLOGY CORPORATION and requested certain action and information by 13 March 2012.

To date, the transfer has not been completed.

Section 5 of the IRTP states: “Registrars may not employ any mechanism for complying with a Registered Name Holder’s request to obtain the applicable “AuthInfo Code” that is more restrictive than the mechanisms used for changing any aspect of the Registered Name Holder’s contact or name server information.””.

Please provide ICANN the following records and information by 29 March 2012:

1. Copies of any written communications between your registrar and the Registered Name Holder (or its authorized agent);

2. Your registrar’s findings of this complaint; and

3. The steps your registrar took to address this complaint

Please be advised that failure to take corrective action to become compliant with the IRTP or respond to this inquiry is likely to constitute a breach of the IRTP or 3.4.3 of the RAA and if so, escalated compliance actions will follow.

国内的企业真是……不知道说什么好了。

2012-3-26

试了好几次,QQ邮箱居然收不到Godaddy的转出确认函,在新网的平台上修改网站管理人邮箱失败,只好发邮件让客服帮忙解决,当然不能忘了抄送ICANN:

Dear admin,
I got the auth code, but I found that I can’t receive the transfer ID mail from Godaddy.com by my qq mail. I try to change the manager’s mail address on your site but it always notice “system error”. Please help me to change the manager’s mail address to “zshenjia@gmail.com”, thanks!

然后10分钟不到,就收到了回信:

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月26日(星期一) 中午11:08 
收件人: 张砷镓 <137516@qq.com>
抄 送:complaint-followup <complaint-followup@icann.org>

Dear sir,
Themanager’s mail address is “zshenjia@gmail.com” now.

这效率……我无语了。更换邮箱后很快收到了转出确认函,提交Security Code后就只有耐心等待Godaddy审核了。

2012-3-27

在等待审核过程中,新网客服还在3-27和3-31两次发来确认的邮件:

发件人:admin1 <admin1@xinnet.com> 
时 间:2012年3月27日(星期二) 上午10:41 
收件人: 张砷镓 <137516@qq.com>
抄 送:complaint-followup <complaint-followup@icann.org>

Dear sir,
DOMAIN_NAME : saolei.net
NAMESERVER:NS12.XINCACHE.COM
NAMESERVER:NS11.XINCACHE.COM
DOMAIN_MANAGER :
DOMAIN_TECT :
DOMAIN_FEEOR :
DOMAIN_REGISTRANT :
DATE_EXPIRED : 2013-11-08T08:39:02.0000Z
DATE_CREATED : 2006-11-08T08:39:02.0000Z
DATE_UPDATED : 2012-03-26T04:23:47.0000Z
DATE_TRANSFER :
RGPSTATUS :
STATUS :pendingTransfer
The domain is under the status of pendingTransfer(待转移状态).Please wait for a few days for the result.
Xinnet Technology Corp. _Customer Service

2012-4-1

Godaddy审批通过,域名转移成功!

参考资料:

我的域名注册商由“新网”转移到美国Godaddy的全过程

也记一次域名从新网转出的历程

域名逃出记

2011.12.12北京WCA冬季赛亚军

很久没有参加比赛了……

这次主要是冲着中岛来的,顺便测试一下我们公司的app(微拍)。

中岛果然强势,练习时我超水平发挥sub10都被他8秒干掉。纯被虐了一下午……

决赛的结果很意外,各路高手纷纷发挥失常,中岛到决赛才sub10,自认发挥更烂的我居然拿到第二。

最大的收获就是拍了一堆视频,包括练习和参访中岛的,详见我的微拍视角:http://www.weipai.cn/home/4e64df54677c27fa24000003(翻到2011年12月)

2010.12.27沈阳魔方公开赛,9.69/11.70刷新个人记录

感谢熊天煜的孤鸿魔方!感谢小圆同志的努力!感谢天平同志组织的比赛!

初赛第二次大概在9.00左右,结果计时器BUG了,悲剧。最后平均12+

复赛也平均12+

决赛人品爆发,单次9.69破PB,最后一次跳P,幸以平均11.70破PB,哈哈。

2010.6.11 江苏卫视《时刻准备着》

节目已于6月11日(周五)晚上21:05 在江苏卫视播出

录像地址:http://video.sina.com.cn/v/b/34010531-1290055681.html

5.28晚飞赴南京,于次日参与了《时刻准备着》节目的拍摄,嘉宾是元秋、田启文和八两金。­

现场表演了扫雷和魔方,表现都不错,具体情况先卖个关子,大家到时候看节目就知道了。­

中间那只小狗会叫“妈妈”……­

你妹啊!魔方部分被完全剪掉了…… ——2012.4.20

 

有困难,找警察

5月20日,我与同事前往深圳出差。

本以为当天就能返回,于是我没带身份证。

不料事情有变,得在深圳呆一晚上,问题就发生了……

宾馆一听要两个人住宿,就要我俩都出示身份证,我说我没带,但我同事带了,可人家就不给开房。

按说,同事自己一个人开个房先住下,过会我再进去过夜就完了。

但谁让咱是行事光明磊落滴男儿呢?都是中华人民共和国的合法公民,咱还不能合法滴过个夜了?我俩就较上真了。

不料周边转了半天,所有酒店、宾馆都要查验两人的身份证,只有一个身份证就是不行。

NND,算你狠,老子另寻他路~

不料再转了转,网吧、洗浴中心……等等能过夜的地方,也都要身份证登记。

“12580,一按我帮您~”我想起了这听过千万遍的广告。

接电话的小姐声音十分甜美:“这我们也没办法,您也别为难我们……”

最后的最后,我终于想到了“有困难,找警察!”

终于,我怀着激动莫名的心情,用颤抖滴手指拨响了110……

110倒是挺热心,先考察了一下我周边地理环境,然后就让我呆在原地不要乱动,有人来帮我解决问题。

站在那里心里挺暖和,还是人民警察好呀~~

不一会电话响了,是临近派出所的。值班MM估计没有经验,请教旁边的前辈无数次后告诉我,把身份证传真过去试试。

于是乎我们理直气壮滴回到酒店,如是这般一说,酒店小姐依旧斩钉截铁滴说“不行!”

我说“派出所说可以这么办,咋就不行呢?”

话音刚落,旁边另一位工作人员就搭腔说:“派出所咋了,她就派出所的媳妇!”

于是乎那位媳妇就很得意滴替我拨通了派出所的电话,还侃了两句,貌似就是她老公。

一番纠缠后,我得到了最合理的解释“现在正办大运会,查的严”。

最终,我又拨通了110……

“你总不能让我露宿街头吧?”

“对不起,我们也没招,你自己想办法吧!”

……

最终的最终,我们还是用了最早想到的那个办法过了夜-_-!!

2010.5.14 湖南卫视《天天向上》

节目已在5月14日19:30 湖南卫视播出

录像地址:http://v.youku.com/v_show/id_XMTg2MTYxOTYw.html

5.7 飞抵长沙,和盲拧世界冠军庄海燕、单手世界冠军Tabuchi、泰国转笔三人组(包括大名鼎鼎的世锦赛冠军Spinner Peem、季军Supawit127)一起参加了《天天向上》节目的录制。

汪涵很低调,也很忙,脚痛风了还坚持主持节目,签名时会写一句祝福语,这点和其他人都不一样。好男人一个,涵哥fighting!

欧弟很搞笑,擅长夸张表演,其实是很阳光的大男生。

Tabuchi,很内向的17岁高中生。CFOP公式不多,但衔接很快。

泰国转笔三人组,很NB的世界冠军组合……