[Notes] World AI Conference, Elon Musk vs. Jack Ma

如果谁要“鸡同鸭讲”的官方解释,你就播这个视频给他看。哈哈。

我觉得吧这两个马老板放在一个论坛上就是笑话。

马斯克讨论的是广义的人工智能,指的是输入输出信号处理那个层面的。马云说的是当前的某种人工智能或者由当前的人工智能延伸出去的更智能的人工智能,执着于是不是动物,有没有一个心脏,跑得快不快。

E: Can chimpanzees really understand human? …we just like strange aliens. They mostly just care about other chimpanzees…if the difference is only that small, it will be really amazing. probably is much much greater.

E: We are already a cyborg. Because we are so well integrated with our phones, internet, the phone is almost like an extension of yourself. If you forgot your phone, it’s like missing limb.

J: It’s so hard to predict the future. 99.99% of the predictions that human being had about the future are all wrong…they are right by accident.

E: You can think of humanity as biological boatloader of digital super intelligence.

J: when human understand ourselves better, then we can improve the world better…but I feel what I am excited about AI is AI is to understand people, the inside of human beings.

J: …at that time, we will have a lot of jobs that nobody wants to do, so we need AI, robots to…

下面这一幕真的很搞笑。马斯克开始凝视远方,嘟哝道

E: we are gonna figure out this neuralink situation; otherwise we will be left behind…we don’t have much time.
J: we don’t have much time? For what?
E: we don’t have much time to solve neuralink.
J: ug….(甩手并作不屑状)

马斯克正在跟三体人对话。马云突然觉得这神经病怎么不好好说人话?!哈哈哈。。。

有时候我在考虑一个格局问题,当然只能猜想,站在人类财富的最高峰,中外最有钱的那群人,每日心心念念的事情,每天贪早摸黑的目标,在格局上有没有区别,如果有,又有着什么样的区别?盖茨投身于没有经济效益的贫困地区的疫苗;贝索斯建万年大钟;马斯克星际移民。。。都是一些笨事傻事蠢事。然而,美,永远是由距离产生的。这些离他们自身那么遥远的事,或许是他们认为的最美的事。

J: educate people on…creative things that let people live like a human being…we need to change the education…and don’t worry. I will change it.

E: current education is really slow, low bandwidth.

另外,用逻辑去自圆其说。马斯克用了各种论证方法,现场完胜。可能跟中西教育的不同有关,因为外国教育重视正确的论证过程,而国内重视正确的结论;也可能跟是不是卖百货有关,因为我觉得马云和贝索斯在现场论证中常出现逻辑问题。

E: biggest problem the world will face is population collapse (accelerating collapse).

J: I agreed.

什么原因担心人口问题,两人没有继续深入,我倒是很好奇?

J: when we love someone or something, we don’t need a reason, we just love. But we hate someone or something, there is a logic behind it. When there is a logic, AI can do better.

E: it’s a good thing that we eventually die…it’s good to have this life cycle.

[Notes] 6 Lessons we learned when debugging a scaling problem on GitLab.com

https://about.gitlab.com/2019/08/27/tyranny-of-the-clock/

The first step is to look for critical filters to dramatically reduce the area to troubleshoot. Such as type of logs, which server, etc.

Wireshark statistics tools could be super helpful.

If usage pattern aligns with some timing cadence, think scheduled jobs.

If the incoming rate exceeds the limit (measured every millisecond) the new connections are simply delayed. The TCP client (SSH in this case) simply sees a delay before the TCP connection is established, which is delightfully graceful, in my opinion. 

Why? Rate limiting should be used for defensive needs, where it prevents from handling the unexpected requests. But in this case, those requests are expected and expect to be processed.

When you choose specific non-default settings, leave a comment or link to documentation/issues as to why, future people will thank you.

That applies to all things non-default, such as “magic numbers,” workarounds, tricks, possible valid values, etc.

[Notes] In praise of slow thinking in the internet age

https://qz.com/1179304/in-praise-of-slow-thinking-and-socratic-ignorance/

