Talk is cheap

Show me the code

拿回已经被抢注的 GitHub 用户名

2018-04-18 19:33

ID 跟别人重复是一件非常尴尬的事情。尤其是当你想出一个自认为“绝妙”的 ID ,然而却被别人捷足先登的时候。但 GitHub 的 Name Squatting Policy 允许 inactive 的用户名被收回,然后重新被注册。

几年注册 GitHub 的时候,发现 @rocka 这个用户名被注册了,虽然很失望,但是也只能放弃这个念想。再仔细看一下那个用户的主页,虽然注册时间很早(2011 年),但是没有一个 Commit 、 Repository ,甚至连一个 Following 都没有。

rocka's previous owner

- MORE -

今天天气很好,但我心情很糟

2018-03-30 18:05

今天是周五,没有体测训练,而且周末也要来了,本来可以是一个很慵懒放松的日子。至少在接到母亲的电话之前,我是这么想的。

在这停顿

- MORE -

本学期第三周的周三,我在想些什么

2018-03-21 23:31

时间总是在不在意的时候飞速的流逝,摸鱼两个星期之后,第三周也快过去一半了。

今天早上起得特别早,急匆匆吃过早饭,赶着上了本学期第一次课。这可能是本学期第一次吃早饭吧,过得真失败。

实验室的同学们纷纷找到了实习岗位,而我从 3 月 5 号第一次电话面试之后就再也没了下文。简历投了阿里前端,可能有些不自量力了。“如果这次不过我就去考研”,一开始是这么想的。虽然现在还处于 “面试中” 的流程,但多半是凉了吧。等结果出来,也许会写一篇 “月饼厂 2018 实习生面试经历” 之类的文章吧。

上星期又拾起了 ElectronNCM 这个项目,已经是 一年前 的大坑了呢。虽然有断断续续在维护,但当时的架构设计真的很差,好多地方牵一发而动全身。那时还不会用 Webpack ,写了好多代码,但打包之后运行不起来,于是到处查找文档和资料,硬是折腾了一个星期。这也是我第一次用上 CI ,还写了一个 发布页面 用来下载打包好的文件,不过这些都是后话了。现在拾起来,又萌生了重构的想法,架构一定要合理,还要有代码提示。于是选择了 TypeScript + Inferno.js ,然后又开始折腾 Webpack 。过几天也许会写一篇关于 Electron 应用打包方式的吐槽吧,或者是 Webpack 使用的经验 踩坑 之谈?这样想着。

说到考研,其实心里是有那么一丝抗拒的。在大学里也没用好好学数学,还以为终于能逃离数学了,然而如果没有坚实的数学技术,恐怕只能做一个蹩脚的 API Caller 。我还年轻,还没谈过恋爱, 不要成为社畜啊…………

- MORE -

一次意外的 rm -rf

2018-02-10 14:42

本事件发生于 2018 年 1 月 9 日 晚 22:27:41

我最喜欢的 Interactive Shell 是 Fish 。Fish 有个特性是自动补全命令以及目录。当你在 Fish 中输入 ~ 这个字符,按下 Tab 键,就会列出一系列系统中已存在用户的 home 目录来供你选择。

Home 目录补全

- MORE -

突然的归家(下)

2017-12-10 23:58

火车大概走到一半的时候,父亲突然在微信上给我发消息:“到哪里了?”我有些诧异,因为母亲说过让我不要告诉父亲我回去的事情,想必是她自己说了吧。我便如是回答到了哪个站。接着父亲又说,“你姑姑会去接你”。我虽然有些奇怪,因为以前总是父亲来车站接我的,但也没问下去。 在出站口迎接我的,是表弟。“这么快就出来了。”他漫不经心地说着,同时带着我向前走。山东的天气还是有些冷的,但由于没有刮风,感觉甚至比杭州要暖和一些。尽管如此,我还是把手连同衣袖一起塞在外套口袋里面,并把外套的拉链拉到了最高的位置。

坐上姑父的车,一行几人便开始寒暄起来。无非是关于冷不冷啊,上课忙不忙啊,什么时候实习毕业之类的问题。我算是认真地回答了一下,但心里还是期待着回家。很快到了我家楼下,姑父、姑姑以及表弟一起上了楼。

