技术

服务器接收到客户端建立连接的SYN,但是不响应SYN/ACK

本周碰到的一个相当诡异的问题,还在分析中,没有解决。从serverfault上找到两条同样现象的故障,原因又都不尽相同

其中 http://serverfault.com/a/496548 是在服务器端 disable TCP timestamp 解决故障。但是没有给出具体的分析

而 http://serverfault.com/a/519047 则禁止了 timestamp 和 window_scaling 都不起作用,不过解释清楚了问题根源以及为什么搞不定

已经把工作分配下去了,等待结论

Topic: 技术

JSON-LD

今天第一次听说 JSON-LD 这个东西,Google Inbox 背后使用(或者说想去推广)的规范之一。值得研究研究

http://googledevelopers.blogspot.com/2014/10/make-your-emails-stand-out-in-inbox.html

规范这个东西,比如 RSS,比如二维码,不知道什么时候就爆发一下

花了约半小时升级 Drupal

想到每年买的这个Shared-Web-Hosting也就是为了搭博客,40刀一年,偶尔用来做下载的中转

再算上为了维护它花的精力,真是想干脆把blog托管出去

哪天要是失业了,干脆找个设计师搭档做个 blog service,或者更准确说是针对专业人士的空间服务,把什么博客、微信公众号、啥啥啥的都集成起来,发展三五千个客户,算是个网络小生意

Topic: 技术

Moto 360 初体验

首先需要了解的是充电的知识:手表刚到手的时候电量是0,需要充会儿电才能正常使用;因为从出厂到现在有一个新的firmware更新需要下载,所以需要把手表充到80%以上才能正常使用;又因为这个手表的充电流程有过热保护,可能充到中途充不进去反而不停耗电... 总之手表刚到手的那个晚上是一个充满怨念的晚上

其次是为了使用它手机上必须 Android Wear,也就意味着必须安装 Google Play 服务,对于国行手机而言就是必须要 ROOT,这个对于普通用户来说又是一个很高的门槛,我在小米4上安装这一套也是费了点功夫才搞定。系统方面它仅仅是要求Android 4.3、蓝牙4.0,这个要求并不高

总之,Moto360只适合男性极客。不爱折腾的,没有安卓手机的莫入。Moto 360的最佳搭配是 Moto X,或者 Nexus 吧..

中度使用续航一个白天没有问题,我早上6:15闹铃,拔下手机充电器,换上Moto360无线充,出门前已经是100%;但是出门旅行需要额外带上无线座充会略有不便。

可以当计步器使,心率计算我觉得不准;Google Now 就是个残疾,据说"出门问问"这个团队会在Android Wear方面做出Google Now的本地替代品

目前微信的通知还不能震动,搜狐新闻通知会莫名的多个b字符。。。应用针对Android Wear的优化还有一段距离

在Moto360上查看Android的Notification的体验挺好,掏口袋-低头-解锁-滑动-锁屏-放回口袋...这一系列动作简化成云淡风轻的抬起手腕轻轻一划,逼格度爆表。通知天生就应该是在非手机端完成查看的。

我的理解是,Moto360/Android Wear(包括蓝牙耳机)的最重大意义是让手机从人们的生活中尽可能隐藏起来。现实情况是手机越来越成为面对面交流的障碍了,这点必须要改变

Topic: 技术

RHEL7 没有启用 user namespace 的原因

https://lists.linuxcontainers.org/pipermail/lxc-users/2014-April/006554.html

里面提到,RHEL7 因为安全原因,禁用了user namespace,但有望在以后的更新里(7.1?)里启用它。

https://bugzilla.redhat.com/show_bug.cgi?id=917708 展示了从去年3月,Fedora的开发者对于user namespace的考虑

  1. Comment 1说的是当前的代码除非disable XFS,否则是不能打开USER_NS的。
  2. Comment 4说的是3.9的合并窗口期已经过去,XFS对USER_NS的支持已经加不进去,只能寄望于3.10了
  3. Comment 5说的是USER_NS相关的实现还有很多安全问题,比如clown-newuser.c就展示了本地提权的漏洞
  4. Comment 7说的是终于XFS不是障碍了(这个时候已经是3.12),但为了更安全,可能得修改代码,只让non-privileged用户使用相关功能

