Leaving Google for a couple of devices-Kasper Lund
原文链接https://medium.com/@kasper.lund/building-for-billions-bcb48814d864
一年多以前,我辞去了我在Google的出色工作,离开了一群很棒的同事,与我的好朋友和前Googler同事Lars Bak进行了黑客入侵。我和Lars在一起已经工作了18年以上,我们都为共同开展新的业务而感到兴奋。但是,在Google,我们曾负责V8的最初开发工作-V8是支持Google Chrome和Node.js的JavaScript引擎-因此,我们为数十亿用户和设备构建和交付了软件,因此被宠坏了。您如何做到这一点?
基于我们对智能小工具和支持Internet的设备的功能和健壮性的共同沮丧,我们开始研究为物联网(IoT)尤其是嵌入式网络连接设备开发软件。似乎很吸引人。毕竟,有大量的设备可以定位。
但是,对于像我这样的软件工程师来说,为设备开发并不十分令人满意。它全都涉及具有bug丰富的固件,较长的更新周期和较差的开发经验的专用硬件。感觉就像20年前的软件开发和部署。确实不应该这样。因此,我们组建了一个团队并筹集了资金,以发明出最佳的方法来构建,部署和维护支持Internet的设备的软件。到目前为止,这是我们的故事。
我们于2018年2月启动Toitware。凭借在构建软件平台和虚拟机方面数十年的经验,我们花了第一年的时间为无法运行Linux的小型设备整合了一种易于访问且高效的编程语言。我们运行的具有成本效益的设备(例如ESP32)在某种程度上受到资源的限制,因此该平台必须紧凑-或像我们最喜欢的英国间谍的荷兰仇敌所说的那样紧张。
我们的平台具有基于软件的内存隔离功能,因此可以在部署后将新组件或应用程序添加到设备中,而不会影响安全性。这在开发设置中也很方便,在开发设置中,可以通过小的,有针对性的空中更新(仅影响整个系统的一小部分)来修改新功能。本质上,它是软件平台,而不是固件平台-可独立安装的应用程序,而不是全有或全无系统更新。这是一种强大,适应性强,对开发人员友好的现代物联网方法。
如今,一种常见的设置是使用简单的电池供电传感器,这些传感器通过功能更强大的网关将数据馈送到云中。这使传感器的逻辑和复杂性保持较低,但是它需要进行大规模的集中化处理,并且在等待时间确实很重要或数据丰富且不可预测的情况下无法实现。我们不是唯一注意到这一点的人:
边缘会吃掉云。这也许和云计算趋势一样重要。
云集成对于使边缘数据可被其他系统访问以及协调一组设备非常重要,但它不能独立存在。我们需要在网络边缘进行更多处理和控制,以释放物联网的全部潜力。编写使用网络并安全通信的应用程序应该很容易,但也可以很容易地控制过程或在设备上做出决定,而不必每隔一秒钟咨询一次数据中心。
在过去的一年中,我们为物联网的新的端到端软件开发和部署平台奠定了基础。我们的使命是使设备开发民主化,并允许没有电气工程背景的人们制造能够与现实世界互动的电池驱动设备。
我们的使命是雄心勃勃的,因此我们很高兴能在漫长的旅途中拥有出色的陪伴。我们刚刚宣布了种子投资回合,我们已与Creandum合作破坏并挑战了嵌入式开发的现状-我鼓励您也阅读投资者对此的看法。再次拥有一支令人吃惊的团队和强大而坚定的支持者,这真是太好了。
我们正在招聘,并且正在为数十亿个设备构建软件。
Kasper Lund是编程语言和虚拟机的资深人士。他在网络连接设备的软件平台上撰写了论文。后来,他与Google共同创立了V8和Dart项目,并将自适应优化技术带入JavaScript,成为Crankshaft项目的技术负责人。他住在丹麦的奥尔胡斯,是Toitware的首席执行官兼联合创始人。
ps:此人也算是教父级别的程序员,其对iot观点值得看一下。
Leaving Google for a couple of devices-Kasper Lund的更多相关文章
- Google Gapps – Download Gapps for Android【转】
http://wiki.rootzwiki.com/Google_Apps http://productforums.google.com/forum/#!forum/apps http://www. ...
- Google CFO 辞职信
Google CFO 辞职信 After nearly 7 years as CFO, I will be retiring from Google to spend more time with ...
- 响应式布局1--媒体查询和-webkit-min-device-pixel-ratio
-webkit-min-device-pixel-ratio其实就是这个玩意 window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pix ...
- ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS
ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...
- 如何使用chrome devtool调试Mobile网页?
凡是做过mobile网页web app开发的朋友一定对开发效率的底下会有吐槽.现在chrome dev tool改变了程序员们的苦比. 0.登录google chrome 1. chrome://in ...
- PatentTips - Fast awake from low power mode
BACKGROUND Electronic devices, such as electronic book readers ("eBook reader devices"), c ...
- ARTS打卡计划第八周
Algorithms: https://leetcode-cn.com/problems/repeated-substring-pattern/ 重复子字符串 Review: “I’m Leavin ...
- Qualcomm_Mobile_OpenCL.pdf 翻译-4-Adreno OpenCL的程序开发
这章将简要讨论一些开发Adreno OpenCL应用程序的基本要求,下面将会介绍如何调试和统计程序性能. 4.1 安卓平台上开发OpenCL程序 目前,Adreno GPU主要是在安卓操作系统和在部 ...
- appium 无法通过工具定位webview页面元素的问题
app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...
随机推荐
- 史上最全的iptables应用
第14章 防火墙的使用 14.1 防火墙的概念 将不安全的网络流量信息进行隔离 14.2 防火墙的实现 14.2.1 硬件实现 思科,华为防火墙服务器 14.2.2 软件实现 iptables(cen ...
- VIP 视频开发板 上位机 测试软件 下载地址,玩转各自分辨率(V201抢先版)
本上位机最高测试帧率 133fps 目前支持分辨率:更多分辨率支持,敬请期待或给我留言VGA:640*4801.3M:1280*10242M:1600*1200786p:1024*768 格式兼容:1 ...
- IP,MAC
MAC寻址与IP寻址 两者是协议上的区分,MAC地址是网卡的物理地址,是提供二层交换机转发数据的,交换机会在自己的内部形成一个MAC地址表,然后根据这个表转发数据包:再者,如果说网络规模大一点的话,机 ...
- django----cookie与session 和 中间件
目录 cookie与session简介及操作 cookie django中操作cookie cookie超时时间 删除cookie session session操作 设置 key value发生了什 ...
- zabbix主动模式无法获取网卡和文件系统数据
zabbix版本为4.2,根据网上教程将zabbixagent设置成主动模式后,将templates中各Items的type改为Zabbix agent (active),同时将Discovery r ...
- 使用python实现哈希表、字典、集合
哈希表 哈希表(Hash Table, 又称为散列表),是一种线性表的存储结构.哈希表由一个直接寻址表和一个哈希函数组成.哈希函数h(k)将元素关键字k作为自变量,返回元素的存储下标. 简单哈希函数: ...
- rabbitmq~消息失败后重试达到 TTL放到死信队列(事务型消息补偿机制)
这是一个基于消息的分布式事务的一部分,主要通过消息来实现,生产者把消息发到队列后,由消费方去执行剩下的逻辑,而当消费方处理失败后,我们需要进行重试,即为了最现数据的最终一致性,在rabbitmq里,它 ...
- uni-app实现图片和视频上传功能
使用uni-app实现点击上传,既可以上传视频,有可以上传图片,图片预览,删除图片和视频功能,最终效果如下.uni-app里面没有提供同时上传视频和图片这个插件,只能靠自己手写, 1.页面布局 通过 ...
- 【AHOI 2013】差异
Problem Description 给定一个长度为 \(n\) 的字符串 \(S\),令 \(T_i\) 表示它从第 \(i\) 个字符开始的后缀.求 \(\sum_{1\leqslant i&l ...
- k8s~k8s里的服务Service
k8s用命名空间namespace把资源进行隔离,默认情况下,相同的命名空间里的服务可以相互通讯,反之进行隔离. 服务Service 1.1 Service Kubernetes中一个应用服务会有一个 ...