开门的是我父亲,看起来精神状态还不错,只是声音很沙哑。父亲见到我,心中的喜悦都洋溢在脸上,赶紧叫我们进来坐下,并交代母亲准备饭菜。这时候已经大概是 20 时了,姑姑一家早已经吃过饭,便在客厅与父亲交谈,我则在厨房吃饭。晚饭是烧饼,加上西红柿炒鸡蛋以及菜花炒肉。十几分钟后,我吃完了饭,姑姑一家也差不多要离开了。

回到客厅,这才开始好好地看看父亲的样子。父亲看起来没什么异样,只是脚下放着一个痰盂,时不时就要往里面吐些什么。我稍微问了一下,只是简单地答道,“是咽炎。”“既然是这样,那就少说些话吧”,我说道。父亲又问到回程车票的问题,我其实还没买。既然没什么大事,不如星期日下午回去,星期一还能赶得上上课。这么商量着,就买好了回程的车票,顺便用掉了本年度第二次学生优惠购票机会。

因为实在是有些累,又聊了一会,我就去洗澡睡觉了。感觉没什么特别的,父亲好像只是得了点小毛病,没什么大不了的吧。至于为什么要叫我回来,母亲说,父亲一开始想让你元旦的时候回来,但你觉得不合适没有同意,父亲也尊重你的安排。但我看他实在是想你了,就把你叫回来,直到火车快到站时才跟父亲说的。感觉,也没什么大事,就当放假回家看看嘛。毕竟,在我上大学以后,除了寒假暑假,就没有回过家。

- MORE -

突然的归家(上)

2017-12-08 16:08

12 月初的时候,准确地说是 12 月 1 日那天晚上,突然感觉自己似乎很久没有给父母打过电话了。但当时已经是晚上 11 点半了,微信视频通话过去,爸妈都回复说已经睡觉了,可以明天再聊。于是第二天通了电话,但也只有短短的 6 分钟而已。感觉父亲的状态不是很好,嗓子很沙哑。但当时也没在意,因为学期初接的老师的一个巨坑无比的项目刚刚结束第一阶段的开发,实在挺累的,想要好好休息一下。电话中爸妈的意思是想让我元旦回家一趟,但我说 “反正就要期末考试了” ,想着考完试直接回家过年。况且元旦顶多放三天假,坐火车的路上就得浪费一天,实在不划算。

过来几天,在 12 月 5 号下午上课的时候,父亲突然在微信上给我发消息,让我元旦的时候买张票回家。但此时期末考试的安排已经出来了,大概 1 月 25 号就可以结束,于是我再一次推掉了。

我本来以为这件事就这么过去了,但在 12 月 6 号晚上上课前,母亲少见的给我打了电话。她执意要我回去,并说 “你爸爸病了,挺想你的,回来一趟吧” 。听到这个,我感觉有些诧异,也就同意了回家一趟。同时母亲还说,买票的事就不要给父亲说了,告诉她到站的时间,会来接我。但以前回家都是父亲来接我的,难不成…细思恐极。

于是下课回到寝室后,就订了星期五下午回家的车票。第二天是星期四,一整天上课。星期五早上想着去找辅导员请假,无奈他不在。没办法,再不去车站就要赶不上火车了,只能出发了。

阳光下的图书馆

- MORE -

XPS 13 9350 更换 Intel 8260 AC 无线网卡

2017-11-28 23:39

Dell XPS 开发者版与普通版最大的区别大概就是无线网卡了。开发者版是 Linux 友好的 Intel 网卡,而其他的版本一般是 Dell 自己的网卡,在我看来就是 Broadcom 网卡的马甲。据说 Broadcom 的网卡对黑苹果很友好,然而我又不用 ... 但最近在更新 linux-lts 内核的时候,却出现了很大的问题。

在上个星期更新内核到 linux-lts-4.9.62-1 时,出现了网卡不可用的情况。给出的报错信息为

# journalctl
11月 20 14:43:34 quad kernel: brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
11月 20 14:43:34 quad kernel: brcmfmac: brcmf_cfg80211_add_iface: add iface p2p-dev-wlp58s0 type 10 failed: err=-16

