Year: 2015

2015 年度盘点 (按月简版)

想赶着 2015 把完整版写完是不太可能了, 还是先写个摘要好了

一月, 公司泰国游, 去了曼谷, 大城, 清迈, 清莱
二月, 自驾回湖南老家, 在家办婚礼, 去云南蜜月游
三月, 从云南回湖南, 带着喵自驾回杭州, 去办了杭州公园年卡
四月, 在家喵医院附近找房, 准备搬家
五月, 跟前房东扯皮, 搬家到家喵医院边, 离西湖步行十分钟, 难找停车位
六月, 公司去黄山宏村玩, 端午和喵去龙游玩, 返程过瑶琳仙境和龙门古镇
七月, 怀上莫莫啦
八月, 喵妈妈来杭州一小段, 好好喂了家喵一段
九月, 狗妈妈来杭州一小段, 继续让喵过上吃喝无忧的幸福日子
十月, 带妈妈去各处小逛, 看还没完工的新房, 但没多久妈妈又回去了
十一月, 抛弃 iPhone5 换小米 4c, 买了个小蓝牙音箱给莫莫各种放儿歌
十二月, 在公司终于正式开挖前端重构大新坑, 验房准备收新房

干活碎碎念

0x00 有客户反馈有同行的某个功能比我们强大, 数量上限远超我们
0x01 对于这种违反科学的说法我们显然都是不信的啦, 平台的限制还能破?
0x02 但是这客户也是个超大的店, 不像是睁眼说瞎话的小白, 那就去验证下?
0x03 为了测试大数据量, 让产品妹子把帐号贡献出来我们灌几百个商品进去
0x04 笨狗一念之差, 偷懒直接用同一个图和测试商品的标题灌了几百个
0x05 测试完了都没事, 第二天一早起来产品妹子发现店被淘宝封了…
0x06 封禁理由是 “重复铺货, 影响交易安全”, 而且是永久封店
0x07 这下玩脱了… 只能去申诉, 找平台方他们也管不了淘宝主站的安全策略
0x08 申诉还要买一份当地的报纸举着带日期的头版拍照来各种证明身份
0x09 于是产品妹子说这好像是她多久多久以来第一次主动花钱买报纸?
0x0a 还好拍照不用像手机淘宝开店那样要摆各种羞耻 Play 的奥特曼姿势
0x0b 到现在好像还没被解封, 我真是有罪啊

0x10 说回那个测试本身, 客户确实没说谎, 是平台方逗逼大了
0x11 说好的 xxx 个限制, 发现在某种奇葩情况下可以无上限的添加
0x12 这特么就是个 bug 吧… 我们果断去投诉反馈了
0x13 要是平台方敢答复说这其实是个 feature, 特么劳资一刀捅死他

0x20 其实往淘宝店灌测试商品的正确姿势应该是去抓豆瓣数据做填充
0x21 比如抓个书单, 把书名和简介当商品标题和描述, 还能有不一样的主图
0x22 只要别抓太狠, 豆瓣都不会封, 简直完美
0x23 这个想法唯一的漏洞是, 在淘宝买书或音像制品是要有资质证明的
0x24 那么只能找个没限制且不会因为类目乱放的其他类目弄上去了
0x25 考虑到类似需求以后还是可能用的上, 还是不要每次人肉瞎凑了
0x26 正儿八经写了个放到 GitHub 上: https://github.com/whusnoopy/taobao_uploader

0x30 淘宝经常出些逗逼的问题, 给他们提工单, 答复的人也都是群逗逼
0x31 比如明明信息提供全了图都截了人家回句你提供下某某信息
0x32 去你大爷的上面写的清清楚楚你敢看完了再这么回么
0x33 比如经常绕着绕着就变成了 “这个问题你咨询下淘宝客服”
0x34 擦你妹夫就是因为那帮兼职客服什么都不懂才来问你们的好么
0x35 这一行做久了对淘宝和阿里系的评价只能是一坨狗屎
0x36 不好意思好像我刚侮辱了下狗, 而且我又情不自禁的爆粗了
0x37 除去只能靠平台方改业务逻辑的, 大部分问题最后都是试出来的
0x38 傻逼问题见多了, 奇葩解决经验一多, 自然就变成了老司机

