Twitter 周四出现大范围宕机 黑客称攻击所致

Twitter周四出现大范围宕机 黑客称攻击所致

国外媒体报道,Twitter当地时间周四下午中断了数小时。据Twitter页面跟踪网站Pingdom称,Twitter中断是从美国东部时间上午11:59开始。该服务在下午1点左右暂时恢复,但不到一个小时后,Twitter再次中断。

Twitter女发言人表示:“工程师们目前正在努力修复”。Twitter的状态更新博客在下午1:42表示,“问题已经解决,目前所有服务都可使用”,但到2:16时,Twitter又发布消息称:“问题还没解决”。

一小时后,Twitter大多数用户似乎都可使用。下午3:00后不久,Twitter公关页面发布推文称,问题是“我们基础设施部件之一出现故障造成 的”。此前一个黑客小组UGNazi向多家媒体声称,已对Twitter发动了分布式拒绝服务(DDoS)攻击。黑客汉纳·斯威特(Hannah Sweet)称,该黑客组织攻击Twitter原因是其支持《网络情报共享与保护法案》(Cyber Intelligence Sharing and Protection Act),这项法案允许联邦政府和民间企业共享有关可能存在的网络威胁的信息。

本次Twitter宕机是自去年10月出现长达一小时中断后,最长的一次服务中断。宕机是各网站的通病,但与几年前相比,Twitter要好得多,当时该网站常常出现大范围宕机。

ArduSat:利用开源硬件制造的微型卫星

拥有自己的太空卫星,这是一件多么酷的事!

位于美国加州的 NanoSatisfi 在 Kickstarter 为自己的开源卫星项目 ArduSat 筹资。他们打算利用开源硬件 Arduino,制作一个体积娇小,而且拥有基本探测功能的微型卫星。

ArduSat 的体积还不如一个鞋盒大,它的长宽高都只有 10 厘米;重量非常轻盈,在 1 千克左右。而小小的身躯内,却有 25 种传感器,包括 3 个摄像头、一个盖革计数器、分光仪、磁力计、GPS、二氧化碳探测器等等。 

ArduSat 的结构可以看以下视频。对比一般的卫星来说,它的结构不算复杂:一个十字偶极天线、几片太阳能电板、一个容纳元件的 CubeSat 结构、装载着 Arduino 和传感器的电路板、UHF 射频收发器、飞行控制计算机。

由于 Arduino 是开源硬件,因此 ArduSat 的优点之一,是拥有强大的自定义性,你可以为自己的卫星编写程序,让 ArduSat 飞上太空之后,按照自己的指令去行动。你不必为自己的代码出错而担心,代码都先由开发 ArduSat 的 NanoSatisfi 进行测试,找出其中是否有 Bug。

当 ArduSat 被送上太空后,它将那里逗留 6 到 8 个月,直到它坠入大气层被焚毁为止。不过,它所收集到的收据,将经由 GENSO 网络来发送到地面——你可以保留这些数据,不论是图片,还是二氧化碳浓度的记录。

通过 Kickstarter, ArduSat 目前筹集到资金为 40713 美元,超过当初 35000 的目标,看来不少人喜欢这个主意——拥有自己的卫星,代替自己在太空探索。

无垠的宇宙,的确令人向往。

关于编程的胡扯

