Year: 2014

OS X 支持 NTFS 读写

苹果的 OS X 明明已经支持 NTFS 分区读写, 但是默认情况还是按只读挂载, 查了些资料小修改了下, 就可以开启原生读写了

# 用 root 身份做如下操作 (高危! 请切记自己在干什么)
sudo -s

cd /sbin
# 将系统自带的挂载程序改名
mv mount_ntfs mount_ntfs_orig
# 新建我们要的挂载脚本并编辑
vim mount_ntfs
#!/bin/sh
/sbin/mount_ntfs_orig -o rw "$@"
# 保存退出后改一下权限
chmod a+x mount_ntfs
# 都搞定了, 退出 root 身份
exit

不过这个方法还有几个小问题要注意

  1. 分区最好有卷标, 默认的 “未命名磁盘” 可能无法挂载. 如遇无法自动挂载可以先在终端下改个名再试
# 获取对应分区的 DiskIdentifier (类似 disk1s1 这样的)
diskutil list
# 分区重命名
diskutil rename disk1s1 newname
  1. 网络上其他方法经常会让把脚本里的挂载参数加上 nobrowse, 这个参数就让挂载的分区不显示成新的移动磁盘, 然后又有一堆方法教怎么在 finder 侧边栏能快速访问这样挂载的 NTFS 分区. 其实 man mount 看明白 -o 参数后面的设定就明白了, 去掉那个画蛇添足的 nobrowse 吧

// 最后这个 nobrowse 的参数, 似乎加上后又是只能在 finder 显示但是不能写, 搜了下也没有合理的解释, 如果不行还是先加回去吧
// 为了方便访问, 可以在 finder 里用 cmd+shift+G 打开跳转, 输 /Volumes 进入所有磁盘目录, 然后在用 cmd+shift+T 将 /Volumes 保存到边栏

驾照换证

六年前在武汉考的驾照今年夏天就该到期换证了, 本来想的刚好夏天回一趟武汉去整下这事, 刚好也去纪念下入学十年, 顺带自驾回家玩一圈

在网上查了下相关的信息: 武汉交管局有效期满换证, 看起来还挺简单. 然后考虑到现在户口档案都不在武汉, 身份证上的地址也不是武汉, 别被抓暂住证, 虽然可能车管所门口一般都有黄牛帮搞, 但是还是确定下好, 于是在 武汉市公安局警务咨询台 又问了下, 说可能要暂住证, 以办理的车管中心答复为准, 又查了下 武汉市交管局交通大队车管中心 各办事点地址, 好像有很多地方都认识的嘛, 那就夏天回去好了

杭州公司办公室旁边就是杭州古墩路车管所, 闲的没事也去问了下外地证能不能迁过来, 当时的答复是去体检, 然后在指定地点免费重考一次科目二科目三, 然后带着身份证暂住证原件复印件和原来的驾驶证就能办了. 听起来好像也不麻烦, 但是重考科目二科目三这个太蛋疼了, 虽说自己实际上手也开了大半年, 但是现在科目二和科目三的考试标准和以前不一样了? 而且开习惯了自己的车, 考试车万一有坑爹状况考挂也忒丢人了吧. 看起来还是回武汉搞算了

但是, 杭州这个城市向来有对大学生各种特殊关照的奇葩传统, 我去十九楼 (杭州最大的本地论坛) 问了下, 人家说如果是杭州户籍, 大学期间在外地考的驾照就能免考转入, 办的时候带上大学毕业证原件复印件就可以 (十九楼原帖), 等会… 这个地方好像还是有哪不对… 杭州户籍… 好吧, 还是断了这念想

过了几天贼心不死的笨狗想着天朝反正各项规定都是以办理处答复为准, 这车管所就在咱旁边, 吃完饭溜个弯就到了, 干脆去装傻问非杭州户籍的能不能转. 在导办台的工作人员表示, 你这个情况有点复杂, 在武汉上学户口又在北京, 我要问问其他人, 旁边一个说你有暂住证么, 有的话就可以. 为了避免过两天土政策又变, 当场笨狗就决定去找个医院体检把这事办了免得夜长梦多, 结果凡事还是急不来, 虽然回家找到了足够的一寸白底彩照, 但是开车回家兴冲冲的居然屁股往墙上刮了一下, 然后骑车去省立同德 (就是去年住院的那家…), 人说每周一到周五上午弄体检, 下午没有. 开百度地图发现同德和古墩路车管所中间还能经过绿城医院, 好歹也是三甲应该也是满足要求, 等我哼哧呼哧骑车到了一问, 人家说我们这没有驾照体检的业务