0x40 平台方有个 BUG 反馈的大群, 同行们基本都在里面
0x41 天天也有各种人出来哭爹喊娘说这个问题怎么办那个问题怎么办
0x42 偶尔心情好, 加上透露解决方案也没啥损失, 就会指点一下
0x43 有时候居然还有傻逼同行会质疑我们给出的原因和解决方案
0x44 倒腾一大圈最后发现还是我们说的那样, 真心懒得理这帮白眼狼
0x45 好心好意告诉你, 居然敢质疑我们的经验, 很想做个 meme 图

论打折, 我不是针对谁
而是说在座的各位
都是垃圾

0x50 之前写一系列客服趣事时记录了很多逗逼的卖家
0x51 其实我们那些逗逼的同行也有很多欢乐可以写出来开心开心
0x52 比如今天有人跑群里说我的分怎么就被扣了, 都没有差评的
0x53 仔细一瞅他的应用就是拦截差评师的, 真是个黑色幽默
0x54 当然这个事估计更多的是淘宝的坑, 只是刚好赶上这么个名字

写了个 jQuery 动画小插件, 收起飞入抽屉效果

参考的效果是淘宝加入购物车时, 会将商品图变小, 往右飞入到购物车图标内, 提示这个东西去了哪里, 又从哪里可以找到. 最近我们在美折里做了几次登陆后弹层推荐, 希望用户关闭后还能知道怎么重新打开弹层推荐的内容, 就希望在关闭时给一个动画指示到最后可以重新打开的按钮上

写了一个折叠收起的 jQuery 插件, 放在 GitHub 上: https://github.com/whusnoopy/flyerArchive/

下面测试按钮点击后应该会将本文变成一个红色框收起为一个小方块, 并最后消失在测试按钮上

点此测试

你们说我一个好好的算法工程师怎么就开始各种写前端了呢, 所以这时候应该膜蛤一把, 来背两句诗?

碎碎念

路遇有车自燃

路遇有车自燃

0x00 继前两个月坐公交差点自燃后, 本周开车上班真遇上了一起自燃的
0x01 红绿灯前都不敢上前, 隔远点默默围观下
0x02 发各种社交网络后有另外的目击者称烧起来的是一辆大众宝来
0x03 反正我经过的时候是烧的一片烟根本看不清是啥
0x04 路上各种危险, 好可怕好可pia

停车场也能撞成这样?

停车场也能撞成这样?

0x10 因为乌镇开互联网大会, 政要们又住杭州, 所以某天早上出门碰到各种坑爹的交通管制和堵车
0x11 平常半个多小时就能到公司, 这天活生生走了两个半小时才到
0x12 亏我那天早上七点半就出发了, 还说去公司吃点早餐, 结果十点到只有吃薯片发泄的心
0x12 真心累, 开到后来堵的脚都麻痹了, 起步松离合都熄火
0x13 到公司停车场后发现有车歪着停路中间, 还想现在这些人越来越没素质
0x14 之前靠着停车位堵路就算了, 你这歪在路中间堵路是个什么姿势
0x15 走近仔细看才发现是撞了, 您二位在停车场里都能撞成这样真是不容易, 这是赶着去投胎啊
0x16 一辆丰田对一辆日产, 要黑日系车薄皮大馅的上面的图直接拿走吧

杭州冬日难得的通透晴天

杭州冬日难得的通透晴天

0x20 因为被堵路上搞怕了, 互联网大会还要开两天, 干脆跟公司说一声在家办公不过去了
0x21 本来杭州入冬后就一直是雾蒙蒙的样子, 七成雾三成霾吧, 没啥风吹不散
0x22 结果在家发现天气特别好, 中午出门觅食顺便想着去把要开的良民证什么的也给开了
0x23 路上发现抬头这个角度很像以前在北京拍静安中心, 随手再拍一张发出去
0x24 开互联网大会了就能晴的诡异, 你说天朝没掌握气象武器谁信?

恶趣味, 安利一下

恶趣味, 安利一下

0x30 说起良民证, 其实也就是无犯罪记录证明啦, 某些奇怪的场合总是需要的
0x31 周末没开车回来, 周一上班时想要不坐公交绕路去开一下, 反正公交换乘有优惠
0x32 到那边后排队等接待, 前面有个大姐咕哝说丢了车什么什么的
0x33 还想哎哟这丢个车是大事啊, 听听都怎么丢的
0x34 最后发现是丢的电动车…
0x35 不过这大姐也挺悲剧的, 说前不久刚丢了一辆, 新买的发票还在就又丢了
0x36 期间又听派出所里电话语音播报 “有 110 报警请及时接警处理”, 好智能的感觉
0x37 看民警回电话问怎么回事, 说某公司财务室柜子被盗, 门是好的, 天花板有痕迹
0x38 这种事怎么听都像是电视剧的情节啊, 派出所怎么都这么多狗血的破事
0x39 段子手们如果缺素材, 去派出所蹲一天绝逼思如泉涌好么
0x3a 终于轮到我, 问完户籍是挂在这后说要三张一寸照片和身份证复印件
0x3b 啊咧之前在帝都的时候啥也不用的啊, 郁闷的直接回去上班了
0x3c 路上意外发现了个配钥匙的店可以配门禁, 心情又好起来 “总算没白跑一趟”
0x3d 等公交时发现后面的楼看起来是安利的区域总部? 来恶趣味拍一张安利一下