# dmesg
[    4.061743] usbcore: registered new interface driver brcmfmac
[    4.061803] brcmfmac 0000:3a:00.0: enabling device (0000 -> 0002)
[    4.184308] brcmfmac 0000:3a:00.0: Direct firmware load for brcm/brcmfmac4350-pcie.txt failed with error -2
[    4.645165] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 22 2015 06:16:26 version 7.35.180.119 (r594535) FWID 01-e791c176
[    4.660415] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[    4.681113] brcmfmac 0000:3a:00.0 wlp58s0: renamed from wlan0
[    6.054543] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[    6.054549] brcmfmac: brcmf_cfg80211_add_iface: add iface p2p-dev-wlp58s0 type 10 failed: err=-16

Google 了好半天,没有发现什么有用的信息,于是滚回 mainline 内核看看。结果一切正常 ...

但我就是要用 LTS 内核,这个 Broadcom 网卡已经让我不爽很久了!于是某宝买了个网卡,就有了下面的故事。

拆机

根据 这个教程 ,拆掉后盖的 8 个螺丝,掀开后盖,就可以直接换网卡了。不过后盖的螺丝是 * 型的,最好提前准备一下。

- MORE -

微信开发者工具 在 Linux 中的使用与吐槽

2017-08-31 11:32

听说微信开发者工具更新了,啊不,不是听说,其实是在某挨踢之家看到的 一篇文章 ,出于好奇,就进去看了一下。发现下载页面只提供了 Win32/64 以及 macOS 的下载。真抠门啊,不给个 Linux 版的。我猜这个“开发者工具”是用 Electron 驱动的,于是下载了一个 macOS 版的准备看看。

下载下来是个 dmg ,可以用 7z x file.dmg 直接解包。这是解包之后的目录结构:

微信web开发者工具
├── Applications
├── .background
│   └── dmg-background.tiff
├── .DS_Store
├── [HFS+ Private Data]
├── .HFS+ Private Directory Data\015
├── .VolumeIcon.icns
└── wechatwebdevtools.app
    └── Contents
        ├── _CodeSignature
        ├── Info.plist
        ├── MacOS
        ├── PkgInfo
        ├── Resources
        └── Versions

打开 wechatwebdevtools.app/Contents/Resources ,里面出现了 app.nw 这个文件夹,原来用的是 nw.js 。继续进入,果然有 node_modules 以及 package.json 。然后进入 node_modules 看一下,发现了 reactreact-domreact-redux ........ 以及一大堆的 babel 插件。从 stage-0stage-3babel-registerbabel-minify 一应俱全。在打包的时候就不能把这些 devDeps 给删掉吗???

暂停一下,继续来看看能不能运行。

AUR 里面装一个 nwjs-bin 就行了。然后 cd 到 app.nw 运行

- MORE -

Arch Linux & KDE Plasma 配置笔记

2017-06-23 14:11

换了新电脑之后,便入了 Arch Linux 的深坑。一开始是三天两头换桌面环境,还尝试使用 Unity for Arch ,最后还是停在了 KDE Plasma 。因为听说(真的是道听途说) f2fs 对固态硬盘很友好,便尝试在根文件系统上使用 f2fs 。但没有比较,也感觉不出来系统有多快,反而遇到很多坑 ... 装系统和日常使用的时候都有。比如系统启动的时候突然闪出一个 [FAILED] ,关机的时候半天关不掉(这里似乎忘了提示信息是什么了,反正是一个 1min 30s 的正计时,但时间到了以后又会顺延 1min 30s ,有时能到二十几分钟 ... ),Chrome 三天两头提示个人配置文件已损坏,但重启电脑又接着恢复 ... 等一系列坑爹的问题。一忍再忍,终于忍无可忍,但这时候就要期末考试了,所以只能继续忍下去。现在期末考试终于结束了,可以愉快的重装系统了!

首先是备份,直接把 /home 打成 tar 包复制到固态最后面一块刚划出来的分区里面备用。然后进入 LiveCD ,把 f2fs 分区干掉,换成 ext4 。这里又想吐槽一次了,f2fs 居然不支持分区移动和收缩,要拓展分区只能用 resize.f2fsparted 也是拿他没什么办法。

arch-chroot 分割线

先安装基本的软件包,当然少不了 fish shell 了!

pacman -S sudo fish git vim zsh nodejs npm shadowsocks-libev proxychains

在 Arch Wiki 的 KDE 安装环节,只提到了安装 kde-applications 软件包组或 kde-applications-meta 包。但这样会搞出很多没用的包,比如各种游戏,莫名奇妙的化学工具,“KDE 元素周期表”等等 ... 需要酌情做一些精简。

- MORE -