那就再等一天咯, 早上送完喵上班回来, 骑车去省立同德弄体检, 半路上差点被一电动车撞, 体检项目居然还要有序, 白排了两次队. 弄完体检开车到公司, 然后骑车去车管所, 车管所门口那个坑爹的租车点果然常年满的还不进去, 我骑过去那车又没钥匙还没法锁门口, 等了一会不像有好心人会骑走一辆救我一马的样子, 又把车骑回来再走过去 (早干嘛去了… 还不如直接走的). 拿号排队办业务, 柜台对面的协警表示你这个好奇怪啊, 湖南人在武汉上学考的驾照然后身份证怎么又是北京的地址, 那你户口在哪里? 北京? 那你是在北京工作? 现在不在了? 现在不在户口还能留着的么? 对了你说你是湖南人你怎么证明啊, 这一堆材料上没有一个地址是湖南的. 笨狗表示你可以看我身份证号的, 前面是地区码啊, 43 是湖南没错吧, 而且好像咱们这个业务不用管我是哪里的吧. 后面就很顺利的签个字, 把旧证还回去, 交钱拿证, 杭州签发的十年证到手. 从车管所回来租了自行车又没在离公司最近的租车点还进去, 快走到浙大门口还好车想着走侧门进公司园区, 但是侧门两个入口都封了, 绕了一大圈才从后门进来… 一定是出门没看写了今日不宜骑车的老黄历才这么悲剧

最后来个不啰嗦的简洁版外地驾照迁入杭州办事指南:

自备身份证原件, 身份证双面复印件, 驾照原件, 近期一寸彩照三张 (一张贴体检表, 一张贴申领表, 一张在新驾照上)
— 如果是外地户口还需要杭州暂住证原件复印件
— 如果是大学转入的还需要和驾照核发时期能对应上的毕业证原件复印件

去车管所要一张机动车驾驶人身体条件证明表 (就是体检表), 或自己上网下载打印一份 (杭州交管局官方下载地址), 贴一张照片, 去市级以上医院体检

如果是需要考科目二科目三的情况, 去车管所拿号要一个预约条, 联系考点考试 (这个我没弄过, 详情以车管所答复为准)

材料备齐后车管所导办台拿个综合号, 把所有材料给办理的工作人员, 除原驾驶证的原件被收走, 其他的原件还回来, 复印件留下. 去窗口交费 (10 块), 然后拿着发票等叫号取证, 等几分钟就好了

另: 省立同德医院体检流程

周一到周五早八点到十一点半可以做对应体检, 大门进去导医台背后电梯上六楼体检中心, 跟前台说驾照体检, 会给你一张缴费单, 拿着左转走楼梯下去交钱 (15 块), 拿着缴费单和发票回到六楼体检

按眼科 (色盲), 耳鼻喉科 (听力), 视力 (一个没有贴牌的屋子, 护士给做), 外科 (四肢健全活动正常) 的顺序做, 最后在预约办公室盖章

Windows 7 USB 设备插入后识别过慢的解决

最近给新公司弄了一批客服机, 键鼠或 USB Hub 插上去后要非常久才能用, 看了下是因为在从 Windows Update 找驱动, 而杭州联通连微软服务器延迟高速度慢 (还是最近海底光缆问题?), 这个过程只会慢的让人想死

在公司首席 IT 工程师伞破驴的指导下, 关闭默认找驱动就可以了, 具体步骤如下

1. [计算机] -> (右键) -> [属性]
2. 左侧 [高级系统设置] -> (点击打开) -> 上方 [硬件] 标签
3. [设备安装设置] -> (点击打开) -> 选 [否, 让我选择要执行的操作]
4. 选 第二个 [在我的计算机上找不到驱动程序软件时从 Windows Update 安装] 或 第三个 [从不安装来自 Windows Update 的驱动程序软件] -> [保存更改]

应该其他 Windows 版本也有类似问题, 在遇上中美网络连接出问题的时候也可以改下. 平常改掉也可以让插 U 盘/移动硬盘/鼠标等设备时更快用起来

换位思考

有个很有意思的现象, 就是说不管是怎样的人, 温文儒雅的男生或是温柔知性的女性, 一坐上驾驶位, 立马就会变成悍匪和泼妇, 另一个说法是司机们眼里其他司机只有两种, 比我慢的傻逼和比我快的二逼

我自己开车几个月了, 感觉大部分情况确是如此. 当我们是行人或骑行者时, 经常会抱怨车不让我, 车乱开, 雨天溅人一身水等等, 而在驾驶位上的时候, 经常痛恨的又是那些不按标线和信号灯过马路的非机动车, 随时可能乱冒出来的行人. 其实多去换位思考下, 可能就没那么多问题和纠结. 自己还是尽量做到以下内容, 希望诸位司机和行人共勉

司机角色

多看行车标线, 不随便变道, 特别是去不熟的地方, 提前在导航上做下功课, 提前看好各种路牌, 要变道事先准备, 避免急匆匆变道被人滴甚至被人撞上

不野蛮开快车, 也不开太慢挡住其他人, 高速或快速路上开慢了挡住后面人一是让人烦心, 二是其实反倒不安全, 自己如果慢, 自觉去右侧道, 把左边留给要超车的人

