Monthly Archives: August 2013

Bootstrap 3

看到 Bootstrap 3 出了,没忍住尝试把手头两个简单的html升级到3。遂发现3和2.x相当的不兼容了。光把 .span* 换成 .col-md-* 都够喝一壶了,还没有自动转换程序。 Javascript 的大版本升级都可以这么痛苦么。

Posted in Computer and Internet, Web | Tagged | Leave a comment

Haskell 教程介绍

Learn You a Haskell 和 Real World Haskell 都有在线电子版。两书的互补性很好。 Learn You a Haskell 配插图风趣幽默,容易阅读;Real World Haskell 有丰富的示例和习题,易于上手。个人建议初学者可以先从 LYAH 入门,看到有点不容易理解的章节(比如 functor 和 monad)的时候,换到 RWH,读几个例子写几个程序(消化下 map 和 fold,尝试下 point free style,等),感受下 Haskell 的不同之处,然后再切换回来,loop and advance。 有一点需要注意下,RWH 按照 Haskell 98 标准,用的 ghc 也比较旧,可能会有少量内容和新的 … Continue reading

Posted in Computer and Internet, Programming and Algorithm | Tagged | Leave a comment

密码学非专业笔记

Snowdon 那事之后看了些关于密码学的博客和文献。于是非专业的笔记一下。 在公共信道上的加密通信,基本中的基本是身份验证。而加密的第一步是双方协商达成共享密钥,当然同时任何第三方都不能获得该密钥,这是密钥交换。身份验证和密钥交换是不可分割的。 签名算法一般是 RSA(RSASSA-PSS)和 DSA。哈希函数一般是 SHA-2 系列(SHA-3 规范还没完成)。 密钥交换算法一般是 RSA(RSAES-OAEP)和 Diffie-Hellman。 上面两者都属于公开密钥加密。其基本概念是利用单向的 trapdoor function,这样的函数易于单向计算,而反向计算极其复杂。RSA 利用的是整数分解问题,将两个大质数相乘很简单,但将结果分解为质数的乘积被认为非常困难。DSA 和 DH 利用的是离散对数问题,在某一群(Zp,或者椭圆曲线的群)上,计算一个数的指数很容易,但计算对数则被认为非常难(如果用的是椭圆曲线的群的话就是 ECDH 和 ECDSA 了)。 RSA 下,身份验证和密钥交换是结合在一起的。B 的公钥在 B 的证书中,A 用 B 的公钥加密一串随机数然后发送给 B,这只有用 B 的私钥才能解密,这串随机数就是共享密钥了。 DH 下,可以不使用证书(但签名仍是绝对必要的),这样 A 和 B 都保持匿名。A … Continue reading

Posted in Computer and Internet, Science | Tagged | Leave a comment

gdb 7.6 performance bug

http://sourceware.org/bugzilla/show_bug.cgi?id=15454 http://sourceware.org/bugzilla/show_bug.cgi?id=15519 http://sourceware.org/bugzilla/show_bug.cgi?id=15412 Ubuntu 13.04 带的 gdb 7.5.91 也有同样的问题。 自机编译 gdb 7.5.1,单独将可执行文件 gdb 复制至 /usr/bin/gdb 貌似能简单解决。目前还没发现小版本不匹配引起的问题。 PS: 偶尔会见到替换后的 gdb 的 crash report,但似乎没什么影响。

Posted in Computer and Internet, Operation System and Linux | Tagged | Leave a comment

Haskell程序,按正则表达式过滤编译日志

程序目的很简单,只是用来过滤 gcc 的输出。当然因为正则表达式是通用的,所以也可以拿来干其它事情。 我知道 awk 最简单,也有更平台无关的 python 实现。于是其实只是想写个 haskell 玩罢了。 https://github.com/weidongxu84/haskell_study/blob/master/GccWarningFilter/GccWarningFilter.hs

Posted in Computer and Internet, Programming and Algorithm | Tagged , | Leave a comment