是微服务架构不香还是云不香?
这两天技术圈里热议的一件事就是Amazon的流媒体平台Prime Video在2023年3月22日发布了一篇技术博客《规模化Prime Video的音视频监控服务,成本降低90%》,副标题:“从分布式微服务架构到单体应用程序的转变有助于实现更高的规模、弹性和降低成本”,有人把这篇文章在五一期间转到了reddit 和 hacker news 上,在Reddit上热议。这种话题与业内推崇的微服务架构形成了鲜明的对比。从“微服务架构”转“单体架构”,还是Amazon干的,这个话题足够劲爆。然后DHH在刚喷完Typescript后继续发文《即便是亚马逊也无法理解Servless或微服务》,继续抨击微服务架构,于是,瞬间引爆技术圈,登上技术圈热搜。
今天上午有好几个朋友在微信里转了三篇文章给我,如下所示:
《微服务是不是个蠢主意?》
《单体回归?亚马逊放弃用于视频监控的微服务 》
《从微服务转为单体架构、成本降低 90%,亚马逊内部案例引发轰动》
看看这些标题就知道这些文章要的是流量而不是好好写篇文章。看到第二篇,你还真当 Prime Video 就是 Amazon 的全部么?然后, ...
我看ChatGPT: 为啥谷歌掉了千亿美金
两个月前,我试着想用 ChatGPT 帮我写篇文章《eBPF 介绍》,结果错误百出,导致我又要从头改一遍,从那天我觉得 ChatGPT 生成的内容完全不靠谱,所以,从那天开始我说我不会再用 ChatGPT 来写文章(这篇文章不是由 ChatGPT 生成),因为,在试过一段时间后,我对 ChatGTP 有基于如下的认识:
ChatGPT 不是基于事实,是基于语言模型的,事实对他来说不重要,对他重要的是他能读懂你的问题,并按照一定的套路回答你的问题。
因为是基于套路的回答,所以,他并不能保证内容是对的,他的目标是找到漂亮的精彩的套路,于是,你会发现,他的内容组织能力和表述还不错,但是只要你认真玩上一段时间,你会发现,ChatGPT 那些表述的套路其实也比较平常一般。它的很多回答其实都不深,只能在表面上。就像 Github 的 Copilot 一样,写不了什么高级的代码,只能帮你写一些常规格式化的代码(当然,这也够了)
ChatGPT 就是一个语言模型,如果不给他足够的数据和信息,它基本就是在胡编乱造
所以,基于上面这两个点认识,以发展的眼光来看问题, ...
聊聊 nostr 和 审查
这两天在网络上又有一个东西火了,Twitter 的创始人 @jack 新的社交 iOS App Damus 上苹果商店(第二天就因为违反中国法律在中国区下架了),这个软件是一个去中心化的 Twitter,使用到的是 nostr – Notes and Other Stuff Transmitted by Relays 的协议(协议简介,协议细节),协议简介中有很大的篇幅是在批评Twitter和其相类似的中心化的产品,如:Mastodon 和 Secure Scuttlebutt 。我顺着去看了一下这个协议,发现这个协议真是非常的简单,简单到几句话就可以讲清楚了。
目录
通讯过程
技术细节摘要
如何对抗网络审查
如何对抗Spam和骗子
怎么理解审查
通讯过程
这个协议中有两个东西,一个是 client,一个是 relay,client 就是用户社交的客户端,relay 就是转发服务器。
用户不需要注册,用户只需要有一个密钥对(公钥+私钥)就好了,然后把要发的信息做签名,发给一组 relays
然后你的 ...
50年前的登月程序和程序员有多硬核
2019年7月20日,是有纪念意义的一天,这天不是因为广大网民帮周杰伦在新浪微博上的超话刷到第一,而是阿波罗登月的50周年的纪念日。早在几年前,在Github上放出了当年Apollo飞船使用的源代码(当然是汇编的),但完全不明白为什么这几天会有一些中国的小朋友到这个github的issue里灌水……,人类历史上这么伟大的一件事,为什么不借这个机会学习一下呢?下面是一些阿波罗登月与程序员相关的小故事,顺着这些东西,你可以把你的周末和精力用得更有价值。
首先,要说的是Apollo 11导航的源代码,这些代码的设计负责人叫Margaret Heafield Hamilton ,是一个女程序员,专业是数学和哲学,1960年得到一个MIT麻省理工大学的临时的软件开发职位,负责在PDP-1和LGP-30上运行天气预报的软件(注:在计算机历史上,PDP系统机器被称为Hack文化的重要推手,PDP-11推了Unix操作系统,而Unix操作系统则是黑客文化的重要产品。参看《Unix传奇》)。然后,她又为美国空军编写探测知敌方飞行的软件,之后,于1965年的时候,她加入了MIT仪器实验室,并 ...
StackOverflow 2019 程序员调查
前些天,StackOverflow 发布了 2019年的年度程序员调查,这个调查报查有90000名程序员参与,这份调度报告平均花了20分钟,可见,这份报告有很多的问题,也是很详细的。这份报告有一些地方,让我有了一些思考。
首先,我们先来看一下之份报告的 Key Results:
Python 成为了过去一年中成长最快的语言,把Java挤到了第二位,排在后面的是Rust语言。
有半数以上的被访者在是在16岁写下自己的第一行代码。
DevOps Specialists 和 Site Reliability Engineers 是程序员中最有经验,技术最牛,薪资最好的职位。(这对应于国内的——系统架构师)
在几个头部的程序员大国中,中国的程序员最乐观的,他们相信在今天出生的人会有比他们父母更好的人生。对于欧洲的程序员来说,比较法国和德国的程序员,他们对未来并不太乐观。
对于最影响程序员生产力的事,不同的程序员有不同的想法。
第一部分,Developer Profile
在第一部分中,我们可以看到,中国程序员参与这个调查的并不多,程序员主要集中在美国、欧洲、印度这三个地方。所 ...
AWS 的 S3 故障回顾和思考
继Gitlab的误删除数据事件没几天,“不沉航母” AWS S3 (Simple Storage Service)几天前也“沉”了4个小时,墙外的半个互联网也跟着挂了。如约,按 AWS 惯例,AWS今天给出了一个简单的故障报告《Summary of the Amazon S3 Service Disruption in the Northern Virginia (US-EAST-1) Region》。这个故障和简单来说和Gitlab一样,也是人员误操作。先简单的说一下这份报中说了什么。
故障原因
简单来说,这天,有一个 AWS 工程师在调查 Northern Virginia (US-EAST-1) Region 上 S3 的一个和账务系统相关的问题,这个问题是S3的账务系统变慢了(我估计这个故障在Amazon里可能是Sev2级,Sev2级的故障在Amazon算是比较大的故障,需要很快解决),Oncall的开发工程师(注:Amazon的运维都是由开发工程师来干的,所以Amazon内部嬉称SDE-Software Developer Engineer 为 Someone D ...
扎克伯格的一封信:关于Facebook IPO
MENLO PARK, CA (The Borowitz Report) – 在Fackbook IPO前夕,Facebook的创始人兼CEO Mark Zuckerberg 给全球股民发表了封公开信:
亲爱的股民们:
这么多年来,你们已经在Facebook上浪费了你们的时间 ,接下来,你们会得到浪费你们金钱的机会。
明天是Facebook的IPO,并且我知道你们一定在想,Facebook怎么就和2000年的.COM泡沫不一样啦?
首先,我想告诉你们,以前那些糟糕的dot-com公司玩的是概念和炒作,而没有真正的商业价值。而Facebook不一样,也就是说,我们Facebook是建立在强大的以“疯狂的小鸟”和“一群想像中的羊”的基础上的。
其次,Facebook是世界上最成功的社交网络,我们的用户最近才发现,这个社交网络让人们分享了数以万计别人根本不感兴趣的信息。
第三,当某人点击Faceback广告的时候,我们就会挣到钱。而且我们知道,点我们广告的人都不是故意点击,成百万的人点我们的广告是因为那时他们喝醉了。我们完全从iTune ...
谈谈数据安全和云存储
前些天,创新工场李开复同学在2012博鳌亚洲论坛表示:
“你们有多少人丢过手机?大概有15%。你们有多少人数据放在微软掉过的?我想不见得很多吧。所以相对来说是安全的。放在大公司里比自己拿着掉的概率更大,你不相信的话,可以问陈冠希先生。”
目录
两种安全
Security – 本地 vs 云端
Availability – 本地 vs 云端
家庭私有云存储
两种安全
看到这个消息的时候,我觉得李开复同学混淆了云存储和安全这两个概念,在英文里,有两个单词,一个是Safety,一个是Security,很不幸的是,这两个英文单词翻译成中文都叫“安全”,因此总是被混淆,熟知英文又熟悉IT业的李开复同学在这个句子中混淆了这“两种安全”,我在我的微博上指出来后,居然还有很多网友继续混淆这两点,所以,这让我产生了写篇博文的说明一下,并顺着说说云存储和数据安全的个人理解。
所谓Safety,也就是数据不丢失的意思。这是目前云存储解决的问题,你可以把你的数据放在云端,你的所有的终端设备都可以通过云端来共享同步你的数据,这样,云端就 ...
Hash Collision DoS 问题
最近,除了国内明文密码的安全事件,还有一个事是比较大的,那就是 Hash Collision DoS (Hash碰撞的拒绝式服务攻击),有恶意的人会通过这个安全弱点会让你的服务器运行巨慢无比。这个安全弱点利用了各语言的Hash算法的“非随机性”可以制造出N多的value不一样,但是key一样数据,然后让你的Hash表成为一张单向链表,而导致你的整个网站或是程序的运行性能以级数下降(可以很轻松的让你的CPU升到100%)。目前,这个问题出现于Java, JRuby, PHP, Python, Rubinius, Ruby这些语言中,主要:
Java, 所有版本
JRuby <= 1.6.5 (目前fix在 1.6.5.1)
PHP <= 5.3.8, <= 5.4.0RC3 (目前fix在 5.3.9, 5.4.0RC4)
Python, all versions
Rubinius, all versions
Ruby <= 1.8.7-p356 (目前fix在 1.8.7-p357, 1.9.x)
Ap ...
CSDN明文口令泄露的启示
2011年12月21日晚,某计算机专业的大学生寝室,某同学大叫到:“兄弟们,最新的日本XX女星的AV片已经下好,大家快过来看啊,相当精彩啊~~~”,然而,这个寝室里的其它同学似乎没有听到这哥们的呼喊,于是,这哥们又叫了三次,没有人理他,因为大家都在眉飞色舞地谈论着CSDN的明文密码和用户帐号泄露的事情,并在网上查找着下载CSDN那600万的用户数据……上面这个故事是我编的,只是想描述一下昨晚的情形。
其实,CSDN明文密码并不是什么稀奇的事情,我是2000年注册CSDN的吧,当时找回口令的机制就是把口令直接传回来了,这一定是明文了。去年去CSDN参加移动互联网沙龙的时候,范凯和蒋涛说过明文密码的事,不过他们说的是很早以前的事了,而且一笔带过了。1年后的今天,事情又暴了,可见,“出来混的,迟早是要还的”这句话是几近真理的。
我在以前的BLOG里就提到过CSDN的明文密码(在“如何设计用户登录功能”一文)和 帐号泄露(“如何设计自己的口令”) 的事(由此可见,酷壳里的很多文章里的事都应验了,因为我知道“出来混的,迟早是要还的”)
(可悲吧?还是程序员的网站呢,明文口令和用户信息泄露有悖于 ...
腾讯,竞争力 和 用户体验
自从那篇rant了一堆公司都的文章发布来,得到了大家的关注,有些朋友让我写一下腾讯,在我的微博上(@左耳朵耗子)还有位腾讯的朋友让我也评价一下腾讯。本来不想写的,觉得腾讯没啥好说的,但是因为下面的几个原因,让我有点坐不住了:
这两天知乎上的一个“腾讯的核心竞争力”的贴子在微博上被很多人所推崇。
还有一个网友发邮件给我说让我别rant了,宁可C2C也比rant有意义。
我周末的时候去豆瓣和他们交流了一些关于产品和用户体验方面的话题。
还看到了Jeff Bezos的访谈文章《贝佐斯:亚马逊是科技界唯一一家低利润公司》
于是就有了这篇文章,但不想再rant了,我希望这篇文章更有价值一些,但是我喜欢的调侃的风格依然,因为这是我觉得能让文章有趣味的方式。
目录
腾讯的“价值”
“腾讯的核心竞争力”一文
腾讯的软肋
真正的用户体验
腾讯的“价值”
首先我想说说腾讯的价值。根据我那篇 rant 的文章来说,我觉得人要活得有价值,事业也要做得有价值。我不太待见那些没有价值的东西。所以,我在那篇文章里让大家都思考了一个问题,我们做 ...
来信, 创业 和 移动互联网
上一篇博文翻译了Steve Yegge的rant,这两天有一些事让我也想rant一下(所谓rant就是一篇巨长无比的抱怨和说教),不过无论是从见解还是恶搞来说肯定没有SteveY的水平高,所以,这篇博文只是单纯的rant,看标题就知道了,就像“篱笆,女人和狗”一样,乡土味实足。所以,下述的一些观点未必正确,也未必靠谱,也就是我的个人唠叨罢了,我想到哪里说到哪里。(篇幅较长,见谅)
目录
引子
邮件回复
创业 和 事业
移动互联网
结尾
引子
我前两天,收到一封邮件,一位快要毕业的的大学生问我,是去百度,还是去创新工场?他在来信中说,从个人道德价值观来说,他想去创新工场,要远离流氓企业,不然会有狼狈为奸、助纣为虐的感觉,对不起自己。但是创新工场那边情况不熟悉, 不知道怎么选择,并问我现在比较热的移动互联网靠不靠谱。
正好这两天我在微博里看到大家转贴李开复的几个让毕业生创业的微博,比如,这个微博,还有 这个微博。呵呵。
李开复:有关毕业生高科技创业,我的建议:1)创业需要理解趋势、汇集精英、实践经验,因此大学 ...
Amazon的书为什么卖到了$2000万
最近,Amazon的新闻比较多,除了Amazon的云平台宕机外,还有一个被热炒的新闻是在Amazon的书店里,有一本书要买$23,698,655.93美元,相当于1亿5千万人民币(如下图所示),这个事情是由UC Berkeley的生物学家Michael Eisen发现的,然后他在他的博客上写了一篇文章来说明这个事情。
这本书是1992年,现在绝版了,生物学家决定上Amazon找一下,结果看到了有两本新书,还有一些二手的,二手书价比较正常,但是那两个新书的价都上了百万。这个生物学家还写了邮件给原作者和原作者开了玩笑。呵呵。
一般人可能就把这个事当成个笑话了,不过,教授就是教授,它还认真的研究了一下为什么会这样。
首先,这个不是Amazon的订价的问题,这是Amazon的第三方商户平台两个商户报价,一个商户叫profnath,另一个商户叫bordeebook。我们的生物学教授观察这两个商户的书价了几天,看到了下面的结果:
从上面的表中,我们可以看到,profnath商户的价格总是bordeebook的99.83%,而bordeebook的总是比profnath的高27.059%,很 ...
关于Amazon云宕机的网贴收集
最近,互联网上最大的事可能是Amazon的AWS宕机了,而且好几天都没有完全恢复。整个Internet都在讨论这个事,Internet很不高兴,后果可能很严重。可能是因为这个事件对中国没有影响,所以中文这边相关的文章不多,大家可以参考一下和讯网的这篇《伤不起!亚马逊史前最大宕机事件的启示》。
国外有人把所有和这个事件相关的贴子都收集了起来,都是一些相当不错的贴子和文章,尤其是一些经验教训的贴子,很受教,转给大家看看。这个贴子的来源在这里。
目录
个别公司的经历,有好有坏
Amazon Web Services 讨论区
总结
立场:这是用户的错
立场:这是Amazon的错
教训和启示
Vendor很生气
个别公司的经历,有好有坏
How Heroku Survived the Amazon Outage on the Heroku status page
How SimpleGeo Stayed Up During the AWS Downtime by Mike Malone
How SmugMug ...
Sony PS3 Root Key 被破解
著名的黑客George “GeoHot” Hotz(其也帮助破解了iPhone)宣称破解了Sony P3的root key(也称front door key),并将这个key公布于 http://www.geohot.com/ (墙)。不但发布了root key,还做了一个hello world。Youtube上也有一个相关的视频:http://www.youtube.com/watch?v=UkLSXsCKDkg
erk: C0 CE FE 84 C2 27 F7 5B D0 7A 7E B8 46 50 9F 93 B2 38 E7 70 DA CB 9F F4 A3 88 F8 12 48 2B E2 1B
riv: 47 EE 74 54 E4 77 4C C9 B8 96 0C 7B 59 F4 C1 4D
pub: C2 D4 AA F3 19 35 50 19 AF 99 D4 4E 2B 58 CA 29 25 2C 89 12 3D 11 D6 21 8F 40 B1 38 CA B2 9B 71 01 F3 AE B7 2A 97 50 19
R: 8 ...
为什么敏捷方法能在软件开发中行之有效?
文章来源 – Martin Fowler 和 Neal Ford 在 Paris – USI 2010 的演讲
有很多的书籍讨论敏捷方法是怎样工作的(How it works?),在这个主题演讲中,Martin Fowler 和他的同事 Neal Ford 讨论了敏捷方法能够在软件开发项目中行之有效的原因(Why it works?)。作为敏捷方法的发起人和传道者,Martin Fowler 和 ThoughtWorks 一直试图从理论层面证明敏捷方法的可行性,同时不厌其烦地解答着客户们的各种困惑,正如他们所说,敏捷方法中的很多概念不是特别的直观,除非人们真正实践过一段时间,否则有些概念很难从字面上去完全理解。
Martin Fowler 谈到一个有意思的现象,那就是今天许多人们口中谈论的敏捷方法,和最初的敏捷方法大相径庭,他把这种现象称为“语义扩散(Semantic Diffusion)”,大意是某种思想在传播的过程中,在逐渐扩散的同时,其语义也渐渐变得模糊。在敏捷开发领域里,“语义扩散”导致的一个问题是,在一些使用敏捷方法的项目或者公司中,我们甚至无法辨别出敏捷方法的影子,原因是 ...
Google App Inventor
Google 本周一发布了一个新的工作可以让任何人创建Android手机应用。这个工具叫Google App Inventor。(目前, App Inventor好像只对教育者开放)Google说:“你不必是一个专业开发人员就能轻松使用App Inventor。使用App Inventor无须掌握编程知识。因为你根本就不需要编写代码,你只需在可视化界面上设计应用的界面,并使用“blocks”指定应用的行为(behavior)。”
Google Android App Inventor
注意,Google说的是任何人,也就是包括那些不会编程的人。这个工具可以将枯燥的代码变成了一块一块的拼图,你需要做的只是把这些零散的拼图按照你自己的意思组合在一起,点击生成,你的第一个 Android 程序就诞生了。这里有一篇来自 纽约时代的报道,《纽约时代》报道称,App Inventor已经在六年级的孩子们中完成测试,他们能够使用App Inventor制作简单的应用。如果你可以访问Youtube的话,你可以看看这个视频。
这个想法,这会让 Android 市场不仅对 ...
2000年的iMac和2010年的iPhone
以前本站发过“1980年和2009年的1GB电脑内存的比较”,下面是2000年的iMac和2010年的iPhone的比较。
2000 – iMac
操作系统 – Mac OS 9.0.4
处理器 – 500 MHz PowerPC G3 CPU, 128MB Memory
显示卡 – ATI Rage 128 Pro, 8MB of memory (8 million triangles)
屏幕- 786K pixels
数据传输速度 – 1.3-12.5 MB/s (DVD-ROM-1/100 Ethernet)
存储设备 – 30GB Hard Drive
显示器 – 15.0 x 15.0 x 17.1 inches
重量 – 12.25公斤
2010 – iPhone 4操作系统 – iOS 4.0
处理器 – 1 Ghz ARM A4 CPU, 512MB Memory
显示卡 – PowerVR SGX 535, uses system memory (28 million tria ...
DEMO Spring 2010 获奖产品
文章来源 mashable.com
在刚刚结束的 DEMO Spring 2010 中,执行制作人 Matt Marshall 宣布了获得 DEMO 大奖的各类 IT 产品,以及由大众评选出的最佳产品,作为奖品, DEMO 将为该产品提供价值100万美元的 IDG 广告宣传。以下是各类奖项的归属:
移动产品 Zosh
Zosh 是一个 iPhone 应用。有了Zosh,你无需使用扫描仪或者传真机即可实现对文档签名,Zosh支持的文档格式有:PDF,Office,以及图像文档。点此处查看 产品详情。
具体操作方法:
1. 打开邮件中的附件文档,将其发送至Zosh(本地)。
2. 在Zosh中打开该文档,使用手写输入签名。
3. 将签名作为一个“图层”合并到文档中。
社交和媒体产品 Everloop
Everloop 是一个网络社交应用,目标用户是8到13岁的儿童。其现在是一个 White Label 产品(由一个公司开发,但由其他公司进行再包装和市场营销的产品),很快将会独立运营。
基于云计算的产品 Gwabbit
Gwabbit 已经两次获得 DEMO God 奖项。它的新产品 ...
Titanium – 桌面和移动应用开发平台
文章来源 www.readwriteweb.com
2010年3月8日,Appcelerator 公司发布了 Titanium 的 1.0 版本。 Titanium 是一个桌面和移动应用程序开发平台,基于此平台,开发人员可以使用标准的 WEB 技术如 HTML,JavaScript,和 CSS 来开发桌面和移动应用程序。
和其他开发平台所宣传的开发移动应用无需理解本机代码不同, Titanium 允许开发人员使用他们熟悉的编程技术来开发本机(native)移动应用,同时效果和功能与那些使用平台特定语言编写的应用相同,如可以操纵内置相机、播放视频流等等。 Titanium 的产品代码在近几个月内得到了优化,在性能方面得到了多处改进,加载时间由原来的10-20秒下降为3秒,页面切换非常迅速,处理速度提高了5倍。同时还增加了一些新的功能,如超过100个本机界面控件,2D 和 3D 动画及媒体处理机能。有了这些方面的增强,开发人员可以在 Titanium 支持的平台上开发品牌化应用, 休闲游戏, 以及增强现实应用。
当被问到 Titanium 与其他开发平台的不同之处在哪里时,公司的营销副 ...