绿灯了赶快起步给后面人拉开空间, 杭州大部分交通灯都有倒计时, 提前挂档准备松离合走人, 节省宝贵的绿灯时间, 提升通行效率

停车时多考虑下经过的车和前后左右别的停着的车, 不要让其他车以非常难受的姿势从你身边擦过去, 另外也考虑下停车位置旁边车经过的速度, 速度快的地方多留点空, 后视镜能叠起来就叠起来给其他人省空间

尽量让行人, 经过时减速, 在路口和公交站附近多留意随意乱穿马路的人, 特别要注意小朋友和女性, 尤其是还在打电话或玩手机的, 切记不要用常规思路去理解还在吵架的情侣 (最后这一条是开车以来唯一一次差点撞上人, 一对吵架的情侣从公交站前非斑马线横穿, 走到一大半又突然折返, 防不胜防)

行人和骑行角色

行人走路边的人行道, 骑车时走非机动车道, 别跟汽车去抢. 骑车如果被逼的走机动车道了, 尽量靠边让车能从你旁边安全经过, 不要非得让车需要擦着你过, 有能转进非机动车道的机会立马转进去, 命比速度重要多了

过马路走斑马线, 看自己的灯, 并留意机动车的绿灯情况, 红绿灯还分左右转等方向性的, 不要随意看到个绿灯就过

多左右看, 保持自己是匀速直线运动, 不要突然冒出来或停下来, 汽车其实没法很快刹住, 而且突然加减速会让车很难受, 司机一般不会喜欢在你面前玩个急刹然后烧胎起步的

不要站路上让车很难受的位置, 比如支路路口的正中间, 让车从你左边或右边过都很不爽, 没事往旁边站一点, 方便他人, 也让自己处于更安全的位置

路上就尽量别低头玩手机了, 打电话也长话短说, 多注意看四周环境, 雨雪天时司机的视野下降很厉害, 自己打着伞也多回头看看, 新交规更保护行人, 但最好也别被用上相关条款, 用上一般都是出事了

饭团性能优化记

缘起

前年冬天在人人时, 为了方便组里一起吃饭的同学们互相算账, 参考以前度厂的饭团设置, 在团队里拉起一个饭团, 然后写了个小系统来记账

设计

一开始的想法是这样的

1. 饭团设置一个团长, 团长管饭团的钱, 出去吃饭时由团长付钱
2. 每顿饭按人均消费额, 扣除参团人的余额
3. 每个人把钱交给团长, 余额不足时由团长催促交钱

所以设计的数据模型是

    人 {
        id,
        姓名
    }
    饭 {
        id,
        付款人,    # 外键, 多对一
        参与人,    # 外键, 多对多
        消费额
    }

吃饭就在饭那个表里加一条记录, 充值也算一顿特殊的饭. 每顿饭后的账面和最终余额按时间遍历所有记录实时算, 这样一是省了记每顿饭后余额的存储开销, 二是避免有历史修改而需要更新余额表一堆数据的麻烦事. 考虑到饭团也就十来个人, 在可预见的未来数据量人最多到百级, 饭撑死也就是千级, 每次遍历的代价应该也不大 (事实上在我写本篇文章的时候, 饭团历史总人数不到 20, 算上充值转账等总共也不到 500 顿饭)

这个余额实时计算的思路和 BitCoin 的余额判断方法也挺像的, 正是因为我写饭团踩了不少坑, 所以我觉得 BitCoin 某些方面还是有很大问题的, 这个回头另外讨论

另外为了统计方便和可追查, 希望记录每顿饭是哪天在哪吃的, 新增和修改数据

    饭 {
        ...
        日期时间,
        店        # 外键, 多对多
    }
    店 {
        id,
        饭店名
    }

后来考虑未来可能有人因为转岗或离职离开饭团而饭团里还有余额需要退款, 新增两个特殊的店来记录充值退款操作, 自此数据模型设计完毕. 最终的 sqlite schema 如下

    CREATE TABLE "ft_people" (
        "id" integer NOT NULL PRIMARY KEY,
        "name" varchar(200) NOT NULL
    );

    CREATE TABLE "ft_deal" (
        "id" integer NOT NULL PRIMARY KEY,
        "restaurant_id" integer NOT NULL REFERENCES "ft_restaurant" ("id"),
        "pay_people_id" integer NOT NULL REFERENCES "ft_people" ("id"),
        "deal_date" datetime NOT NULL,
        "charge" real NOT NULL
    );
    CREATE INDEX "ft_deal_75ae3b0c" ON "ft_deal" ("pay_people_id");
    CREATE INDEX "ft_deal_be4c8f84" ON "ft_deal" ("restaurant_id");

    CREATE TABLE "ft_deal_peoples" (
        "id" integer NOT NULL PRIMARY KEY,
        "deal_id" integer NOT NULL,
        "people_id" integer NOT NULL REFERENCES "ft_people" ("id"),
        UNIQUE ("deal_id", "people_id")
    );
    CREATE INDEX "ft_deal_peoples_1a9336ea" ON "ft_deal_peoples" ("deal_id");
    CREATE INDEX "ft_deal_peoples_3cff102f" ON "ft_deal_peoples" ("people_id");

    CREATE TABLE "ft_restaurant" (
        "id" integer NOT NULL PRIMARY KEY,
        "name" varchar(200) NOT NULL
    );