It is good not to settle into a set of opinions. It is a mistake to put forth effort and obtain some understanding and then stop at that.

Avoid forming opinions if it is not a domain that you have put in a lot of effort. If before making your opinion public, all you have done is Google online and read a handful of articles, then it is just a piece of “opinion.” It worths almost nothing to the world or others. Whatever happening in Hongkong now, and whatever fire Trump is playing, I found myself know very little.

Obama, who was a voracious reader as a young man, committed to reading a book—not news—for an hour a day during his eight-year presidency, he told the New York Times.

See from now on, if I can stop reading news, except the news from the domain that I am working. Instead, read books and non-news articles.

[Notes] How to Read Less News But Be More Informed, According to a Futurist

https://qz.com/1222019/stop-reading-the-latest-news-if-you-want-to-be-better-informed/

He’s not trying to catch up but to check and see which of the many headlines turned out to be relevant a few weeks or a month later. 

Watson advises that we randomly pick up books and magazines, and strike up conversations with strangers.

Watson especially recommends perusing weekend editions of quality newspapers.

…relevant information makes its way to us, and that much of what we fuss over daily is just stuff that will soon be forgotten.

A great read. My actions just now:
Removed 80% RSS feeds.
Disabled Retweets for all followings.
Unsubscribed/marked as spam except must have emails.
Turned off notifications for most of the apps.
Check personal email three times a day. (morning, noon, and evening)

[Notes] Unique Leadership Concepts You Need to Know (from training notes by Maddy)

When an individual tends to jump into parent mode (critical or over nurturing) they create an opportunity for an individual to act like a child (dependent, whiney or rebellious) or vice versa. But adult (rational) behavior creates adult behavior.
For Example: A manager might say “I asked you to be done with that by Wednesday and now it’s Thursday. I’m really frustrated now” (parent) and a direct report might respond with “I’m sorry but it wasn’t my fault” (child).

Great insight. I have been leading/managing teams by following my gut feeling. But verifying the “correctness” of my approaches by the results is not a reliable approach. Theories like the above provide reasoning of why I should be saying/doing some things while not saying/doing some other things.

[Notes] Why Amazon DynamoDB isn’t for everyone

https://read.acloud.guru/why-amazon-dynamodb-isnt-for-everyone-and-how-to-decide-when-it-s-for-you-aefc52ea9476

So when you combine inexperienced devs, the lack of a clear plan for how to model a dataset in DynamoDB, and a managed database service that makes it really easy to ingest a lot of unstructured data — you can end up with a solution that spirals out of control even at a small scale.

Quick and dirty prototypes done with try and error models would be the best use case for DynamoDB. At the same time, building a real product directly on top of a working prototype is a dangerous approach and set up for failure.

A relational database will do most anything you need at small scale. It might take a little longer to set up initially than DynamoDB, but the well-established conventions of a SQL implementation can protect you from a lot of wasted time down the road.

The initial time it took can take you way further than you would expect if you head down the RD SQL way.

So if your application is using too many RCUs on a single key, you either need to over-provision all the other partitions (expensive), generate a ton of “Throughput Exceeded” errors (not ideal), or figure out how to decrease access to that key.

One takeaway here is that DynamoDB isn’t necessarily suited to datasets that have a mix of hot and cold records.

End of the date, if it is a good use case for DynamoDB, it should also be a good use case for Azure Table, which in my opinion, even much simpler and much more scalable. And Azure Table is truly performance-provision-free.

Business value trumps architectural idealism every time.

That kind of decision making can tell a mature architect from a mediocre one, especially for the line of business software development.

This is why Lynn Langit has more or less abandoned NoSQL as a solution for small and medium-size businesses.

It depends on the balance. Breaking schema changes in SQL is a huge pain. Plus if CI/CD, no-downtime deployment is a must-have, involving changes to the index, for a relatively large database, SQL will take a bigger hit. But anyway, to do all the above, even NoSQL won’t be trivial.

[Notes] 万维钢解读:《成功公式》