一年一度的高中毕业生填简历的日子即将就要到了,又有很多人问计算机专业的事情。其实我从心底里觉得,高考后才来问这个,已经完了一大半了。当然另一小半十分有前途的人可以在大学四年赶上来,不过估计他们还是要读个研究生,才能把自己训练成能用的码农。

    编程是一件很难的事情。当然我的意思跟那篇著名的《编程是一件很难的事情》不一样。想把代码写好,本来就是一件非常困难的事情。我大三的时候训练一个大一 的老乡,就光是C++,长达四年后她还搞不清楚模板元编程究竟是什么。而且还有C语言学会了转C++会把坏习惯带进来啦,C++的人转做C#之后发现很多 C++的好技巧到了C#都只会让程序变得更慢啦,很多写动态语言的人不理解类型的好处还在那里胡扯啦,还有C#和javascript明明放着大好的函数 式风格不用,非要把代码写的超长(本来光是这样没什么问题的,只是有某些人不肯学习新知识)。可见,就算把自己训练了好多年,最终进入了工作岗位,想把代 码写好,也是一件非常困难的事情。

    当然有些人说,如今只有产品做得好才能赚钱,代码写的好有个屁用。这只能是人各有志,有些人就不喜欢钻研代码,这本来也没什么。但是这些人老是跳出来忽悠 别人,也只会让编程变得更难。只是幸好,我的单位并不会跟某些单位一样说一些“把代码写得那么好有什么用,搞到我们还非得学东西才能看你的代码,赶紧做点 新feature啦”的这种话,我已经觉得很好了。

    写得好这个东西还是比较抽象。我认为其中一条就是代码要好维护。我一直以为,只有代码写得好维护,好改,清晰易懂,这样加新的功能才会容易,不出事情,顺 利发布软件。后来我发现我错了,腾讯不也是QQ一版一版的发吗,原来加班也是一种方法,啊哈哈哈。如果在一个单位里面,不加班别人就会找你麻烦的话,我相 信你也不会花心思把代码写好的,反正都要加班。

    不过对于志向就是写代码的那一些人,最好还是不要受到这些外来信息的干扰。最近跟我们组里的一个test manager聊天,他是一个菲律宾人,说是从纸带时代开始就写代码了(不过看起来好年轻……),工作的时候还觉得C语言是一个崭新的语言。后来他跟我 说,如果一个人有志向与,代码一条路走到黑,最好就去学习一下怎么当architect。他说道,Architect的知识架构是由各种pattern组 成的,然后就说了自己年轻的时候的很多故事来作证这个道理。然后还讲了微软的其中一个创始人到现在还坚持一线写代码的事情,不过没告诉我是谁。

    在这之前,刚好MSR的Daan Leijen因为来北京参加programming language相关的conference,就来我们这里参观了一下。后来我看他做过GUI,做过parser combinator,发明实现过语言,就前去搭讪,结果发现他读书的时候的导师竟然是Erik Meijer。按照他的话说,“then we are connected”,如果说成中文,就是有缘分吧。接着就跟他讨论了一些parser combinator和类型系统之类的东西。我说我之前也搞过这些东西,最后还贡献了一部分给公司,换了个组之后还开了讲座什么的。他讲到他读书的时候, 也是学校没教自己自学的这些东西,后来周围也没什么人做,但是并没有让他丧失动力。然后就说了一句话让我印象很深刻:“原来你也做这些东西啊,我应该可以 看到为什么你要从产品组跳到MSRA来了。”他直到今天,头发都基本上掉光了,还在那里继续研究programming language的东西,还给了我几篇论文。我觉得很好,人就该像他那样。

    有些时候,人就得有那个信念,才能把可行但是难度大的东西,也最终搞出来。我自己写了11年的程序,其实并没有接触过十分广泛的东西,因为很多时间都花在 重写我的一些idea上面了。譬如说编译器就写了五六个,GUI库就写了八遍,还有些杂七杂八的。不过从这个过程之中,可以明显感觉到自己什么时候比以前 更进一步。这种signal有很多,譬如说当你决定要添加一个比较复杂的功能,也可以迅速知道怎么做而不用动到架构啦;譬如说你觉得你的代码越来越顺眼 啦;譬如说你因为架构不行决定重写的时候,你发现前一个版本的代码可以捡起来继续用的部分越来越多啦。

    写到这里,我想起很多人都问过我,程序要怎么写才能写得好,或者说设计模式要怎么写,之类的问题。如果把学习编程花费的精神代价做标准的话,捷径是没有 的。但是如果仅仅把时间作为标准的话,捷径显然是有的。怎样才能加速你学习的过程呢?答案就是,先写再看书。对于像编译原理这种略微高深的知识,总要自己 写过几遍,吃了一些苦头,才能知道为什么书里非要把算法那么设计结构那么安排。对于像设计模式这种需要大量经验才可以领悟到的知识,如果你从来没独立写过 一个上万行的程序,你觉得你能理解设计模式在讲什么吗?我觉得这种时候能做的也就是背下来,理解什么的都是扯淡。诸如此类,学习程序,如果要加速那个过 程,肯定要花大量的时间写代码。当你把项目做得越大、越复杂、算法越扭曲、界面越华丽、尺寸已经大到你觉得不学习新的方法论就肯定会让代码失控的时候,这 个时候你来看设计模式的书,保证是每看到一个模式都觉得人家说到你心坎里去了。那你不仅可以迅速理解,而且以后还可以不由自主的想起来使用它。

    当然,如果你不是一个喜欢写代码的人,那这个方法肯定没有用,因为中途放弃什么的太多了。这种时候,只能怪你没缘分,设计模式不渡你了。如果你最后撑下来 了,虽然你自己觉得你也花费了相当的努力,但是别人反正是看不到你的努力的,就会开始觉得你有捷径了。为什么呢?因为效率高啊,时间花得短啊。

    光写代码也是没用的。同人于野一篇讲成年人还能不能进步的博客说得很好,知识分为舒适区,学习区和恐慌区。舒适区的意思就是,你很容易就可以做完。学习区 的意思就是,你需要花费大量的智力才可以做完。恐慌区的意思就是,你根本不知道如何下手。当你在为了练习编写大量的代码的时候,你要尽量把题目都安排在学 习区这里,这样才能让你进步快的同时,还不会被问题打倒,可以继续积累成就感了。

    学生做这个最方便了,工作之后,如果刚好遇上个黑心公司要你天天加班,你反而没时间做学习区的内容了,公司给你的肯定是舒适区的苦力活。

    说到这里,如果你还有时间练习的话,千万不要去想:“我每一个程序都要跨平台”,“我只做这个语言”等等。反正将来,语言你都要会,平台的差异你都要知 道,为什么要断送自己了解这些东西的机会呢?你真的以为不知道垃圾收集的原理,和一些底层的可以通过C++的练习而得到的的操作,你真的可以在某些关键时 刻操纵好C#吗?当然有些人会觉得,我估计一辈子不会遇到这些问题的,所以我还是不管他了。人各有志嘛,C#不渡你,也是你自己的事情。如果你真的可以一 辈子都在一个平台上用一种语言做同一种程序做到退休,那真是幸福的生活啊。

    胡扯到这里也差不多了,这就是月经贴,时不时,总是要发一下的。