因为懒得自己去管理数据的写和更新操作, 刚好那段时间看了下 django, 感觉自带 ORM 和 admin 组件的 django 会是开发的好选择, 于是对着 tutorial 学过去后就开工了. 很快写完, 框架用的 django1.5, 数据库用 sqlite, 页面是裸写的 html, 没有任何 javascript, 仅有的一点 css 也硬编码在 html 文件里了

功能和美化

用了一段时间后发现离一开始的设定有一些变化, 比如团长不一定每顿饭都出席, 那需要有另外的人付账, 然后团长又要给付账的人团费, 还不如直接让付账人的钱直接进饭团余额. 这个功能用最初的功能也可以做到, 只是让团费的作用没那么清晰了. 用到后来, 发现其实是不需要有饭团团长这个设定的, 每顿饭谁付钱就算谁的, 反正饭团记录的是每个人的帐户余额, 团费其实就是团长的帐户余额. 需要交团费或互相转账时直接添加一顿转出人付款, 参与人只有收款人的特殊虚拟饭就可以了, 于是又加了个叫转账的虚拟店来记录转账操作, 自此充值和退款两个虚拟店就变得毫无用处了

一开始所有饭团记录都只有一页, 后来应大家的统计需求, 按参与人/付款人/店分别做了个过滤器, 这个实现的很简单, 就是对不符合过滤器的记录, 只计算不输出就行了

当饭团运作了半年多后, 单页的饭团太长, 又将默认页面改成只看最近一个月的, 另外提供了个翻页的按钮和查看全部的选项. 另一个问题是饭团成立时的团员有人转去了其他团队不再一起吃饭, 这些人最近的记录都是空的, 放着一是不好看, 二是人多了页面宽度超过很多人显示器的大小, 于是给人加了一个 “是否活跃” 的属性, 默认不显示那些不活跃的人

前不久回头去看饭团的前端, 觉得虽然算不上丑死人, 但是也没好看到哪去, 刚好就用 bootstrap 套了下, 并把各种过滤器提供表单输入的功能弄成一个查询表单. 本打算把表单直接塞导航栏, 结果发现 bootstrap 原生的 select 什么的真心太丑, 放导航栏严重破坏美感, 后来找了个 bootstrap-select 的插件来支持, 这个就很赞了

用上 bootstrap 时一嫌自己管理 css/js 麻烦, 二怕又扯上被人盗用跑流量的狗血, 直接用了国内大公司的 cdn 内容. 后来用 bootstrap-select 时, 发现国外的 cdn 太慢, 国内又没找到靠谱的, 就只能在自己项目里拷贝了一份, 结果测试环境都 OK, 在线上的 fastcgi 环境里总显示有问题, 提示找不到文件, 怒了在 nginx 里对自己的 static 文件夹又加了一条 alias 才行. 后来想这么弱智的事情不会是 django 的问题, 就去找官方文档, 在 https://docs.djangoproject.com/en/dev/howto/static-files/ 里来回看了几次才发现最后有一段关于怎么 Deployment 的, 原来还要收集一次, 也还是要加 static alias 的嘛, 只是解决了为什么之前要给 static/admin 单加一条的问题. 从这个角度来说, django 还是略复杂蛋疼, flask 就简单的多, 完全交给你自己去弄, 而且 templates 和 static 都汇集放好管理, 或许 django 是为了给每个 app 单独的分发权?

性能优化

饭团弄好后先是架在了公司我跑 Ubuntu Server 的台式机上, 直接就用 runserver 的模式跑的. 后来因为台式机偶尔会掉电, 饭团没设开机自动启动, 偶尔也会忘了开, 加上内网 IP 不一定固定, 用起来还是有点小烦, 于是迁移到我的 VPS 上

我贪便宜 15$/yr 买的 buyvm VPS, 内存只有 128M, 之前曾经写过一篇各种压榨内存的优化记录, 饭团丢上去就发现这货居然还是内存大户, 搜了下改成用 flup 以 fastcgi 的模式跑, 并把实例压到只有一个, 反正访问也不频繁, 不用处理啥并发. 用了小半年后觉得偶尔有点卡, 不过一直认为是 buyvm 的机器烂加上服务器在美国多半是网络延迟, 就没再管他

等到去年冬天的时候, 发现这慢的已经完全不成样子了, 而且有报页面超过返回大小, 将默认页面改成只看最近一个月这也是个主要原因, 当时还以为是网络的问题导致卡 (我那个 vps 走联通线路只有不到 50KB/s 的速度)