小米路由的监控

小米路由的监控

0x40 家里最近多了很多小米的设备
0x41 比如狗从逐渐吃力又只支持 3G 的 iPhone 5 换成了小米 4c
0x42 重新回归小米党, 4G 双卡双待加翻墙便利的 Android, 爽的飞起
0x43 比如狗跟猫都弄了个小米手环监督自己的运动情况, 也看看睡眠质量
0x44 不过喵戴了一两周后嫌不舒服加上她 iPhone 6 有记步功能就闲置了
0x45 但是最开始好像就是为了帮看她的睡眠质量才买的吧?
0x46 比如家里那个 Tp-Link WR842N 路由器现在总不是很稳定, 又没有 5G 频段
0x47 而且上 100M 宽带后下点大东西经常会假死下, 将其下岗换小米路由 Mini
0x48 不买青春版是因为青春版没 5G, 不买常规版是因为多出来的功能似乎用不到
0x49 拿回来就因为系统升级时我以为挂了强制断电给弄嗝屁了
0x4a 换原路由上网找解决方案, 用 U 盘刷个固件进去就好, 果然刷机是米粉必备技能
0x4b 意外发现小米路由的手机 App 有设备联网通知功能, 如上图所示
0x4c 这样家喵中午啥时候吃饭回去睡午觉就清楚了, 也知道是否方便打电话
0x4d 不过喵表示 “一点都不好玩! 什么都被你知道了!”
0x4e 呃, 话说这样是不是有点侵犯喵权? 其实还好吧只是单纯的关心家喵而已

晚霞

晚霞

0x50 高中死党疯狗同学从天津过来杭州出差, 邀其周末一起过来住两天
0x51 疯狗从天津出发时发了张站台上的照片, 大雾里能见度不足五十米
0x52 到杭州后感慨啊空气真新鲜天好通透湿润润的好舒服
0x53 被喵和狗吐槽啊咧最近空气污染都一两百严重污染了好么你居然说空气好
0x54 疯狗表示你们要体谅最近好长一段空气污染指数都四五百地区人民的感受
0x55 来之前疯狗问杭州冷不冷, 狗说你按老家冬天的装备穿衣服就好
0x56 到了后人表示这边不冷好么我下车都觉得热, 狗说你绝逼胡扯过两天再看看
0x57 在木有暖气只靠空调的狗家里睡过一夜后, 疯狗表示木有暖气寒气入体冷透了
0x58 裹着羽绒服瑟瑟发抖的疯狗很好的演饰了什么叫北方的狼来南方冻成了狗

0x59 图文无关, 前阵子某天晚霞特别漂亮, 拍了一张显摆下

电信诈骗之到我办公室来一趟

上周五又碰到一次 “到我办公室来一趟” 的电信诈骗, 刚好最近也闲得无聊, 陪骗子演戏到最后一步再报警, 记录下欢乐欢乐

全程没有任何新花样, 都是老段子, 不想看我叙事方式的可以去看这个豆瓣帖: http://www.douban.com/note/449351298/

骗局

第一步 下钩

周五晚上跟喵出去吃饭, 我吃完等喵时接到一个 170 号段显示湖南长沙的陌生电话, 上来又是官腔 “叶文哪, 明天到我办公室来一趟”, 本想破口大骂你这又从哪里拿到我电话的老子哪里有带自带办公室的领导了, 后来听口音感觉也像之前打过我电话的另一拨骗子, 当时还担心是不是家父一名老友找我结果被我无视, 这回感觉自己也有空, 就干脆陪玩玩

