握着你的手教你画哀女王

炎炎夏日来到,去年的Tee不够潮了有木有,定制Tee的话,丝网印数量不够,热转印效果不好,于是决定手绘!

去万能的淘宝搜一下「纺织颜料」即可,不需要用丙烯,亲测,这种颜料是不会轻易掉色的。

于是我们来画个哀女王。

第0步

设计一下样式,用inkscape画了个。

接下来我们开始画Tee。

R.I.P Google Reader

大约一个月前转向inoreader了,所以最近30天的阅读量很少。

感谢Google Reader陪我走过的这四年,也就是我完全使用Linux的四年。没记错的话是被 @icaker 同学带入的这个圈子,Linux, Google, Mailing List, Twitter, etc.

嘛,过几天 @icaker 也要去另一个城市鸟。

略伤感了,再见Goole Reader,再见青春。

时代和我,总有一个错了

似乎Feedly是GR关闭最大的受益者?也许吧,不过在很早之前我就使用过Feedly,GR被判死刑时我也试图转向Feedly,然而真的很不能习惯。

与GR的「不清空不舒服斯基」不同,Feedly更像本排版精美,图文并茂的电子杂志,真的很清新很漂亮。但是我不喜欢。

不论是Feedly还是Flipboard,都是希望给予用户一份轻松愉快的阅读体验。他们很注重移动端的开发,让用户在地铁上、公交上、睡觉前等等零散时间里,能轻松快速的看看新闻,读读趣事。

然而我不是这样用Google Reader的,我也不是这样看书的。

我从来不在手机上使用Google Reader或者Pocket之类的工具,资讯类Feed在我的订阅中只占了大概1/4,剩下基本是需要冷静阅读的严肃文章,或者需要被好好整理收藏方便以后查阅的工具类文章。显然,那种零碎时间放松心情、打发时间、读完就扔的快餐应用根本不能满足我的需求。

时代和我,总有一个错了。

所谓的「移动互联网」时代,大把大把的应用都在碎片化,都在占用掉零碎的时间。当然这没什么错的,用Twitter发表那些碎碎念,调戏推友跟推友交流感情什么的自然是我这种社交不能者保持人类属性的良好途径。刷刷flipboard看看世界上都发生什么,看完忘了也无所谓,放松身心打发时间罢了。

然而严肃的应用却在一点点的从市场中消失,例如Kindle DX再也没有新的版本,6存的小屏幕用来看技术书实在是一行长一点的代码都放不下;写Blog的人越来越少,那些能沉淀下来的思想纷纷化作了twitter和微薄上的碎碎年,随着时间流逝再也不会出现在Timeline里。

最近想让用了5年的laptop退役,我的需求很简单,轻薄、不要独显、续航久一些,键盘手感能好的话就更好了。一番搜索之后,竟发现整个PC Laptop市场,满足轻薄要求的全是触摸屏!

天啊,Laptop要触摸屏搞毛啊!不支持压感你触摸个毛啊!还尼玛「变形笔记本」难看的要死啊!我要买的是Laptop不是Pad啊!!我要Pad我直接就去买Pad了啊我买你妹的Laptop啊!!!

我就是想要个工作用的Laptop而已啊!你妹的Thinkpad连Trackpoint都不要了你这是作死啊!!

整个计算机市场都被苹果带坏了,「用户你是傻逼,你不需要知道为什么,你也不需要知道怎么做,哥给你用什么,你就用什么好了。It just works!」我是开发者不是傻逼啊好不好!我就是要让他work的人好不好!

叹息一声,正如那个属于黑客的时代走入历史一样,我的时代也被时代抛弃。

时代和我,总有一个错了。

Richard Stallman仍然是对的

不要被这个标题吓到,这不是一篇有关自由软件的Blog。

是的, “Open Source” 运动以来,不论是商业界还是技术界,都很少再提 “Free Software” 这个词了。即使是黑客界,大多数人都认为Richard Stallman这个极端主义者应该退出历史舞台, 尤其是前几天GNU sed维护者退出GNU的时候。