今年过完年, 在想在新团队是不是也能搭个这货玩, 把之前的数据拷贝到本地去测试了下各项功能, 发现打开首页需要接近 10 秒, 这都是本地了, 不能再赖网络, 于是加各种 Debug 信息去看到底慢到哪里. 实时的余额计算流程大概是这样

    遍历所有饭:
        获取饭的信息, 包括关联的餐厅和付款人等
        遍历所有人
            判断是否参加了本顿饭, 如果没有
                直接沿用上条记录
            如果有
                判断是否是付款人, 如果是
                    增加本顿饭总额扣掉自己那份的进余额
                如果不是
                    从余额里扣掉本顿饭钱
        添加输出信息

这里面的参团判断是用 O(n^2) 遍历实现的, 一开始就十来个人, 就算是平方复杂度也能慢到哪里去, 结果一堆 debug 信息放下去那个地方还真是特别慢. 仔细想了下估计是那个遍历所有人做判断的地方, 每次都新做了一次 SQL 查询, 好吧, 把判断用的表先遍历一次提出来做个 dict, 果然快了一些. 经过这步后耗时从 10s 降到 1s, 感觉再快也快不过跨太平洋的网络耗时, 就没再继续压榨性能

上一个改动做完没几天笨狗折腾了个 digitalocean 的 VPS 玩, 这个延迟又低速度又快, 于是有想着对那个 1s 的性能做优化, 按说这么点数据要 0.1 秒都不正常. 继续琢磨, 猜是每次取一顿饭, 都做了若干次 SQL 查询去取外键数据, 于是把人和餐厅的数据都预先提取出来构建 dict, 然后查询的时候使用就好, 这样又能快一点. 再回头去看那个多出来的辅助表, 猜是那个表每遍历一顿饭又去做了一次查询, 干脆自己把 view 里的查询都裸写, 每次页面请求都把四个表数据都 select * 出来, 然后自己去拼, 反正数据也不复杂, 这样一次页面请求只用四次 SQL 查询, 果然速度就降到了 0.01s 内. 因为数据量不大, 对内存压力也几乎没有, 而且 digitalocean 的内存有 512M, 也不用那么抠内存

问题感想

我中间曾经想要不要换 flask 重写一次, 自己管数据库, 后来找到性能瓶颈后还是留在了 django 那, 能用就懒得去动, 而且自己写个 admin 还是略麻烦

跟熊吐槽 django 的 ORM 怎么这么烂, 深度插件控的熊表示你这个一定有合适插件来帮你干这事而不是靠自己裸写 SQL 的, 不过笨狗表示有找插件和配置的时间, 我裸写的东西早搞完了. 果然笨狗还是又笨又懒, 还好目前看也还没太多篓子

对了, 饭团的 github 开源地址在: https://github.com/whusnoopy/fantuan, 欢迎 fork 帮忙优化

最后挂个 DigitalOcean 的邀请链接: https://www.digitalocean.com/?refcode=8a3c1464993e 如果你通过这个注册并付款, 我会有返点支持我继续用 DO

Life is Cool

前几天赫然发现二月整个月都没写东西… 好吧, 先随便唠叨点给补上. 偶尔推荐下音乐也挺好的: Sweetbox – Life is Cool

