1. unpv13e chapter 1 notes

    struct sockaddr

    Everytime one of the socket functions requires a pointer to a socket address structure, that pointer must be cast to a pointer to a generic socket address structure. This is because the socket functions predate the ANSI C standard, so the void * pointer type was not available in ...

    Read more...


  2. 编译unpv13e源代码

    这里下载源代码,根据README进行编译.

    在make libfree下时需要修改inet_ntop.c, 将第60行的 size_t size 改成 socklen_t size.

    貌似Linux不支持4.4BSD style routing sockets, 所以不需要编译libroute

    测试intro/daytimetcpcli: ./daytimetcpcli 216.171.112.36

    而书上给的IP地址会一直block.

    Then start reading the famous classic book.

    Read more...


  3. history

    “我不喜欢历史”

    “你只是讨厌你的过去而已”

    语言对人的伤害仅次于身体的伤害。

    过去过去了,但它一直活在现在里。

    过去的事情有时候连自己都记不清楚,于是现在的你粉饰着,装点着你的过去。 直到你自己相信那是一段美好的恍若你亲身经历。

    但真实的过去永远在那,等待着机会吞噬你,吞噬你亲近的人。

    过去永远支配着现在的你,而现在又将过去。

    Read more...


  4. 从remove google redirect 失效说起

    前段时间发现remove google redirect突然不能用了,在chrome web store的页面也没了。难道被google和谐了?对于我这个重度google使用者来说可不是一件好事情,搜索的结果都要先被google重定向,增加了不必要的加载时间。

    只想寻找解决办法:点击这里

    于是想着能不能改改那个插件的代码,修复这个bug,找到那个插件的源代码,发现一下子1200多行代码,这么复杂。感觉移除一个重定向链接不需要这么麻烦吧,决定自己实现一个。

    用的时候发现google在你点击一个链接时,会被替换成google的重定向链接。

    http://en.wikipedia.org/wiki/Continuous_integration
    

    会被替换成

    https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&sqi=2 ...

    Read more...


  5. Python struct and Endianness

    偶然间在stackoverflow上看到下面这个问题:

    Please explain me what does this piece of code do.
    
    h should be 32Byte result from sha256 calculation.
    
    I am rewriting parts of this code for my project in C++ and I'm not sure if this switches byte order per 4byte chunk or change byte order on ...

    Read more...


  6. vps下lnmp配置

    换了hostigation的vps(128MB)之后,试了Debian,Ubuntu较新的版本都不行,总是提示说MySQL安装失败,最后不得已换上ubuntu 10.04勉强把mysql装上,但网站连接十次要有9次连不上。知道是肯定是那装的那些软件版本太低,bug太多。但还是没管它。

    最近得有空闲时间,决定把问题给解决。
    备份整个数据库:

    mysqldump -p -u --all-databases > all.sql
    

    备份归档wordpress目录,nginx配置文件目录
    然后安装fedora 18

    安装mysqld

    yum update #升级现有包
    yum install mysql-server #mysqld
    

    安装mysql-server
    当启动mysqld时出现错误,无法启动。(折腾半天)
    列出包里面的文件:

    rpm -ql mysql-server
    

    日志文件在/var/log/mysqld.log
    查看mysqld.log发现错误信息:

    vim ...

    Read more...


  7. setjmp and longjmp

    全局,静态,易失变量不受优化影响保存在存储器中,存放在存储器中的变量具有调用longjmp()时的值;进行优化后自动,寄存器变量保存寄存器中,CPU和浮点寄存器中的值恢复为调用setjmp()时的值.不进行优化,五种变量全部保存在存储器中.(来自APUE)

    Read more...


  8. file hole

    当lseek设置文件偏移量超过文件尾端,并写了某些数据后,就会产生文件空洞.

    文件长度st_size:

    文件中的空洞会影响文件的长度,read读含有空洞的文件时,会把空洞填0.read读空洞也会读到0值.

    文件占用磁盘大小:

    文件在磁盘中是以4k的逻辑块进行存储的.每个文件占用的磁盘大小都是4k的整数倍.

    write()写,实际内核是一次写4k数据到磁盘的.文件一般是块缓冲的.物理写大小为4k.

    空洞占用的物理空间最多不超过2个逻辑块(8k).

    若空洞将要使文件磁盘大小增长多于1个逻辑块大小时,将进行取余.

    Read more...


  9. Teiba Cookie

    首先访问http://tieba.baidu.com/,登陆要勾选记住我的登陆状态(即自动登录),这样Cookie才能长期有效.

    对于Chrome浏览器:

    右键审查元素,打开开发者工具,选择Network,刷新贴吧首页.然后上滑找到tieba.baidu.com那一项,点击headers,在Request Headers中找到Cookie那一项,很长的一串字符串.复制到http://signalltiebas.duapp.com/settings页面中的Cookie框中提交就可以了.

    其它浏览器类似.

    Read more...


« Page 3 / 10 »