Stallman的确是个偏执狂,极端主义者,他用着龙芯上网本(因为这是唯的BIOS, Driver, OS, App都完全自由的计算机);他拒绝使用手机,使用某个品牌的手机,几乎等同于接受某家公司的控制[1]。

是的,Stallman不仅是个偏执狂,还是个暴君,他要求FSF的所有软件版权归他所有,他在Jobs去世的时候说「对于他的离开,我很高兴」等等等等。

对于这个人,我不喜欢(是的我知道你们很多人「讨厌」他,但是「讨厌」这两个字我说不出口)。

但是,他的观点,一直都是对的,现在仍然是对的

今天,2013年1月4日,奇虎360宣布与Google展开合作。[2]

我信任Google,当Google拒绝审查而退出中国市场的时候,我看到的是一家有坚定的信念,愿意为自己的理想放弃利益,守护自己底线的公司。他有 20% 的工作时间让员工发挥创造力。他的信条是 "Don't be evil" 。
于是我把自己在Internet上的存在交给Google,我使用Gmail管理一切邮件,用Google Contacts管理联系人,用Google Plus分享自己的生活,用Google Maps在城市中找到目的地,用Google Reader获取信息,用Android作为手机操作系统……我信任Google,我相信他不会出卖我。

我错了。

Google已经不再有灵魂。是的,从Larry Page开始过分的砍掉Google产品,取消20%的FreeTime开始,这家公司已经跟其他的商业公司别无二致了,乃至于到今天,他竟然可以和360这只流氓走到一起。

好的,于是不再使用Google,让自己的生活倒退到10年前的水平?

也许我们可以找其他的解决方案?

  • 改投Micro$oft? — 殊不知这家公司跟某邪恶政权的关系有多亲密。
  • 那Apple?— 看起来不错,但一来钱包不够鼓,二来2011年他用「圆角矩形」禁售Galaxy Tab 10.1的第二天我就卖掉了手里的iPhone。
  • Facebook?— 我暂时还没有随时随地都有VPN可以用的能力。
  • Yahoo? — 参见王x宁遭遇。

是的,我很清楚Google仅仅是在Adwords业务与360合作,仅仅是向360搜索提供搜索结果和支持。

但是,将自己的数据交给一家商业公司,仍然是非常非常危险的举动。你说不准那天Google彻底堕落到Yahoo那样,也许明天他就可以和邪恶政权组成partnership。

所以从今天开始,我要去Google化。Stallman一直是对的:

软件的自由,关系到人类的自由。

我会一点一点行动,开始使用OwnCloud作为自己的私有云服务。是的,我仍然无法摆脱商业公司的控制,我需要使用Amazon或者其他哪家VPS提供商的服务器,但好歹比一个不能自己控制代码的服务要强一些。

好了,寒假的TodoList又长了一点。

Scala 自定义控制结构

写了两年Python了想换换口味,正好在coursera上参加Functional Programming Principles in Scala课程,考虑到Scala)那一大票很诱人的特性就学Scala吧~ //golang 我对不起你… …

话说Scala被定义为 Scalable Language ,其实解释一下不就是可以扩展自己的语法么,作为Pythoner感觉这种事情一点也不算稀奇,然而当我真的看/用到这种特性的时候的确感觉惊叹,这不是静态或动态语言的区别,这是函数式与非函数式语言的区别。

虽然Python支持函数式的风格,但其编程思想终究是指令式为主的,所以有一些函数式特性并不能被真正发挥出来。

Programming in Scala 的第14章讲到 断言与测试 ,其中给出一个关于测试的例子:

1
2
3
4
5
6
class ElementSuite extends FunSuite {
    test("elem result should have passed width") {
        val ele = elem('x', 2, 3) 
        assert(ele.width == 2)
    }    
}

入手Wacom Bamboo CTL470