0x00 感觉过年后回杭州就没几天晴天, 一直在下雪下雨, 不过最近还好只是春雨细斜
0x01 有时候回去晚点或者不赶巧还是会把车停外面, 反正都要早起挪车, 不如顺便把喵送去上班
0x02 上下班的点和周末跑上塘中河高架完全就是找虐, 还不如走地面
0x03 按说从市区出来走高架是挺快的, 但是德胜高架文一路的下口基本上没个十分钟是下不来的
0x04 加上德胜转盘早上东往南大排队, 南往西要穿过前面那条队, 算起来高架上光堵就要一刻钟到半个小时
0x05 还有一次在堵在下匝道的时候听广播说有司机开着奥迪在匝道上睡着了, 说前晚跟朋友聊太晚困的不行
0x06 上面那个事据说最后旁边司机过去敲门都没敲醒, 过了十分钟交警来了才给弄醒
0x07 喵这个月转去麻醉科要早到, 贼心不改六点半上高架奔市区, 发现还是堵的一塌糊涂
0x08 受堵车加每天回家找车位要兜几圈影响, 另外每天上班距离不长车都没热开就到了, 这箱油开的太费了
0x09 昨天加完油回来一算, 前面这箱油开到了百公里 9 升油耗, 每公里油钱都快七毛了
0x0a 登云路上那个中石化加油站靠东南的自助加油机 93 号油的卡槽有问题, 每次都不认我的卡
0x0b 早上上班顺路过去时加油站在卸油, 我遇上这事的概率是不是太大了点
0x0c 新办公室装修基本搞完了, 家具大部分进去了, 昨天带公司人都去看了下, 大家表示味道能接受
0x0d 整个过程都是被各种拖延, 看来预计工期过于乐观这事也不是程序猿特有的问题嘛
0x0e 桌子和柜子被拖了一天, 到了后发现桌子下的小柜子比我要求的小太多了, 跟老板说好重做另送一次吧
0x0f 椅子倒是比预计的还早了一天到, 只是第一批椅子 EMS 小哥被隔壁楼物业坑的不行从上午拖到下午
0x10 被坑的小哥只是在地下车库拖着包裹走把地板油漆划了点不仔细看都看不到的印子而已
0x11 然后被要求赔一千块, 我和一起愉快的过去收货的熊到现场看了下表示尼玛隔壁楼物业就是神经病
0x12 但是这事我们也不好掺和, 只能默默的去吃饭然后看事情没有解决的迹象就又回去了
0x13 后面其实就没啥好说的了, 这个椅子装的时候还是要费点小劲的, 坐过的人都说好
0x14 当然好了, 一千多块呢, 有些小细节不够完美跟厂商反馈时人家表示再贵点的椅子就没这个问题了
0x15 好吧果然还是一分钱一分货, 要真忽悠群主买他家三千多的椅子这种事我还是开不了口, 而且没必要
0x16 新办公室的楼里只有联通的光缆, 一众表示南方只有电信靠谱的人同觉得大厦物业真黑
0x17 联通奇葩放光纤的模式我完全看不懂, 反正我是不能理解为什么我们办公室就有三层光交换设备
0x18 联通更奇葩的是办事效率, 上周五过来调了一次设备, 然后拖到今天才有人来办开通
0x19 联通最奇葩的是为什么开通宽带和电话这种小事要派三个人来, 为了表示对我们的重视么?
0x1a 但是你们三个人只有一个在干活, 另一个在围观卖萌, 还有个在跑腿拎包这算什么事
0x1b 最最重要的, 你们都来了三个人了, 最后跟我说上面弄错设备号了暂时还是没法用这又是闹哪样
0x1c 默默自己去吃吉祥馄饨, 吃到一半的时候背后有人问店员要吸管, 心想这边不卖喝的你要吸管做咩
0x1d 那哥们说我要吸管喝汤, 我擦这是怎样的矫情喝汤有勺子你不用, 而且热饮烫口不能用吸管吧
0x1e 等我走的时候特意看了下要吸管的居然还是个中年大叔, 估计店员当时一脸的黑线比我密多了
0x1f 最近交警叔叔们似乎各种勤快, 不管是早高峰站路口指挥的, 还是早高峰站路口抓限行的
0x20 连抓违停都勤快了好多, 昨天给新办公室去买锁路上就碰上抄牌的, 吓得赶紧先开走再找锁店
0x21 另外我去年十月被城管贴的违停条终于在交警系统也能查到了, 到底什么时候去交呢
0x22 周末小区门口买水果时遇到城管拍照门口垃圾乱放, 我以为要开条了结果城管大叔进去拿扫把给帮扫了
0x23 罚款不是目的, 大家把问题解决这样才好嘛, 这么想我那次应该去找下应该还在附近的城管的
0x24 最近折腾装修的时间更多, 正事都没怎么干, 貌似我把后台接口写完就放那了
0x25 迁 VPS 的时候还发现之前的饭团性能差的不行, 一次查询居然要快十秒才出结果
0x26 看了下对自己一年多前写的 django 已经不能理解了, 抽空改 Flask 实现吧
0x27 数据模型自己管 sqlite 好了, 反正也不是多复杂的数据结构
0x28 管理后台也自己写好了, 同样反正功能很简单, 也没啥安全需求, 就算被黑找每日备份恢复下就行

年前

本文内容甚杂, 纯碎碎念

上一次回家这么早还是读研那年, 故意坐了 36 个小时的临客硬卧慢悠悠从北京晃回去, 反正一不赶时间, 二这车有空调人还少票价还便宜, 三可以看看没走过的几条铁路线. 今年坐上全列卧铺的 T77, 发现硬卧车厢怎么跟超员 20% 的硬座没任何区别, 到处是人, 还一堆各种小朋友. 上车后还 YY 可以一路正点甚至在新的衡柳线提前到, 结果半夜醒来发现停了, 开手机地图看了下马上到株洲, 开死猫君的余票查时刻表未遂, 换 12306 手机端也不提供时刻表, 最后只能开的去哪儿客户端, 这都什么事, 看了时刻表发现还是早点, 很好. 结果这车就趴那俩小时没动过, 期间隔壁包厢的小朋友起床了后就再没睡过, 连带笨狗也一直没睡. 进株洲晚点俩小时, 换向, 机车换挂, 搞清楚又比站台上给的发车时间晚了快一刻钟才走. 在衡阳似乎又换挂了一次? 没查机车交路不清楚了, 也可能到永州才换的宁局柳段的 D3C. 最后下车十点多, 比预计晚俩小时