Windows Phone 8 发布: 成功的换心手术

微软在刚刚开始的 Windows Phone 开发者峰会上正式发布了代号阿波罗的Windows Phone 8操作系统。虽然微软之前几乎没在公开场合提过阿波罗,但新系统变化的大方向早已泄漏。不过整个发布会依然充满惊喜,微软整整演示了一个多小时新功能,完 全不是之前所说的“初窥(Sneak Peek)”。

Windows Phone8发布 一次换心手术

改用Windows 内核

三年半前,微软内部开始研发新移动系统替代无力抗衡竞争对手的 Windows Mobile。2010 年推出的 Windows Phone 7 系统引入 Metro 用户界面,彻底推翻老系统的用户界面。

但 Windows Phone 7 的内核仍然是 WinCE,它像 Windows Mobile 的用户界面一样不堪重用。而Windows Phone 8将放弃 WinCE 内核,改用与 Windows 8 相同的 NT 内核。微软在会上宣称目前有超过 13 亿人正在使用 Windows 内核。

硬件全面提升

采用新内核的Windows Phone 8抛弃了 WinCE 的限制,开始支持双核以及更多内核的处理器。桌面版 Windows 内核最多支持 64 核处理器,但Windows Phone 8显然不会这么多。

高通是Windows Phone 8目前支持的唯一芯片供应商。诺基亚两个月后发布的新旗舰显然会采用 Krait 内核的骁龙 S4 处理器。新系统也开始支持 SD 卡扩展存储。

分 辨率方面,Windows Phone 8支持三种分辨率:800 x 480(15:9)、1280 x 720(16:9)、1280 x 768(15:9)。上一代系统仅支持 800 x 480 一种分辨率。微软承诺应用开发者不需要针对多种分辨率进行重复开发。1280 x 768 是目前最高的手机分辨率,和黑莓 10 测试机相同。

拥抱NFC,发布微软钱包

NFC 也在新系统支持之列。和 Google 钱包不同的是,Windows Phone 8 支持运营商容易接受的安全 SIM 方案。法国电信(Orange)设备副总裁 Yves Maitre 出现在现场视频里支持微软,该公司是第一家支持 Windows Phone NFC 方案的运营商。

微软还推出了自己的电子钱包服务 Wallet hub,作为和 Office、People 同等重要的存在。微软会开放接口,让第三方应用接入微软钱包。

现场演示的微软钱包除了信用卡账号以外,还有航空公司常旅卡、Paypal 账号、图书馆借书卡等账号。

除移动支付外,Windows Phone 8 还支持丰富地 NFC 交互:

用户拿Windows Phone 8手机碰一下 Windows 8 平板就能分享屏幕所显示内容。

碰一下 4 月刊《 连线》杂志上的雷克萨斯 NFC 广告,系统立刻提示是否需要收取内容。

打车,用手机在酒吧门口的出租车 NFC 广告牌面前挥一下就能实现。

Windows Phone8发布 一次换心手术

改进 Metro 用户界面

Metro 用户界面是微软引以为豪的设计突破,也确实和竞争对手不同。Windows Phone 8 在维持原有风格的同时改进了一些设计。比如开始界面开始支持小号动态磁铁(Live Tile),尺寸为原先的四分之一。