骗: (四十来岁的官大叔口气) 叶文哪, 明天到我办公室来一趟
狗: (居然这回知道全名?? 那就互骗玩玩) 哦哦, 王总是吧, 明天到哪个办公室? 上海那个还是长沙那个?
骗: (明显迟疑了一下) 呃, 不是, 不是上海的, 上海那个你明天早上来得及赶到嘛, 长沙这个
狗: (没玩够…) 那是芙蓉区那个还是星火大道那个? (我记得长沙是有芙蓉路但不确定是不是叫芙蓉区, 另外星火大道应该是我把火星社区?弄混了, 反正就是瞎编了俩地名)
骗: (明显又傻逼了一下) 星火大道那个的, 明天上午九点钟过来
狗: (怎么感觉想挂电话) 好的, 明天九点, 我要带什么东西么?
骗: (开始不耐烦) 不用带什么, 你到时候过来就好了
狗: (示意旁边要笑场的喵不要笑出声) 那电脑要带么
骗: (又迟疑了下) 嗯, 好的, 你带上电脑, 明天上午九点钟过来

狗还想玩结果对方估计受不了这么磨叽的下属觉得话说完了就直接挂电话了

喵看我一脸贼笑说你要不要这么开心, 骗子你别理他就是了嘛, 狗去搜了下骗局后续, 觉得挺好玩的啊反正明天也没啥事, 到时候看看他们有没有什么新花样, 最后看看能不能顺便给骗子输错三次密码把帐号给冻结掉

第二步 拒见

周六早上八点半过, 离约定的时间大概早二十多分钟, 骗子来电话

骗: 叶文哪, 你到办公室了没有
狗: (装气喘吁吁在赶路) 王总我还没到, 还要十多分钟呢
骗: (如释重负) 你一会到了先别上楼, 在楼下找个地方坐一会, 我在办公室见两个领导还不太方便
狗: 好的好的, 那我一会先在楼下等一下

果然跟之前看到的一模一样啊, 一点也没变, 耐心等后续

第三步 跑腿

八点五十接到第三个电话

骗: 唉叶文你到楼下了么?
狗: 哦王总我到楼下了, 在咖啡馆门口坐着
骗: 你这样, 你去帮我买两个信封好吧
狗: (装傻) 买信封?
骗: 呃是这样的, 一会我要给领导送点钱, 直接给现金不太好, 你去帮我买两个信封来
狗: (装恍然大悟) 哦, 好的, 我看看这附近有没有文具店或什么可以买的
骗: (心满意足) 嗯, 你一会买到了就打电话告诉我

告诉你妹… 你们就不能长点心换点新段子么, 这照剧本演戏还不能自由发挥真没劲. 安心等后面一个电话

第四步 转钱

不知道骗子有没有奇怪为啥这个货一点都不主动, 快九点接到第四个电话

骗: 叶文你信封买到了么?
狗: (装气喘吁吁在找并强行加戏) 不好意思王总还没买到呢, 这旁边都没找到有文具店的, 但是这下面有个花店看有能包花的包装纸, 我从来没送过钱不知道用这个行不行
骗: (并没有被加戏的狗影响) 哦没买到那就算了不要了, 因为直接给领导钱不太好怕被人看到, 信封装起来也不太合适, 这样, 你有没有带卡?
狗: (果然进入正题了哦哈哈) 呃只带了一张, 怎么了?
骗: 一会我们直接把钱达到领导帐户上, 这样大家也都比较方便, 你卡上有多少钱?
狗: 呃只有五千多 (本还想继续哭穷下说马上要交房租了被骗子接过话没说成)
骗: (思考了一下在想金额) 这样, 你先借四千给我打给领导, 每人两千, 回来我给你现金
狗: 好的王总, 但是我不知道领导帐户啊
骗: 嗯, 这个我一会问下领导, 你带的卡是哪个银行的?
狗: (随口瞎掰) 农行的
骗: 好那我问下领导看看有没有农行的卡, 一会短信发给你, 你要不先往银行走?
狗: 好的好的, 那麻烦王总一会把帐号短信发给我吧, 我先过去, 但是最近的好像要十来分钟才到
骗: 哦这个没关系的, 一会我把帐号发给你

过了几分钟收到短信, 还没来得及看就接到第五个电话

骗: 我问了下领导, 他们说不用分开打, 打到一个人那他们回去自己处理就好了
狗: 哦, 好的好的, 就是不用分开打把四千打一个帐号上就行了对吧
骗: 是的, 他们说回去他们会处理好的, 你到银行了没?
狗: 还没呢王总, 我还要一两分钟才到
骗: 我刚把帐号发给你了你收到没?
狗: 刚好像听到了还没来得及看呢
骗: 嗯你一会转好了打个电话告诉我好吧, 把单子留着
狗: 哦是说把转钱的那个回单留着么?
骗: 哎对的, 你拿单子回来我给你现金

