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来定位元素 ...
随机推荐
- 记录一些实用的小技巧-JS篇
1.16进制随机颜色 let color = '#'+Math.random().toString(16).slice(-6) 2.类型判断工具函数 function isType(target, t ...
- Ceph 架构以及原理分析
一.架构 Ceph在一个统一的系统中独特地提供对象,块和文件存储. Ceph高度可靠,易于管理且免费. Ceph的强大功能可以改变您公司的IT基础架构以及管理大量数据的能力. Ceph提供了非凡的可扩 ...
- C++使用libcurl做HttpClient 和 curl_easy_setopt
curl_easy_setopt 参数设置 https://curl.haxx.se/libcurl/c/curl_easy_setopt.html 使用libcurl做HttpClient #if ...
- Eclipse添加spring-tool-suite插件
Eclipse添加spring-tool-suite插件 步骤 1.help --> Eclipse Marketplace,在search框中搜索spring-tool-suite,点击右下角 ...
- selenium处理弹窗
处理登录弹窗:https://www.cnblogs.com/TD1900/p/11938573.html #定位弹窗 ale = driver.switch_to.alert #处理方式 ale.a ...
- Vmware Workstation虚拟机
目录 一.虚拟机是什么? 二.虚拟机的作用: 三.虚拟机创建流程 四.新的虚拟机上安装系统 五.虚拟机里添加硬盘 六.磁盘分区 一.虚拟机是什么? 虚拟机指通过软件模拟的具有完整硬件系统功能的.运行在 ...
- selenium滑块操作
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from ...
- 冒泡排序(表格说明)(js)
冒泡排序我自己的理解是(假设从大到小): 比较每一对相邻元素的值,如果前面的元素小于后面的元素那么就将它们交换过来,每次排序的比较次数逐次递减,最后的比较次数为1.总的排序轮数为数组长度减1.为了便于 ...
- .Net Core控制台&EFCore连接Mysql
在用惯了Asp.Net Core提供的基架后,反过来想一想,貌似忘记了控制台如何去连接数据库了,因此,写一篇文章来借此巩固下并以后再来回顾时,加快步骤. 1.新建一个.Net Core控制台,然后安装 ...
- windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;
之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中:我首先通过磁盘精灵 ...