当前位置

qyb的博客

如何获得 RHEL kernel 的单个patch

记得以前 redhat 发布的 kernel srpm 包,里面是一个2.x.xx的原版kernel + 一大坨 RH 自己的 patch。后来不知道出于什么考虑,它只提供"混淆"版本的kernel源代码,对需要研究订制内核的开发者来说非常不爽。

想要拿到单个的patch,官方的说法是访问https://access.redhat.com/knowledge/sources/,但是需要成为红帽的订户才能登入...

于是就有了 RedPatch 这样的良心项目:它没有公开得把 patch 提供出来任意下载——估计这么做是违反协议的)——而是把 patch 一个个 commit 到源码树里,这样我们访问这个 git 树就能获得单个patch 了!

Topic: 

信息化时代的父女对抗

一直在给小朋友 Nexus 7 用,因为 Android 有一套多账号系统,可以对子帐号限制哪些应用她能用。换句话说,我是 root 用户,她是普通的 user,root 和 user 的数据区还是隔离的...

但是小姑娘猜出了她爹的 root 密码之后,就一直偷偷的使用 root 功能看!电!影!直到前天晚上才被发觉.

Topic: 

天空飘来五个字儿,那都不是事

很小的时候,肯定是在10岁以前,在类似《读者》的一个刊物上看到:(以下内容引自百度百科)“有一个大王叫犹太王大卫。某一天做了一个梦,梦中梦见一个神仙。神仙告诉犹太王一个方法,无论是多么的艰难都会顺利的度过;无论怎么富有和有权利也不会骄傲自负。结果梦醒后犹太王想不起来神仙告诉他的方法,他就召集大臣悬赏,谁要是知道他梦中的方法他就赏这个人一辈子的荣华富贵。结果大臣们想个好几天终于给犹太王一个答案,那就是:这也会过去。之后犹太王大卫就把这句话刻在了戒指上,来警示自己 。”

后来想起这句话,总觉得应该是翻译过来的,而不是本土自制的心灵鸡汤;但一直也没有找到英文原文。今天无意中从生活大爆炸里面看到,This Too Shall Pass,解决了多年来心头的一个疑惑。

Topic: 

利用firefox修复pdf文件

某同事体检,留了QQ邮箱,体检结果寄到了邮箱里。

现在他需要把这个pdf文件交给另外的人,麻烦在于这个pdf在QQ邮箱里的preview是能看到的,但是下载下来是无法用Adobe打开。

上网搜了一下,倒的确有在线修复工具。尝试修复,无果。

后来想到firefox不是也内置一个pdf.js做PDF的在线查看么。。。于是用firefox打开之,结果还不错,5页的PDF,后四页都正确解析出来了,第一页是空白;所幸第一页就是这个体检机构的封皮,于是重新打印到PDF文件后面的4页生成新文件,搞定

Topic: 

一台老服务器上的 send(, , ,MSG_MORE) bug

上次研究完 HAProxy,觉得这东西搭配 Postfix 挺好,就安排给运维了,结果运维同学反馈,加持了 HAProxy 以后,返回 220 欢迎信息时间显著变长,于是昨天就抽时间和运维一起分析这个事儿

我的第一反应是 Postfix 处理 Proxy Protocol 有延时,比如反向DNS查询什么的,于是首先在 Postfix 服务器上执行 tcpdump

观察到,当客户端连接 HAProxy 之后,立即 HAProxy 就和 Postfix 完成了3WHS,然后足足等了 3 秒,才从 HAProxy 发来了 "PROXY X.X.X.X XXXX"

现在可确认延时发生在 HAProxy 上,接着去 HAProxy 机器上 strace -tt HAProxy进程

观察到,当完成和后台 Postfix 的 3WHS 之后,的确就立即把 "PROXY X.X.X.X ... "发送了,但是等了3秒,才recvfrom后面的 220

问题出在哪里呢??仔细看传送"PROXY X.X.X.X ..."的系统调用,原来是用的 send() syscall,而且,它使用了 MSG_MORE 这个参数... (不明白什么是 TCP_CORK 的同学可自行搜索,HAProxy 在这里使用 MSG_MORE 是很有道理的)