社会主义新农村把家里各种路都修的不错, 然后勤劳致富的家乡人民过年都把外地的车开了回来, 街上也各种占道摆摊违章停车杵马路中间跟人聊天, 家里小镇上那条不到一公里的路现在开车比走路慢多了, 于是我下了火车在汽车站又等了一刻钟因路上各种市集被堵姗姗来迟的班车

到家看了下老妈念叨了多年的把家里进门那个凹处重新盖上去的工程, 修好后确实宽敞明亮不少, 另外感慨下现在人工确实贵了, 盖房子的小工两百四一天, 这还只是小工, 老妈继续絮叨说以前不搞, 现在搞多花了好多钱, 材料人工都贵了

吃过饭再看到老爸窝被子里看 iPad 的土法黑科技, 在床头支俩木棍出来, 把 iPad 平放在上面屏幕朝下, 这样就躺着看就好了

站阳台看屋后面小学里停了一溜崭新的东风产校车打算年后开始用, 看起来确实挺像那么回事的. 现在小朋友们上学是一辆小面包塞几十个人, 以后如果不让超载, 一是车不够大点的孩子还是只能自己去乘普通班车, 二是家长们想的都是这要贵好多钱啊, 好吧, 只能说人民群众目前还在温饱思维上, 钱不是万能的但没有钱是万万不能的

回家第二天值客服班, 为什么第一次独立值班就是过年周围还没个人能现场指导, 虽然之前有做过但还是各种手忙脚乱, 熊后来在吃饭路上跟我打趣说看你在群里问的又像被打回原形啊, 啊啊啊我怎么知道啊, 不都是过年了么怎么还这么多人啊, 而且为什么越是过年奇葩越多, 平时都没这么多这样的好吧. 不过回头来看下主要还是三种人: 1) 过完年我这店不开啦, 你们退我钱; 2) 过年后新开店, 现在先研究下, 你们这玩意儿要钱么, 好用么? 能涨销量么? 3) 这玩意儿怎么用? 你不要跟我发教程啦你来教我好不好. 第一种没啥好说的, 联系有退钱权限的给退, 如果人不多再顺便问下咱们这东西还有啥不好用的地方没; 第二种要遇上那些勤奋好学的就坑大发了, 特别是这些人多半还兼有第三种属性, 不过也好刚好让自己也对咱们产品深入了解下, 我自己都没怎么用过怎么好意思去忽悠别人

然后回去外婆家, 外婆年纪大了身体一年不如一年, 见我回去也还高兴的紧, 只是被问说怎么还不带姑娘回去给她看, 这事就呵呵了我们还是聊点别的吧. 回家前大表妹就说她电脑慢的不行让推荐台新的, 我说如果只是慢整理下应该就还好, 但是回去后才知道原来这笔记本不只是慢, 还坏了不少东西, 比如我回外婆家那天她出去聚同学了, 我跟小表妹死活都没能把她那个笔记本的开机键给成功按开过, 这电脑真心没法修…

说到修电脑, 回家带了块 SSD 给老爸换上, 不过还是被老爸吐槽说这个笔记本我平时都用的少, 我还在用你本科时那台机器, 丢单位不怕被偷. 我从北京走时邮回去的台式机也没见用, 可惜了那个还不错的显示器, 我各种苦口婆心说现在的液晶显示器比之前的 CRT 要好, 最后我爸还是用一句我平时都呆单位, 液晶放那边怕别人搞坏也怕丢给呛没气. 在给硬盘导数据时还发现带回去的台式机内存少了一半, 开机箱看怎么有根内存像插反了也没插牢? 再折腾了下发现那根内存似乎彻底嗝屁了, 只要那根内存在主板上, 开机连响都没有就直接无限循环自动重启, 哎哟我去我还特意给这台 8G 内存的机器装的 64 位 Win7 来着

在自家最后一晚听楼下就这么点地方都过年了居然还跳广场舞, 另外跟做广播体操一样每一段开始要有个男声喊一句 “某某运动, 预备~ 起~” 是个什么情况, 各种农业重金属配上节奏鼓点我在楼上都不自觉的想跟着拍子抖腿取暖

既然早回来了, 就早点上县城爷爷奶奶这来呆着, 小叔搬走了这房子说起来就算我们家的了, 也拾掇拾掇好过年. 来的路上老爸叫看衡柳新线上的新站, 我站一路明显是看不到的, 算了回头还是从哪个叔那搞辆车自己开过去看看才好. 陪老妈去逛超市, 各种人多各种卖光各种跟不要钱一样, 街上各种大喇叭没有温州黄鹤王八蛋不幸福啊. 在超市里我只是帮拎东西都快因人多缺氧了我妈还意犹未尽, 我就真心对女性们坐车就晕或就睡, 而商场里怎么缺氧还精神百倍的能力表示无比佩服, 老天啊你这都什么神设定

