Erlang/Elixir精选-第5期(20200106)
The forgotten ideas in computer science-Joe Armestrong
在2020年的第一期里面,一起回顾2018年Joe的 The forgotten ideas in computer science。在40多分钟里面总结了他精挑的个人最佳List.
强烈建议配合着视频回看❤️❤️❤️❤️❤️
Part 1 Motivation
最初只是想想了解计算机科学中那些forgotten ideas,后来变成了想知道Silly ideas,Hot research topics,Bad ideas...然后就想做个人列表排行。
As with our colleges, so with a hundred "modern improvements”; there is an illusion about them; there is not always a positive advance ... Our inventions are wont to be pretty toys, which distract our attention from serious things.
Henry David ThoreauWalden (1854)
How to make a list
- Collect lots of items easy
- Assign to lists difficult
- Shorten the lists to N items (N is small) very difficultThrowing things away is much more difficult than collecting things - but what’s left is better.
Part 2 Things to learn
Essential Guide to CS
- 80 things in 18 categories(some old, some new, some forgotten)
- Pix and Mix
- Not all equally importantI’ll talk about the most important oneslater
- 2 great papers to read
- 4 old tools to learn
- 4 really bad things
- 3 great books to read
- 7 reasons why software is difficult now
- 10 reasons why software was easier back in the day
- 1 fun programming exercise
- 8 great machines from the past
- 3 performance improvements
- 5+ YouTube videos to watch
- 6 things not to do
- 5 sins
- 4 languages to learn
- 4 great forgotten ideas
- 6 areas to research
- 2 dangers
- 4 ideas that are obvious now but strange at first
- 2 fantastic programs to try
2 great papers to read
- A Plea for Lean Software - Niklaus Wirth
- The Emperor's Old Clothes- ACM Turing award lecture - Tony Hoare
4 old tools to learn
- emacs (vi)
- bash
- make
- shell
4 really bad things
- Lack of Privacy
- Attempts to manipulate us through social media
- Vendor Lock in
- Terms and Conditions
3 great books to read
- Algorithms+Data Structures=Programs
- The mythical man-month(人月神话)
- How to win friends and influence people(人性的弱点-卡内基)
7 reasons why software is difficult now
- Fast machines
- Huge memory
- Hundreds of PLs
- Distributed
- Huge programs
- No specifications
- Reuse
10 reasons why software was easier back in the day
- Small machines
- Small memory
- Few languages
- Not distributed
- No reuse of code
- No Xcode etc
- No GIT.
- Complete control
- Did not communicate
- Understandable in it’s entirety
8 great machines from the past
3 performance improvements
- Better algorithms ( x 6) (Interpreter -> Compiler)
- Better Programming language (x50) (Prolog -> C)
- Better Hardware (x1000 per 10 years)
5+ YouTube videos to watch
- The computer revolution has not happened yetAlan Kay
- Computers for CynicsTed Nelson
- Free is a lie (Aaron Balkan)
- How a handful of tech companies control billions of minds every day Tristan Harris (TED-Talk)
- Matt Might - Winning the War on Error: Solving Halting Problem, Curing Cancer - Code Mesh 2017
6 things not to do
- Backdoors
- Violate privacy
- Put microphones in everybody's houses
- Hijack our attention system
- Hijack our social systems
- Sell crap that we don’t want or need
5 sins
- Crap documentation
- Crap website
- Crap dependencies
- Crap build instructions
- Group think
4 languages to learn
- C
- Prolog
- Erlang
- Javascript
Great forgotten Ideas
- Linda tuple spaces
- Boyer–Moore string search algorithm
- Flow-based programming
- Project Xanadu
- Unix pipelines
Pipes :The output of my program should be the input to your program A | B | C
Text-flows across the boundary, Killed by GUI sand Apps.
Part 3 Important noncomputer science things
learn to write
A program with excellent documentation is not going to go anywhere
3 rules at work
- If you get a bad boss move immediately do not try to change your boss
- The relationship comes first (Jane Walerud)
- Engage with managementjust because they do not understand what you are saying is no reason not to talk to them - and whose fault is it anyway (that they don’t understand you)
7 distractions
- Open plan offices
- The latest stuff
- Twitter/Facebook (social media)
- Notifications (turn ‘em off)
- Links (don’t click on them)
- Ban Scrum etc.
- We can only do one thing at a time Our brains are terribly bad at context switching
6 ways to get your boss to
- Do things that gain trust
- Tell success stories
- Reduce fear of failure
- Introduce on a small scale - for a part of the problem
- Network with Erlang folks
- Make a prototype at home
1 thing to look for when applying for a new job
Look at their balance sheeta company with a positive cash flow and increasing profits is good to work for - a company that makes a loss is not good to work for
3 general laws
- Software complexity grows with time (because we build on old stuff)
- Bad code crowds out good (Gresham’s law) bad money drives out good (clipping)
- Bad code contaminates good code
Part 4 Important half forgotten BIG ideas
Things can be small
- Forth OS 24 KB
- Forth compiler 12KB
- IBM PC DOS < 640KB
- USCD Pascal
- Turbo Pascal
- Turbo C
The old truths
- Keep it simple
- Make it small
- Make it correct
- Fight complexity
Learning
- Kids can learn computing
- OAPs can learn computing
- Everybody can learn computing It was easy to learn BASIC back in the 80’s sowhy is it more difficult now?
Part 5 What we can do
- Unbreak the webMake it read/write symmetric
- Bring computation to the edge network
- Ensure that all personal data is owned by the individual and not by large corporations
- Make computing easy again
- Build Apps so they can communicate with each other
A program that is not secure and cannot be remotely controlled should not be written.
个人感受
感觉老爷子是一个聪明(智慧)且非常有激情的人,乐于分享。恨不得在这40分钟内把所有的技术积累、人生经验都能分享给大家。老一辈也有信息过载的焦虑,可能感受到他对现代人对社交平台的过度依赖的担心。中间一大段对tiddlywiki的推荐和Joe把自己的博客主页全部变成tiddlywiki,让我花了2小时在去官网上下载体验了一把,但是给人的感觉是上世纪的东西,我想这也是它不火,特别小众的原因吧。看样子几乎没有人用。官网例子也是几年前。
欢迎来语雀投稿或推荐,精选每周一发布,同步更新在语雀,博客园。
Erlang/Elixir精选-第5期(20200106)的更多相关文章
- Erlang/Elixir精选-第4期(20191223)
精选文章 A digital symphony - The architecture of API Fortress. 使用Actor模型来支持基于微服务的大规模分布式软件架构.用实例解释了Actor ...
- Erlang/Elixir精选-第1期
第1期(20191202) 文章 A short guide to the structure and internals of the Erlang distributed messaging fa ...
- Erlang/Elixir精选-第2期(20191209)
Spot The Discrepancies with Dialyzer for Erlang. 如何在大型Erlang项目中从零开始一步步践行Dialyzer. Which companies ar ...
- Erlang/Elixir精选-第3期(20191216)
2019年,Erlang社区在应用层上除了aeternity区块链让人印象深刻(Killer App)外,就没有特别出彩的应用出现.在Web,IoT,MessageQueue这些成熟领域,已经有相当成 ...
- Erlang/Elixir精选-第6期(20200113)
精选文章 Implementing languages on the Erlang VM. -Robert Virding. 因为视频没有显示PPT,PPT可以在点击这里下载. leex - lexi ...
- Erlang/Elixir精选Q&A
精选的定位是什么? 已至2019年,Erlang/Elixir中文社区还是一座黑暗森林,每个技术人都怀揣着自己独有的葵花宝典独自摸索,没有一个开放的分享平台,大量优质文章没有得到该有的关注. 与此同时 ...
- erlang,elixir安装
erlang下载地址:https://packages.erlang-solutions.com/erlang/ elixir(precompile版)下载地址:https://github.com/ ...
- Skynet Pomelo Erlang Elixir 的认识
1.skynet pomelo(node.js) elixir(erlang) 周末研究总结 手游这两年发展来看,感觉对实时性要求越来越高,有同事在研究Elixir开发,google得知这东西是基于e ...
- Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器
这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...
随机推荐
- 分段控制器UISegmentedControl的使用、同一个控制器中实现多个View的切换、addChildViewController等方法的使用
本文先讲解简单的分段控制器UISegmentedControl的使用,然后具体讲解它最常使用的场景:同一个控制器中实现多个View的切换. 文章构思: 1.先直接讲解一张UI效果图的四种实现方式. 2 ...
- 图论介绍(Graph Theory)
1 图论概述 1.1 发展历史 第一阶段: 1736:欧拉发表首篇关于图论的文章,研究了哥尼斯堡七桥问题,被称为图论之父 1750:提出了拓扑学的第一个定理,多面体欧拉公式:V-E+F=2 第二阶段( ...
- vue-cli 初始化项目时开发环境中的跨域问题
最近刚刚完成自己的毕业设计(基于Vue的信息资讯展示与管理平台),于是想整理一下过程遇到的一些问题. 项目基于Vue开发,使用 Vue-cli 初始化项目文件目录时默认占用8080端口,而我又想使用 ...
- day07 集合
''' list,查询过程中修改,会报错,类似java的并发修改异常 Traceback (most recent call last): File "C:/1xubenqing/pytho ...
- day6 作业 购物车
- Date.parse在IE/Firefox下有兼容性问题
原因: IE和Firefox是不支持含有'-'字符的日期格式,如:"2018-11-23" 解决方法: 日期格式 'yyyy-mm-dd' 改成 'yyyy/mm/dd' 代码: ...
- 使用EA画流程图
https://www.sparxsystems.com.au/enterprise_architect_user_guide/13.0/model_domains/flow_chart.html
- 一个前端博主的nginx+php+mysql的环境搭建
这几天天某的公司给了在下一个需求,让我修改一个后端大佬用PHP写的一个官网,虽然说修改的内容还是很简单,但是毕竟之前还是没接触过PHP,于是开始了漫长的爬坑之旅,话不多说,这次就给大家介绍一下我配置安 ...
- 微信小程序request请求实例,网络请求。
最近微信小程序开始开放测试了,小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api. 官方参 ...
- 生成MyEclipse6.5&7.5&8.5 注册机源码
分类: java技术2010-09-30 21:46 26638人阅读 评论(6) 收藏 举报 myeclipsejavastringimportinputbyte 生成MyEclipse8.5注册码 ...