第五步 得手 (被狗转成了 报警)

看发过来一个叫 蒋欢 的农行帐号, 想着到这一步也没啥好玩的了, 去试试看挂 VPN 去乱输密码锁人帐户, 大农行非得用 IE 装控件, 懒得装还是直接打 110 报警算了, 看能不能废掉骗子一个手机号和银行卡

这好像还是笨狗有生以来第一次报警, 响了不到一声就接通了, 没有出现网上很多说的打 110 半天接不通的情况, 听声音像是三四十岁的女性 (这个年龄好难称呼, 叫妹子太轻浮, 叫大姐又叫太老, 大妈更老)

狗: 您好, 我遇到电信诈骗了, 但是我还没有转钱, 有骗子的帐号这个可以报警么?
警: 可以, 你把信息告诉我, 我这边转刑大处理 (应该是刑警大队的简称)
狗: 好的, 打过来的电话是 170xxxx, 手机显示是湖南长沙的号, 要转钱的帐户是农行的, 户名是 蒋欢, 蒋介石的蒋欢乐的欢, 帐号是 6228 xxxx
警: 好的记下了, 你遇到的是什么类型的诈骗呢
狗: 就是 “明天到我办公室来一趟” 然后说要送礼转钱
警: (都忍不住笑了跟上我后半句) 然后说要转账是吧
狗: 嗯就是这样
警: 好的我们这边记下来了会有人跟进处理, 后面再联系你不要理他就行了

人生第一次报警就这么顺利的结束了, 打完 110 发现新买的小米 4c 进入了一个叫断网保证回拨的模式, 看意思是会断掉 WiFi 和移动数据, 强制留在 2G 网络怕被木马劫持掉通话或修改来电显示

后面骗子大概隔十分钟左右打个电话过来, 前两个我没接让他自动挂断, 第三个我在厨房弄吃的觉得烦就主动挂了, 居然过了一会还打来了第四个继续主动挂, 心想这骗子怎么这么契而不舍啊是不是好不容易钓上条鱼舍不得, 后面就再没然后了

思考

骗术分析

豆瓣那个帖里已经有不少分析了, 说下我对这个骗术的一些理解

  1. 第一步用你号码所在地用当地的陌生号码给你打约叫去办公室做初步筛选
    听起来就是领导口气, 叫你 小X 或直接叫全名, 加上那个口气, 很容易让受骗人以为是自己没存号码的领导
    当然这一步大部分人会识破, 直接挂掉或想一下就挂掉了
    跟骗子对骂多半会被骗子怒斥 “连我的号码你都没有存!?” 等还没搞清状况就被骗子主动挂电话
    从骗术角度出发这个也是个比较合适的筛选器, 把聪明人撇开只留有较大概率上当的人, 节省后续跟进的精力

  2. 第二步是按约定时间拒绝见面避免穿帮
    这步没啥好说的, 见面就穿帮了, 故意耗着你

  3. 第三步是让帮买信封让你代入帮忙行贿的角色
    不能一上来就叫打钱, 叫你帮领导跑腿买个信封这种小事听起来也很合理, 同时让你代入角色, 知道在帮忙行贿

  4. 第四步转进到真正让转账的目的
    现在抓得紧不方便直接现金交易, 听起来也很合理, 让你帮忙去转钱拿回单到单位换现金, 也很合理

  5. 第五步收到钱了立马卷款跑路
    这一步没实际经历, 按网上说法, 只要收到钱对方立马就转走跑路了, 结束整个诈骗流程

能被骗的人一般也都比较粗心大意, 或者是公司财务之类的角色, 单位也确实经常有这些灰色交易, 说到底还是社会风气不正才能让这个骗局听起来比较合理

应对方式

  1. 第一步很正常, 你没领导或者确定领导不是这个, 挂掉就是了, 跟骗子理论可能还会被人骂…
  2. 如果真的有领导是要叫去办公室的, 问仔细时间地点看看骗子会不会露出马脚
  3. 活要见人死要见尸, 现在来电号码可以伪造, QQ 和微信可以用相同昵称和头像蓄谋作案, 声音可以伪造, 连视频都可以伪造, 涉及到钱的事还是谨慎点好
  4. 确定是骗子后建议报警处理, 这个不算浪费警力, 该抓还是要抓
  5. 网络上有的建议说去登对方网银, 密码连错三次让帐号被冻结, 这个也考虑下自己的安全哦, 别被银行给举报了, 还是挂着代理搞的好