新 的开始界面方便用户放置更多应用图标,原本位于右侧的留空也被填满,暗示用户将需要的应用全部丢进主界面——就像Windows 8那样。这改变大体解决了Windows Phone 7应用太多、主界面过长的问题——游戏被丢进 Xbox hub、支付应用和各种会员卡应用被集成进钱包hub。

Windows Phone8发布 一次换心手术

开放原生代码,API 与Windows 8相同

大概是为了换内核后维持兼容性,微软此前只对极少部分重点软件开发商开放原生代码、API 也很封闭。大部分开发者只能依靠 Silverlight,效率不高而且功能严重受限。

换上新内核的Windows Phone 8开始向所有开发者开放原生代码(C 和 C++),应用的性能将得到提升,游戏更是基于 DirectX,方便移植。微软现场在手机和平板上演示了 3D 滚球游戏 Marble Maze,称该游戏从平板移植到手机只需修改极少数代码。

为表现Windows Phone 8游戏机能和物理特效的强大,微软甚至搬出了 AMD 2008 年为桌面平台发布的 Havok硬件加速演示:

微软称Windows Phone 8采用与 Windows 8 相同的 API,简化了移植压力,并且说明Windows Phone 8对应用功能的限制远小于 Windows Phone 7,给开发者更多自由。用于 NFC 功能演示的 Spell It 游戏也被微软作为容易移至的例子。开发者只花两天时间就将应用移植到 Windows Phone 8,并加上 NFC 功能。

现代浏览器 IE 10

根据微软提供的数据,Windows Phone 8 浏览器 SunSpider 得分超过 Galaxy S III、HTC One S(双核高通骁龙 S4)以及iPhone 4S(双核 A5,系统为最新的 iOS 6 beta)。

IE 9 速度不慢,但它的兼容性很有问题。微软称Windows Phone 8搭载的 IE 10 浏览器不但 JavaScript 性能四倍于前任,而且 HTML5 标准支持也两倍于 IE 9。IE 10 也加入了和桌面版相同的危险网站报警功能,帮助用户避开恶意网站。

预装诺基亚地图、导航应用

诺基亚地图去年年底随 Lumia 的发布登录 Windows Phone。今年开始 Lumia 手机已经预装诺基亚地图,但其它厂商 Windows Phone 仍需单独下载。现在所有Windows Phone 8手机都将直接集成诺基亚地图和导航应用。后者曾是诺基亚手机独享,是其实现差异化的一部分。

Symbian 和 N9 拥有的离线地图也被加入Windows Phone 8的诺基亚地图。这功能在出国旅行的时候很方便。

完善企业管理

Bitlocker 加密、安全启动也被加入Windows Phone 8系统。微软称企业 IT 部门可以像管理 Windows 电脑一样管理Windows Phone 8手机,并且新系统也能方便部署企业应用。企业可以通过内部服务器或者 SD 卡分发应用,不需要走官方 Marketplace。

微软甚至专门推出微软 IT(Microsoft IT)动态磁铁,集成用户的企业应用、通知以及公司内重大消息。

语音平台

Windows Phone 7 已经可以语音启动应用,新发布的语音平台(Voice Platform)允许任意第三方应用调用,让用户语音控制应用。

微软现场演示了亚马逊旗下的有声书应用 Audible,能够语音控制翻页、暂停、跳转章节。语音平台不会局限于Windows Phone 8系统,Windows Phone 7.5 下的应用也可以加入该功能。

Windows Phone 8 就像是一次换心手术,在新内核的基础上修复了 Windows Phone 7.5 在大方向上的诸多不足,神的表现达到预期。微软这个月真是重磅消息不断。

对我来说,现在的唯一疑问是 Windows Phone 7.5 的各种细节问题是否得到修正。

更多的 Windows Phone 8 界面截图:

The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live TilesThe new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.

The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.The new Start sceen in Windows Phone 8 is even more flexible, with more theme colors and three sizes of Live Tiles.

An example of how a new company Hub might look in Windows Phone 8.

使用脚踏板离合器操控 Vim

Aleksandr Levchuk 这位老兄可以称得上是 Vim 文本编辑器的超级粉丝。有意思的是,他为了改善 Vim 的文本编辑速度,竟亲自动手为 Vim 制作了脚踏板离合器。当踩下踏板时,就会让 Vim 进入插入模式(效果如按 i 一样);如果松开踏板,则会回到 Vim 的正常模式(就像按了 ESC 键)。

作者将 Vim Clutch 的制作过程放在了 GitHub 上,有兴趣的朋友不妨参考。

新闻来源:LinuxTOY