所以说“赢了起跑线”这句话的关键词是*赢*。你光是起步早、比如说让孩子很小就去上这个班那个班,是不行的 —— 你得让他*赢*才行。只有战胜对手脱颖而出,才能给他带来真正的自信,才能向社会证明他的“可被奖励性”。

以前焦点都是『起跑线』,争论人生是长跑不是短跑。其实注意力应该是这个『赢』字。

我以前听说过一个说法:要看一件事能不能办成,在你调兵遣将把这个团队建立起来的那一刻,就已经决定了70%。

暗暗迎合了VC只看团队的说法,什么产品,什么技术都是其次。

有句话叫“艄公多了打翻船”,说公司用人不能只招“牛人”。

要想既有传统又有创新,团队成员必须既有强联系又有弱联系。你得有老人,有新人,还得有外人。

这说法跟现在的市场行为不符,现在的公司就只想招『牛人』和『新人』。当然,哪里真的有这么多牛人,只要招多了,自然而然不知不觉能与不能都好,反正就做到了『不只招牛人』。

接受了这个定律,每个人都应该大度一点。如果你是新手,别在乎眼前的得失,你想要的不是一两个功劳,而是自己的系统!

现在很多人爱说“拥抱不确定性” —— 请注意,说我不怕 r 值的不确定性,对各种想法持开放态度,这可不叫“拥抱”不确定性。你得主动出击,毫不懈怠地一个项目一个项目做下去,没有新 r 值就难受,这才叫拥抱。

两个字『深耕』。

[Notes] Calculating Derived State in JavaScript Using Selectors

https://nick.scialli.me/calculating-derived-state-in-javascript-using-selectors/

We can use selectors to solve this issue. Selectors are functions that take state as a property and return the derived state value. Let’s see if we can create a selector to replace our allowedIn property.

Our decision is not just based on our state object anymore, but is based on the result of another selector as well. This is where we start using higher order functions to compose selectors from other selectors. 

Many selector libraries (e.g., Reselect for Redux) include additional functionality to memoize selector results.

Great examples that explain why we need Selectors and how to use them for calculating derived State (like a computed property.)

[Notes] How Hasura saved us $50,000

https://medium.com/cresta-engineering/how-hasura-saved-us-50-000-7cfe8e7909e9

front-end stack of React, TypeScript, and Apollo.

React gets more tractions. TypeScript is still not out-of-the-box supported. At the same time, more and more start-ups using TypeScript with React together. May it worth the effort to add that extra layer? So that the project is more maintainable?

Hasura markets their product as a “GraphQL-out-of-the-box.” It’s a standalone server that sits between your database & client. This differentiates Hasura from other offerings (like Prisma), and puts it closer in spirit to projects like PostGraphile.

More like a self-hosted managed BaaS.

But this isn’t how Hasura works. Instead, every GraphQL operation you send to the server is transpiled to raw SQL.

Sounds pretty straightforward on paper. That is no “magic.” But just looking at the generated SQL, may be useful for performance tuning troubleshooting, but not sure how much that will help to migrate to other vendors when decided Hasura is not the best option.

simply state the data requirements of your UI, and let a library handle everything else.

Very nice to have!

Besides remote schemas (a feature also available in a few GraphQL solutions), Hasura offers a clever feature: create any view or stored procedure, and Hasura can automatically generate GraphQL operations. Subjectively, complex data transforms are far easier to write and maintain in SQL than they are in JavaScript or TypeScript. Being able to go from creating the view to querying it in the client in mere seconds feels feels almost like cheating.

Not quite sure what kind of “data transforms” the author refers to but doing anything in SP never felt to be enjoyable. SQL is not a language to implement business logic. Creating views may still seem fine to me.

Now, that same button is simply a matter of updating the client, clicking a few things in the Hasura UI, then testing & deploying. We’ve cut the amount of server code we have to maintain by 2/3rds, allowing us to spend that time building more cool stuff for our users.

For CRUD liked operations, that seems very handy. Not sure about other buttons with more complex logic behind.