原文链接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的更多相关文章

  1. Google Gapps – Download Gapps for Android【转】

    http://wiki.rootzwiki.com/Google_Apps http://productforums.google.com/forum/#!forum/apps http://www. ...

  2. Google CFO 辞职信

    Google CFO 辞职信   After nearly 7 years as CFO, I will be retiring from Google to spend more time with ...

  3. 响应式布局1--媒体查询和-webkit-min-device-pixel-ratio

    -webkit-min-device-pixel-ratio其实就是这个玩意 window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pix ...

  4. 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 ...

  5. 如何使用chrome devtool调试Mobile网页?

    凡是做过mobile网页web app开发的朋友一定对开发效率的底下会有吐槽.现在chrome dev tool改变了程序员们的苦比. 0.登录google chrome 1. chrome://in ...

  6. PatentTips - Fast awake from low power mode

    BACKGROUND Electronic devices, such as electronic book readers ("eBook reader devices"), c ...

  7. ARTS打卡计划第八周

    Algorithms: https://leetcode-cn.com/problems/repeated-substring-pattern/ 重复子字符串 Review:  “I’m Leavin ...

  8. Qualcomm_Mobile_OpenCL.pdf 翻译-4-Adreno OpenCL的程序开发

    这章将简要讨论一些开发Adreno OpenCL应用程序的基本要求,下面将会介绍如何调试和统计程序性能. 4.1  安卓平台上开发OpenCL程序 目前,Adreno GPU主要是在安卓操作系统和在部 ...

  9. appium 无法通过工具定位webview页面元素的问题

    app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...

随机推荐

  1. Selenium之ActionChains类、Keys类

    ActionChains类(鼠标操作)常用于模拟鼠标的行为,比如单击.双击.拖拽等行为. 一些常用的模拟鼠标的操作方法有: click(on_element=None)     --- 鼠标单击 do ...

  2. Day 02 作业

    作业 一 什么是编程? 基于编程语言的语法格式将自己脑中里想让计算机做的事,写到文件中. 二 简述计算机五大组成 控制器,运算器,存储器,输入设备,输出设备 三 操作系统有什么用? 操作系统直接与硬件 ...

  3. ueEditor第一次赋值失败

    var ue=null; //在初始化富文本的地方 if (ue == null) { ue = new baidu.editor.ui.Editor(); ue.render('inspection ...

  4. dart入门指南

    近来,flutter的热度在上升.flutter应用的主要开发语言是dart, 因此,欲练flutter, 必先了解dart. dart是由google开发的编程语言,可用于开发移动应用,桌面应用,h ...

  5. PAT1057 Stack(树状数组+倍增)

    目录 题目大意 题目分析 题目大意 要求维护一个栈,提供压栈.弹栈以及求栈内中位数的操作(当栈内元素\(n\)为偶数时,只是求第\(n/2\)个元素而非中间两数的平均值).最多操作100000次,压栈 ...

  6. 02-EF Core笔记之保存数据

    EF Core通过ChangeTracker跟踪需要写入数据库的更改,当需要保存数据时,调用DbContext的SaveChanges方法完成保存. 基本的添加.更新.删除操作示例如下: using ...

  7. iOS开发makeKeyAndVisible和makeKeyWindow区别

    参考链接:https://www.jianshu.com/p/c7647caa8bd1

  8. [Android逆向]APK反编译与回编译

    一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...

  9. Java中往zip压缩包追加文件

    有个需求,从某个接口下载的一个zip压缩包,往里面添加一个说明文件.搜索了一下,没有找到往zip直接添加文件的方法,最终解决方法是先解压.再压缩. 具体过程如下: 1.一个zip文件的压缩和解压工具类 ...

  10. 利用百度AI快速开发出一款“问答机器人”并接入小程序

    先看实现效果: 利用百度UNIT预置的智能问答技能和微信小程序,实现语音问答机器人.这里主要介绍小程序功能开发实现过程,分享主要功能实现的子程序模块,都是干货! 想了解UNIT预置技能调用,请参看我之 ...