关于报警和电信实名制

现在银行卡开卡是要有身份证的, 电信实名制也让手机号等要身份证, 虽然骗子们手里可能有办法弄到各种身份证去开银行的户或手机, 但是现在应该还是越来越严了, 报警能处理掉一个是一个, 而且如果警方有串起来查应该是可以一查一片

这次打给我的就是 170 的虚拟网了, 不过查了下没查到是哪个运营商的, 多个渠道查都只能查到是联通的, 顺带让我再黑湖南联通一把, 上次被查出来一片手机号不实名给诈骗集团的也是你们吧? 湖南衡阳还是娄底的来着? 还被工信部罚过, 不长记性

MIUI 的保护模式

报警后 MIUI 那个五分钟的断网保证回拨功能还是挺有意思的, 也算是在挽救弱智青年的路上多捞了一把, 就是不知道效果如何, 这种事估计也没法看效果, 能被骗的人如果金额不大一般最后都羞于承认被骗, 大额的很多也会想办法撇清自己的失误而赖在客观环境上

git 查看文件修改记录

今天追了个几年前留下来的坑, 在 git 里追溯修改过程坑死个爹, 具体方法估计没多久又会忘, 还是记下来以后有的参考

大部分教程都会告诉大家使用 git log 来查看对应文件的修改记录, 就像这样

git log ./foo/bar.py

但是这样默认是只显示提交信息摘要, 你也不知道具体哪里改了, 所以需要加上 -p 参数来显示具体修改内容. 如果这个文件改动频繁, 那么可能只想看最近几次的修改, 再加上一个 -[Num] 的参数来显示最近几次. 要想指定从某个版本往前, 直接指定版本号

git log -p ./foo/bar.py
git log -p -2 ./foo/bar.py
git log -p -2 74f6c40c ./foo/bar.py

但是如果是追一个不知道什么时候埋下的坑, 可能更需要知道某一行到底是啥时候改的, 这时候应该用 git blame 来看每一行的最后提交是哪一个, 像这样

git blame ./foo/bar.py

执行后进入像 less 一样的操作环境, 类 VIM 的翻页操作, 也可以用 /? 来查找, 不过这么看还是有点乱, 整个文件都标出来了, 如果我们只是想知道确定的某几行的历史呢? 祭出 -L n,m 参数

git blame -L 5,10 ./foo/bar.py
git blame -L 5,+5 ./foo/bar.py

这样可以定位到某一行最后一次修改是哪个提交, 如果还要想继续往前找? 那么找到上一次修改的提交, 看在上次提交里的行数, 以上一次修改的提交号, 加上上一次修改对应的行数去继续往前

> git blame -L 8,+1 ./foo/bar.py
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    8) import StringIO

> git blame 74f6c40c ./foo/bar.py
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    1) # coding: utf8
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    2)
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    3) from bson import ObjectId
8b569399 (Wen YE    2015-06-17 12:17:32 +0800    4) import collections
be417d12 (Wen YE    2012-09-25 15:03:00 +0800    5) from datetime import datetime, timedelta
299e78b7 (Wen YE    2013-08-26 20:11:59 +0800    6) import json
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    7) import logging
8b569399 (Wen YE    2015-06-17 12:17:32 +0800    8) import os
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    9) import StringIO

# 到头了, 那就是这个提交引入的, 看看改了什么
> git log -p -1 74f6c40c ./foo/bar.py

当然, 期间配合 Source Tree 之类的图形化工具来对比提交的 diff 比用 git log 这样的命令行查看更方便, git blame 也只是看某行的最后修改, 并不能很直观的看出来那一次提交到底修改了什么, 而且没有代码高亮和对比

我用的 git blame 定位到上一次提交, 在 Source Tree 里去看那个提交的具体修改内容, 如果还要往前追溯, 按 Source Tree 里看到的上一次提交里的行号, 带版本号继续 git blame, 再到 Source Tree 里看对应版本的修改, 直到尽头

公交故事

因为限行或停车受限等问题, 最近坐公交还挺多的, 总也会遇到一些神奇的事情

差点自燃

上周三下午早点跑路准备回家给喵做饭, 在紫金港总站里看好 10 路接下来是哪个车就上去了, 还是习惯性的坐在最后一排靠窗, 反正我是起点到终点不会要出去而且最后窗户能打开能自由选择透下气还挺好的, 太闷的公交车我坐着会犯恶心