前两天画瘾大发,于是一冲动就入了个Wacom Bamboo CTL470,为什么选这个? — 因为 便宜! 550软妹币搞定。

这一款数位笔是非常非常基础的配置,功能上其实就只是个压感笔,而且感应范围只有 4x6 英寸,不过用起来感觉也还不错。 压感方面体验很自然,很舒服~ 没有橡皮擦这一点略感功能欠缺,不过也不算大碍。

Archlinux下装上 xf86-input-wacom, wacom-udevlibwacom 即可驱动,KDE下装上kcm-wacomtablet还可以在GUI里配置,可以说是开箱即用。

比较令人郁闷的是krita对其压感还不支持,这有点让我意外和遗憾,不过幸好我们也还有MyPaint可以用,画些简单的画足够用了。

好久不画画手有些生了,用了一个晚上时间画了个学姐,求轻拍。(内有亮点)

转个型?

受twitter影響感覺自己快寫不出140字以上的東西了,這一點很不好,我要逼迫自己多寫些東西。

然而顯然不是什麼事情都能寫出一篇長長的文章,每天遇到的大部分問題也多是幾句話能說清楚的小問題,然而這些問題確真真是很值得寫下來的,不然日子久了就會忘掉,到時候就不一定能google出答案咯~

是的,我打算把blog當成notebook來用,多寫一些 notes/tips 形式的東西,也許會很短,但是會進行更多的版本更新,慢慢積累,說不定能寫出N篇「xxx的10大技巧」之類,哈哈。

爲什麼不用evernote?恩,因爲它記些生活瑣事還好,用來記代碼什麼的實在不太合適;爲何不用vimwiki?因爲懶得再把vimwiki調教成blog了,我還是很想看評論的。

Wish List

最近物欲膨胀啊,好多东西好像要……

  • Galaxy Nexus 已入
  • Nexux 7 Galaxy Note 10.1 画画有数位板了 纠结一下是不是要个N7就好了……
  • SSD 已入ADATA SX900,体验甚好
  • Leopold FC660M 茶轴 已入
  • Thinkpad X1C 入了 Dell Latitude E7440
  • 给母上买3G路由器和流量年卡
  • 给母上买个MBA
  • 电吉他,音箱,效果器
  • 电鼓

我要努力工作…

pulseaudio音量问题

话说Pulseaudio一直有一个问题困扰着我,好几年了,就是 音量不连续 , 解释一下就是例如音量降到 16% 以下的时候会突然变成零,或者调整一下(下文解释),那么 2%-16% 这一段虽然有声音但是几乎都是一个音量,然后 2%-0% 突变。

p.s. 我对Linux的音频设备原理实在是一知半解,所以后文有好多 「俗」语,懂行的见到还请轻拍砖。

准确的说这个更应该是我声卡(驱动)的问题,Alsa的主音量将到 16% 之后会突然没有声音,就好像有一个 threshold 一样。不过之前纯用Alsa的时候我可以通过调整 PCM 音量来解决,但是 Pulseaudio 所有都一块儿调整了,只有一个主音量, 所以再开终端调alsamixer什么的实在烦死人。

开头说到的 「调整一下」指的是输出设备选择,笔记本电脑自带了一个扬声器,也可以接耳机什么的,于是就有两个可以输出的 connector,不过就算选speaker的话耳机还是有声音的,这个是硬件控制的,pulse搞不定这个切换。 我这里的情况是 speaker 输出的时候 16% 以下有声音,但是音量几乎和 16% 没有区别(其实还是有区别的,只是 2% 的音量太大,1%的音量有太小,所以几乎不可用)。