但为什么这个延时长达3秒实在理解不能,在我自己的机器上试了一下,是200ms,查看 sysctl 里面的 tcp 设置也没有头绪,对于这种古老的RHEL4服务器只能出大招了:因为这个HAProxy是为SMTP代理专用的,直接修改HAProxy源码,把MSG_MORE注释变成0就一切正常了

Topic: 

从搜狐的技术评级所想到的

下午和KCN领导聊天的时候随口提到这个事情,不完全是吐槽

总之,目前搜狐的技术委员会评出的3.1,比某度的某些T5还要靠谱一些。这个给业务在某些程度上造成了困扰,希望这个制度能越来越好,并且技术委员会能在2014年发挥除了考核之外,更大的作用

以当下的苛刻要求而言,在业务部门而不是研发部门的,年过30的同学,想在这条道路上精进到4.x,是一件很困难的事情——除非你做出一个牛逼的平台产品出来

目前搜狐技术委员会的标准,是:针对一个互联网服务需要的各项技术要求,你能带来什么价值
我严肃的思索了一下,当初我从eyou跳槽来搜狐的话,3.1或许能符合要求,3.2是绝对达不到标准的(应聘运维可能还能有4.x的机会)

所以,就只能和BAT竞争毕业生了,同时要给很好的机会,很好的导师,很好的环境,来帮助其成长

附:我自己觉得自己在技术上做得比较得意的事情

  1. 拿到了天大路由器的登录和enable口令
  2. eyou.com 的日历,把"事件"用一个链表数据结构很好的表示并存在硬盘上
  3. eyou MTA 第一版
  4. 写了一个 bridge,以及 SMP 下的各种坑
  5. 2004年,就建了一对很棒的前端CSS + JS组合
  6. eyou的编译脚本和安装脚本
  7. DV工具
  8. 搜狐通行证,Nginx Module + JS 我一个人全包
  9. web.py 的大工程

还有就是最近两个偶尔在具体事情上动动头脑动动手,还是能做一点点事情
最遗憾的事情,是进搜狐后,对运维的认识不够,很久很久以后,才形成认识和方法;否则很多事情能做得更好

Topic: 

Contatta, 一个"Collaborative Email"产品

企业电子邮件的未来到底是被一个新工具替代?还是邮件的自我进化?Contatta 是后面这条道路的一种尝试

注意到这个公司首先是看到了它制作的一个专题,觉得设计挺用心。于是好奇去网站上看了一眼,Demo 还算吸引人;最有意思的还是三个创始人完全没有计算机工程背景——2名销售+1名设计师,这种完全不符合一般认知的团队,很期待能给市场带来新的活力。

它制作的专题见下:
Contatta takes a look at the real cost of email for business
Courtesy of: Contatta

团队介绍文案

我们是一个致力于用云计算技术改变现有企业IT模式的团队,希望您能认可这个技术趋势,让我们一起为改变世界而努力。当前我们专注于企业基础办公领域,提供SaaS模式的企业邮箱 产品,以及围绕邮箱的扩展增值服务。

我们在服务器端使用的主要的开发语言是 Python,技术工作包括:

  1. 提供可靠的邮件传输服务。保障跨多个网络运营商的邮件顺畅传输,在外发和接收两个方向上均进行严格的垃圾邮件发送识别,以避免资源被滥用。
  2. 提供POP、IMAP、SMTP等邮箱访问服务。尤其是基于浏览器的,以收件箱和联系人为核心,方便用户进行办公协同的 WebMail 系统;我们也在计划移动设备上的相应方案;这是我们整个"big story"的核心。
  3. 为我们日常运营支撑而提供的一系列管理和运维平台;以及同客户自身的业务集成等的系列开发工作。
  4. 技术的挑战是,应对复杂的IDC和网络环境,如何构建出,并运维好一套分布式高可用的系统。电子邮件是现代企业办公的最最最基础组件,用户无法容忍哪怕是非常短暂的服务不可用, 这给我们的技术工作带来了诸多要求和限制条件,亦是艰苦工作背后的乐趣和价值体现。

Topic: 
订阅 RSS - qyb的博客