10 路有几台车换了新的比亚迪电动大巴, 大部分还是普通汽油车, 连天然气似乎都不是. 按之前见过的某个说法, 国内的公交运营单位为了省油, 把发动机怠速都调低过, 车子发动后停着不动时共振巨大. 这次这车抖的尤其厉害, 心里默默的念叨这批车啥时候才能都换成电动

等快到点时司机上来, 我继续玩手机, 没一会感觉背后发动机声音变更沉, 而且有点吃上劲的感觉, 然后发现后面有轻微黑烟往前飘, 第一反应是最近雾霾太重都出烟了, 立马意识到不对吧雾霾也不该是黑烟才对, 难道是公交站后面在烧什么? 再玩了几秒手机发现背后黑烟变大, 想这个不会影响我们车子吧就默默跑前面去跟司机讲你要不下去看下后面怎么回事怎么这么大烟?

司机往后视镜瞟了一眼立马就跳下去往车后跑, 这时我也从前门下车看特么就是我们这个车的发动机在冒烟, 默念还好今天多管了下闲事还下来了. 因为是总站, 车前就是调度室, 一堆司机和调度员也被吸引出来, 有个靠谱点的提醒说先上来熄火拔钥匙, 然后把车上人都叫下来. 熄火后烟变小, 剩下几个司机一起到车后把发动机盖子掀起来看怎么回事, 一个女调度员倒是急匆匆让旁边两个车司机感觉上去把车倒走, 别烧起来或炸了把旁边车给带伤

再抬头看调度室公告牌后一辆车的车号, 等站里乘客都上来司机直接就按冒烟那台车的发车时间开着走了. 回头想下用开手动挡的经验来描述事发情况, 像是司机拉着手刹但是挂上档把离合松到半联动状态, 不过公交司机应该没这么二缺才对, 不然当事司机也不会火都没熄直接下去看, 可能真的是机械故障. 但是换个角度想, 都看到后面冒烟了这司机跑下去前都不记得先熄火这事本身也挺二缺的, 说不定还真的就是自己作死或者玩脱了

鸣笛怒汉

周四早上去薅了麦当劳的免费早餐, 想着公交卡快没钱了, 现在 90 分钟内换乘免费干脆就近坐 186 到翠苑一区去充钱还能直接把发票领了. 昨天还念叨 10 路没多少电动车, 186 好像是全部换了新的比亚迪, 只可惜不是起点站在早晚高峰想有位子太难了, 不想挤在中间, 跑后轴附近靠着看会不会后面有人下车捡个座

没过一个路口就感觉这司机有点奇怪, 不停的按喇叭, 别人挡道他会按, 前车走慢了也按, 关键是还喜欢按个不停, 烦的要死. 按说市区是禁止鸣笛的才对, 何况路过某些地方还是医院和学校附近, 就算有二逼司机走公交专用道你滴下他让他走掉就好了, 也没必要跟按住喇叭不放一样

后来看途径公交站我们车上下客完成后前车因为没上下完我们出不去司机也按喇叭, 而且又是按住不放这种, 觉得这司机有点过分了. 再往后等红绿灯起步时前面就隔老远都没动起来他也在按, 这就莫名其妙了简直, 本来想跑前面去跟司机说一下, 又觉得从后面跑前面好麻烦还多管闲事. 等在文一路往西在学院路路口等红绿灯时前面有个车拐进了公交专用道但是想往普通车道并却因为的呢个红灯大家排满了并不进去, 我们等在后面也过不去, 司机在整个红灯期间喇叭都没停过, 这个真心就不能忍了, 这回是没敢跑前面去跟司机说, 怕司机今天犯浑被打了怎么办

还好我马上就下车了, 心想一定要投诉之, 下车的时候特意记了车号和车牌号. 等充钱换车到公司后去搜公交公司网站写投诉意见, 写到一半觉得万一真的是司机今天遇上烦心事了呢, 这种还是不要让人背处罚好, 但是他那个状态不管是什么原因确实都不太适合再开车, 就把问题描述完了后最后补一句 “不知道是不是司机今天遇上什么闹心事, 请及时开导”

写完后过了大概半个小时看状态变成已经受理, 受理意见跟其他投诉建议得到的反馈大多一样 “情况我们已经了解正在核实处理五个工作日内反馈 blahblah”, 当时还想估计又是个面子工程做做样子, 居然还要人留真实姓名和联系方式, 不过我身正不怕影子斜留就留呗