话说pulseaudio对alsa的控制配置存放在/usr/share/pulseaudio/alsa-mixer/paths/里,其中analog-output.conf.common 里有一个对PCM的控制选项,默认是 merge,可以理解为「联调」什么的: 当主音量降低到「突变临界点」的时候pulse会去调整PCM音量,看起来很有用,可是实际却不work,就是因为alsamixer除了master和PCM两个音量外还有speaker和headphone, 这两项的调整优先级是高于PCM的,于是当master音量不能再降低的时候pulse会去调整speaker/headphone ,而这两个输出在我的本本上完全是鸡肋,因为它们也是和master是不独立的,也就是说当master降到门限时speaker/headphone的门限是100%,所以就会出现音量在16%处跳变的情况。 所以我只能将PCM控制选项设置为ignore,也就是让pulse不要去调整PCM音量,然后我再将PCM音量设置为60%什么的,master音量再16%时也就足够小了。好dirty的workaround……

今天无意间打开analog-output-headphones.conf ,想到其实 headphone/spaker 也是可以设置 merge/ignore 的,于是果断把headphone设置为ignore,果然,master音量降到16%之后pulse跳过headphone,直接调整PCM了,音量调整终于平滑了!

哈,真是无心插柳柳成荫。 #这么简单的解决方法你竟然用了一年时间才想起来笨死了!

入手yubikey,一点小心得

昨天从 @yeagle 那里买的 yubikey 终于到货,如果不知道 yubikey 是什么就看看 @yeagle 的广告好了,呵呵。

去年 CSDN 事件现在还令人心有余悸,再加上早年安全意识不足,多个网站都是一套密码,想起来实在后怕,于是立马开始用 Lastpass,给大部份网站都换成随机密码, Google 帐户开两步认证,免得被 Big Brother 翻邮箱什么的。

但是 Google Authenticator 还是太不方便,登录的时候麻烦不少,需要敲完密码再摸出手机打开App然后再敲一遍 verify code,敲慢了还会过期还要再敲一遍,实在是影响 用户体验

另一方面,在不少场合下,公然敲密码都是一件比较尴尬的事情,怕别人看到,又不好意思遮遮掩掩什么的,所以只有锻炼手速,然而手速快了又容易敲错,噗呵呵… 还有的时候电脑需要给人用一下,但是又不方便告诉他密码什么的,这就很头疼。这两种情况之前我都是用 pam_usb 解决的,把优盘搞成钥匙用,但是安全性就比较差了。

所以我就买了yubikey,廉价的一次一密方案。

其实主要想写的是 pam_yubico, PAM 是Linux中的用户认证机制, pam_yubico 故名思义就是用 yubikey 进行 Linux 用户认证,login啊 unlock screeen啊,ssh啊什么的。 Arch的 AUR 里已经有了,别的系统自己打个包也不麻烦,不过比较令我奇怪的是从 github 里 clone 下来的代码在运行 automake 的时候竟然会报错说 libykclient.la 不是符合 POSIX 要求的库……没办法只好下载 release 版了。

迁移到Octopress

如题~ 迁移工作比较顺利,使用这里 提供的方法就好。

Disqus评论的导出花了一些心思,因为wordpress的disqus插件默认设定的disqus_identifier是形如123 http://example.org/?p=123这样的,123是 wordpress 文章 id ,这样的话即使最后给每个文章的链接都一样也不能正确显示评论。

解决的方法是修改source/_includes/disqus.html,把disqus_identifier那里改成:

var disqus_identifier = '{% if page.dq_id %}{{page.dq_id}}{% else %}{% if page.wordpress_id %}{{page.wordpress_id}} {{site.url}}/?p={{page.wordpress_id}}{% else %}{{ site.url }}{{ page.url }}{% endif %}{% endif %}';

我使用的wordpress导出脚本里为每个post都加入了wordpress_id属性,嘛,没有也没关系,换域名也没关系,自己添加一个dq_id属性就是了。

对markdown的解析引擎我是用了kramdown,主要是这货支持MathJax,这样就可以有一些公式,例如 $\LaTeX$ 。

当然也要有一点点折腾,跟着 这里 做就好啦。

剩下的例如改改主题什么的,我基本是follow了这篇文章,又用了一下 slash 中的社交网站链接和 fancybox 插件,看起来比较舒服了,以后还要常折腾。