当前位置: 移动技术网 > IT编程>脚本编程>Erlang > Erlang/Elixir精选-第5期(20200106)

Erlang/Elixir精选-第5期(20200106)

2020年01月06日  | 移动技术网IT编程  | 我要评论

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

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

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

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

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小时在去官网上下载体验了一把,但是给人的感觉是上世纪的东西,我想这也是它不火,特别小众的原因吧。看样子几乎没有人用。官网例子也是几年前。


image.png
投稿或推荐,精选每周一发布,同步更新在,。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网