结论:缺乏商业能力的使用3.12之前内核的发行版(包括使用3.11内核的Ubuntu 13.10:http://blog.tutum.co/2013/12/14/enabling-the-user-namespace-in-ubuntu-13-10-saucy/),都不会直接支持 user namespace 的。但可以相信未来 RHEL7 会把内核最新的变更backport回它的 3.10 tree,为此特意在当前的代码里启用了 USER_NS以保证和未来的内核版本ABI兼容(只不过在 create_user_ns 的内部,第一行直接粗暴得返回 -EINVAL 了)

Topic: 技术

一些技术研究

晚上找了一下 .NET 的资料,发现 3.6.0 版本的 mono 刚刚发布没几天,在 HN 上有这样的讨论
A: Here it is a good business for the "new" "21 century" Microsoft. To put their language into Mobile, OSX and Linux.
B: If they do succeed I seriously think it could be the end of Java.

C: Yes, Java is basically new COBOL...

很好奇居然有人这样形容 Java,因为中午刚刚有人给我断言 .NET 是一个要退出历史舞台的技术。于是去研究了一下 mono/.NET,有以下印象

  1. mono 项目背后的公司,Xamarin,和微软走得很近,包括刚刚接受了一家微软背景VC的投资;也许 mono 是一个靠谱的项目
  2. Xamarin 的商业模式是移动设备,用 C# 同时为 Android、iOS 开发应用。对于现有的大量的 C# 程序员来说,是一个好事情
  3. 以我目前有限的认识,ASP.NET 大概是类似 Java Servlet 的东东;ASP.NET MVC 则可以类比 Struts 这样的 MVC 框架;Entity Framework 类比 Hibernate;Web API 貌似是一个写 Service 的框架;Web Forms、Web Pages、aspx、razor 什么的还没有弄明白
  4. NuGet/MyGet 类似 npm、pypi,感觉现在 .NET 的生态也在不断的发展
  5. 国内颇有一批人(大本营是博客园?)在研究在 Linux 上跑 ASP.NET,http://www.jexus.org/http://www.linuxdot.net/
  6. ASP.NET 的下一个版本,VNEXT,旗帜鲜明得指出了:
    1. 要为服务器优化、为云优化
    2. 要和 mono 紧密合作,确保能运行在 Linux/Mac 上
    3. 每个app部署的CLR的隔离,这个功能对在单一 Windows Server 中运行多个 app 还是很有用的。另外演示中的工具被起名叫 kvm

隔行如隔山,不明觉厉

Topic: 技术

我处心积虑地想干一件事,结果……

我处心积虑地想干一件事,结果失败了。

事情是这样的,我前段时间偶然发现中纪委官网有个案件查处网页,上面经常登些小老虎大苍蝇被查处的信息,什么徐才厚啊,万庆良啊。我想大老虎还在后面呢,我写个自动发 tweet 发微博的机器人,争取第一个在推特和新浪微博里报道。

结——果,竟然新华社出老千先报道了周永康被查处,导致我的愿望没有达成。当然事实是即使是我第一个报道也没什么作用,因为,嘿嘿,粉丝太少(羞愧中,不过这家伙确实比我预料得更早地被公布,喂,多给我点时间让我做做推广呗)。所以请大家看到的捧个场,没事关注一下我,碰到小老虎级别的帮忙转发扩散一下,多谢多谢。

推特:@ccdiajcc;新浪微博:@ccdiajcc

新浪微博没敢起中文名,怕被管理员秒删。

Topic: 技术 社会

晚上听了RedHat工程师蔡书的分享

整理一下他的观点和透露的信息:

  1. PaaS是中间件的云化平台
  2. 所有公有PaaS到目前为止都是失败的
  3. PaaS作为平台性的项目,落地很难,周期很长
  4. 中国的OpenShift案例
    • 香港城市大学
    • 在跟进若干大陆制造业的客户
    • 在和若干金融业的客户研讨
    • 有一个快递业的客户,300多个应用,600多台服务器
  5. 洗脑:如果OpenShift还解决不了运行环境标准化的问题,那说明这个问题就不应该试图解决
  6. 国外的OpenShift案例
    • Paypal, 2013年5月,上线14台服务器,支持了400多个开发人员
    • Cisco
    • Dell
    • 注意上述三家都是RedHat的关系户
  7. 1.5个运维人员可支持200个开发人员...为什么是1.5?
  8. 16core/96G服务器,RedHat会跑大概100个实例。(他说公有云会跑400个)
  9. PaaS公有云的两个弱点:container技术不能把TCP端口变多;很难解决ARP欺骗问题???
  10. 最开始OpenShift Online使用了AWS的约80台EC2,现在是200个
Topic: 商业 技术

Mark 一下 ELRepo

适合不想纠结内核编译,直接 rpm/yum 升级的糙快猛解决方案

Topic: 技术

关于学习能力

新产品是基于某个开源框架开发的,有一个至关重要的特性,需要框架底层有支持才能完成。相关的函数,就在文档里写着,但是开发同学愣是没有发现,其主管甚至做好了重新创造轮子的计划。。。幸好我特别关注这个特性和进度,也一直在关注这个框架相关的技术,当知道难处以后去把文档浏览一遍,立刻就发现了这个函数,早上来通知开发同学一测试,大功告成。

今天和人说起来,我现在就是典型的"信息工作者",每天处理大量信息,然后产生出对工作有用的新信息出来,推动进步。只动眼睛和大脑,不写代码不动手,最后动动嘴写写邮件就是我看得见的物理产出。

文档放在那里不会用,不去读。我认为就是学习能力的问题。或者英语不好?总之不善用知识的人,肯定很难适应IT行业。

得不断评估每个下属的学习能力。。。。每次PM就不要提创新了,连学习都不行,还搞个屁的创新!
====

但这个主管肯定是有能力的,可能是太相信手下的程序员?我觉得这又是一个态度的问题:你完全信任手下能构建好相关的知识体系吗?是否轻易得把这个性命攸关的因素交托在他人手上?

作为技术主管,除了完成绩效、确认手下都在正确出力之外——这也是包工头的工作模式——还需要为个人怎么去学习和发展头脑、团队如何做好知识管理而努力

Topic: 技术
订阅 RSS - 技术 | BT的花