本以为这事就这么无疾而终, 周六睡午觉刚睡醒接到个杭州的座机电话, 本以为又是骗子或卖房忽悠投资什么的, 听到对面说 186 的时候想起来我是投诉过居然还真的有人回复. 对面问我是路上的小车司机还是乘客, 对投诉情况再核实了一遍, 然后问我司机是不是一个五十来岁的大叔, 我表示我在最后面真的没看到, 问我有没有在车上劝阻, 我说我在最后面不好往前去 (当然怕打起来这事我没好意思说), 那边表示那个司机开车是比较喜欢按喇叭, 但司机自己辩解说是遇到有危险的情况才会鸣笛提醒, 我说就我那天遇上的情况绝对是超过正常的提醒范围了, 完全就是按个不停, 那个也态度很好的表示他们会继续教育, 市区鸣笛确实是不对的. 最后问我是不是经常做 186 我说没有那天就是临时去办事而已 (不太清楚他们问这个干嘛), 说如果坐 186 还有问题直接打他们拨过来那个座机电话反馈也可以

本来以为投诉无果的最后结果有点超预期, 对杭州的好感度加一. 对于不合理行为, 还是要有人管管闲事的, 相关部门对于提醒的人也该是态度友善并且真的会处理

在 Win10 以下系统关闭升级 Win10 的提示

笨狗已经在自己的 Windows 机器上用 Win10 用的爽死 (都是 Windows Insider 升上来的, 请不用担心我的版权问题), 但是在 Win7 等系统上, 微软的那个升级 Win10 提示对于某些人来说还是挺讨厌的, 那么, 可以关掉么?

方法一 图形化界面卸载提示升级的更新

  1. 进入 控制面板 > 系统和安全 > Windows Update (直接在控制面板右上角搜 Windows Update 也行)
  2. 点击左下角 已安装的更新
  3. 找到 Update for Microsoft Windows (KB3035583) 这个更新, 或者在右上角的输入框搜 KB3035583 找到
  4. 在上面点右键, 卸载, 确定, 然后重启, 搞定

方法二 命令行卸载对应更新

以管理员权限运行命令提示符, 执行如下命令

WUSA /Uninstall /KB:3035583

重启后搞定

管理员权限运行命令提示符的方法
1. 点 开始, 输入 cmd
2. 在找到的命令提示符程序上点右键, 以管理员身份运行

其他方法 找个屏蔽软件

这个方式太挫了, 我拒绝介绍具体步骤

推荐个 Mac 下好用的日历小工具 Itsycal

Itsycal 是一个 OS X 小工具, 可以常驻菜单栏右上角, 弥补 OS X 的菜单栏没有日历的遗憾

项目主页及下载地址: http://www.mowglii.com/itsycal/

盗用下他家的图做介绍

itsycal 截图

itsycal 截图

完美满足了我如下需求

  • 菜单栏上查看日期
  • 点开看本月日历, 可切换其他日期查看
  • 跟系统日历和 Google Calendar 结合显示事件

唯一的缺点是原生没有农历, 虽然可以添加农历日历到 Google Calendar 等方式实现, 但是还是不太靠谱. 中国节假日等通过苹果的 “中国节假日” 日历实现了

如果有能支持上述功能并原生支持农历和国内节假日的日历小工具, 欢迎告诉我

莫莫, 你好

昨天陪喵去产检, 社区医院的 B 超医生允许家属围观, 于是笨狗第一次见到了莫莫的样子, 在喵肚里一直在动

莫莫, 你好, 我是爸爸 ^__^

这回不像家喵上次去看时说莫莫还在睡觉, 要走动走动让娃换下姿势才好做 B 超, 能看出来手脚一直都在动, 虽然笨狗瞪大了氪金狗眼, 但也没看出来到底莫莫是男孩子还是女孩子

莫莫是家喵肚里娃的小名, 本来是想叫叶小喵的, 后来发现家喵已经把这个名字霸占太久改不过来她又不愿意升级成叶大喵或叶老喵, 又家喵把各种带喵的昵称都用光了木有给娃留下发挥余地, 最后笨狗恶趣味的说要不把喵拆开叫莫莫和幺幺, 刚好把未来生二胎的小名都留出来

昨天发微信朋友圈后, 有犀利的同学指出你这样叫万一有第三只怎么办? 这个, 还木有生第三次的打算呢, 最多就是二胎的时候怀上双胞胎, 这个其实好办, 把幺幺再拆成伊伊和澳澳就是了