俩堂妹放假了都没来爷爷奶奶这, 我回家前就听奶奶念叨, 等我回了果断把这俩喊过来热闹下. 我们要不回去, 家里就一条土狗陪着二老也忒无聊了, 而且这狗用我小堂妹的话说还各种不管事, 又怕人, 没事就藏窝里呆着, 真怂. 下午看大堂妹去陪人练球, 然后跟小堂妹一起去二爷爷家小姑新家看了下, 一路走过去估计得有六七里路? 就一小县城而已现在有没有搞这么大啊, 公交车终点还郊的小区里房子居然都卖完了, 但是看入住率撑死三成, 很多都还是毛坯, 房价到底是崩盘还是继续发酵, 这事真是见仁见智

之前过道口从来没发现老湘桂线有这么忙碌, 这一次来回都碰上道口封闭, 回的时候刚好还看到 DF4DK 花老虎拉着昆明到上海南的上行 K182 呼啸而过, 一开始想不是说县城的客运火车都移新站上去了么, 后来转念想这车又不停我们这, 走老线也正常, 到永州换挂电车跑新线就好

之前整的仨天猫魔盒, 带回来放爷爷奶奶这一个, 给叔们一家一个, 看了下用无线放高清直播还是略卡, 估计还得上有线, 或把无线路由的位置优化下, 就现在电视那个位置两三格信号还经常不稳定的真心没法看, 另外 2012 年中买的电视居然只有一个 HDMI 口, 被电信的盒子占走后就没法插别的了, 果然时代进步远超二逼外观设计师们的思路开阔度

回家第一次睡了自然醒, 中间被老妈叫吃早饭应了一声结果又睡着了, 然后因被子太冷外面更冷不如继续窝被子里给睡到中午. 把下了小半年的柯南剧场版 M17 看完, 如大部分评论说的, 特效越来越多, 剧情越来越没有扣人心弦的感觉, 只是变习惯了每年还是到点去下了看, 这一集里哀的出场份额也太少了吧, 而且片尾曲后那一段居然没有兰这个必须给差评啊

不知道是不是今年的习惯, 看到处都有大口鲢, 小叔弄来条半米多的放一大号整理箱里居然都伸不直, 本想丢小池塘里, 爷爷说不行, 这货要下去了池塘里其他鱼估计就都没了. 看隔壁县朋友发的他们超市门口居然还有卖人工饲养的鳄鱼… 鳄鱼… 这货好吃么, 我只能想到鳄鱼皮似乎还不错, 相比较我们这只是卖人工饲养的野猪简直弱爆了

大年三十, 好像都没啥事, 温度也上来, 屋后各种鸟都开始叫了. 昨晚群里咋呼微信发红包, 散一点大家乐呵乐呵, 据说今晚还有?

举手之劳, 顺势而为

凑个热闹, 点评下微信送红包收获这么多绑定的银行卡, 手段远好过支付宝的事

在我看来, 二马最大的不同, 一个是在努力创造需求, 一个只是在帮人解决已有需求. 无论是双十一, 还是双十二, 抑或是现在全员 all in 在推的来往或淘宝无线客户端的航母版, 无处不是在努力的创造需求设定目标让大家去做某件事情, 去玩游戏抢红包制造日均活跃用户, 去刻意制造一个购物狂欢节, 去画饼描绘用户需要的各项功能然后去提前实现结果发现没市场又要努力推, 最后搞的自己人全员神经衰弱, 局外人凑过热闹后就再无兴趣. 反观微信, 极少有在刻意推自己的新功能, 更多的时候使用过程都感觉是这个功能我需要, 而微信恰好有, 一些放到别的产品本该大力推的特性微信反倒一直在打压, 比如功能明显受限的朋友圈, 入口还藏那么深

从知乎 微信红包的产品经理是谁 这个回答上看, 这似乎是微信无足轻重的一着棋, 但真的要让这个功能能用, 财付通后面应该也是做了很久的蓄力, 不然银行卡不可能可以被绑上. 腾讯推什么似乎都不会那么刻意, 但又感觉排山倒海势不可挡, 这种企业太可怕了. 相比较另一边总各种咋呼, 让员工鸡飞狗跳诚惶诚恐, 路人被吸引眼球围观下然后就走掉, 虽说媒体效果非常棒, 但最终收获和世人口碑未必能有多好

之前听淘宝支付宝余额宝的故事感觉都挺好的, 都是先有需求, 再有产品, 或两者在同步前行. 现在不知道是盘子大了人多了要找事, 还是只是为了上市在酝酿故事, 某厂各种揠苗助长急于求成, 当然可能换个思路是未雨绸缪, 可能只是我多心. 笨狗提醒下注意人心向背, 不然可能要坏大事, 反正我是跑了做别的去了, 帮人发财就能自己发财