Monday, April 15, 2019

AI is Not a Race

TechRepublic's article "How China tried and failed to win the AI race" in the early of this month describes a situation where both powerful countries are now entering into a AI war. 

I agree with most of the stances in terms of national AI development plans/initiatives, AI associated chips, AI-driven research efforts, workforces, fundings, and regulations. But it is not really a race at all. China and US are standing in the different stage of the technologies of Artificial Intelligence. They kicked off from the different starting points. US accumulated very fundamental research works since the born of AI. The developments of these researches have been very solid though it has been frozen to grow for couples of years. China instead woke up to join and contributed to the development of AI researches in the late years. It is unrealistic and harsh to compare both nations together. 

The article is right about interdependency. It should be great to see US and China each advances in certain areas of this technology. Competition and collaboration should come together to push the edge of AI. We should keep the door open to mutual interdependencies for the goods of AI deployments, as well as be cautious to set up ethic rules to make AI-human interactions right. 

AI should not become a weapon to drag two nations into a war. 



Wednesday, April 10, 2019

The Future of Cryptanalysis


It's been said that the advent of modern computing has spelled the death of the field of cryptanalysis; but the practice is still alive and well -- it's the methodology that's changed as technology has transformed the landscape. As quantum computing continues to develop, there're concerns that modern encryption could be at risk of being broken. This is because most modern encryption algorithms are based on large prime number factorization being computationally difficult, something that can be significantly sped up by quantum computing. Because of this, quantum computing would allow for significantly faster factorization and brute-force attacks on encryption keys, making the future of modern cryptography questionable in the looming quantum computing era. 

Monday, April 08, 2019

微服务 (Microservices) 和容器 (Container)


什么是微服务?

微服务是将应用程序拆分为多个服务的一种架构类型,这些服务具备构成整个应用程序的细粒度功能。每个微服务将具备针对您的应用程序的不同逻辑功能。与应用程序的所有组件和功能都在单个实例中的单体架构相比,微服务是应用程序架构领域一种更为现代的方法。您可以参考下图中单体架构与微服务架构的比较情况。














什么是容器?

微服务放置在哪里?在容器中。容器是存放软件的包,里面包含运行软件所需的一切内容,比如代码、依赖关系、库、二进制文件等等。Docker 是一种构建和运行容器的流行工具,但是 Kubernetes正快速成为行业标准,用于编排企业环境中的多个容器。与虚拟机相比,容器可以共享操作系统内核,而不是像在一个主机上构建多个虚拟机那样拥有完整的副本。虽然可以将微服务放置在多个虚拟机中,但在这种情况下通常会使用容器,因为容器占用的空间更少,启动速度也更快。

使用微服务架构的好处

微服务架构是为解决人们在单体应用程序中遇到的问题而创造的。微服务已被广泛使用,一些大型网站已将他们的单体应用程序转变为微服务。使用微服务架构的一些好处是:
  • 与单体应用程序中的大型代码库相比,开发人员只需处理小型代码库。 当应用程序组件松散耦合时,开发人员可以轻松理解源代码,而不会减慢开发速度。如果使用的代码行数更少,您的 IDE 的速度显然会更快。开发人员无需处理各种功能的复杂性和依赖关系,这种情况只会在单体应用程序中出现。
  • 开发人员的职责将会更加明确。 可以按照应用程序的组件或微服务来分配团队工作。代码复查速度将会加快。与单体应用程序相比,更新速度将会加快,而且无需构建和部署一切内容。
  • 应用程序的技术堆栈可以通过微服务有所不同。应用程序不再需要依赖一种语言或库。只要开发人员认为合适,微服务就可以利用多种不同编程语言。可以使用如下图所示的多语言微服务。
  • 持续交付将变得更加容易。 对于简单变更,使用微服务就无需像单体应用程序那样再次重新部署一切。您可以选择仅重新构建和部署需要更新的微服务。频繁更新的速度将会加快。
  • 可扩展性与每个微服务无关。您可以选择根据应用程序所需的资源扩展它的每个组件。无需像单体应用程序那样为一切内容构建多个实例。扩展微服务将会有效利用可用资源,而不是像在单体应用程序中那样拥有整个应用程序的多个副本。
  • 数据可以分散化处理。您可以选择为微服务使用不同的数据库/存储器。如果比起关系数据库,您的微服务更适合使用非关系型数据库,那么就可以选择这种数据库。微服务也可能只需要简单的密钥存储数据库,比如 Redis。如下图所示,您可以选择组合使用 Cloudant、MySQL 和 MongoDB。您可以利用不同的数据库来存储不同的数据类型。
  • 隔离故障。 一个微服务中的错误或缺陷不会使整个系统宕机。如果采用松散耦合的组件,您的应用程序中的微服务出现错误时,其他微服务不太可能受到影响,因为它们都在自己的容器中,不会完全依赖彼此。而对于单体应用程序,如果没有正确找出缺陷或错误,就会使整个应用程序流程宕机。

使用微服务架构的弊端

在使用微服务解决单体架构的一些问题时,每种微服务都存在一系列问题。如果您试图将单体应用程序拆分为微服务,那么第一个挑战就是如何拆分。您可以选择将它们拆分为多个业务功能,比如一个微服务处理批次,另一个微服务处理支付服务。最后,您的组件应该只具有一小部分的功能或责任。

在微服务架构中看到的一些问题如下:
  • 一旦微服务数量增长,就会难以进行跟踪。持续集成和持续交付的初始设置工作也并非易事,因为您需要处理拥有多个微服务所带来的额外复杂性。
  • 复杂性。微服务需要加强协作,尤其是在有多个团队参与的时候。如果需要与其他微服务交互,那么微服务还会引进更多的网络调用,而在单体应用程序中则不会出现这种情况。部署微服务并不像部署应用程序的一个实例那样简单。您还需要考虑其他很多问题:如何处理各个微服务之间的通信,解决错误以避免中断其他微服务,以及在每个组件中添加更多测试用例。
  • 找到并跟踪应用程序中的缺陷/错误。如果您的微服务只有一条路径,那么查找起来会比较容易,但如果一个微服务与其他多个微服务进行通信,仅查找错误就会耗费大量时间。
  • 进行微服务路由需要完成更多工作。您需要花时间来配置和控制微服务的流动。您还需要持续跟踪微服务的版本,并解决其路由问题。
  • 微服务会消耗比单体应用程序更多的资源。虽然我提到的优点之一就是可以更出色、更有效地利用可扩展性和资源,但是所有组件都需要有自己的实例和容器,这可能就会导致内存和 CPU 使用量增多。

Monday, July 02, 2018

Growing Hacking Strategies and Techniques in Example

Growing hacking is becoming more and more popular in the filed of marketing. It effectiveness is believed to reflect in the company whose size from start-up to small/middle-sized. The right strategy plays as the role of catalyst to drive the high-speed growth of the company in the early stage. The appropriate techniques which are adaptable along with the business development is another key element to ensure that the hacking strategy is applied in the right spot of the whole business. 

John Mcelborough's article in his blog summarise a total 51 examples of growth hacking strategy and techniques. A very deep analysis article. There should be no best growth hacking strategy and techniques for all. But the good ones serve as the fuel of the business engine. 

Tuesday, June 12, 2018

Andrew Ng's AI Efforts in Manufacturing

Revitalizing manufacturing through AI

Dear Friends, 

I am excited to announce Landing.ai, a new Artificial Intelligence company that will help other enterprises transform for the age of AI. We will initially focus on the manufacturing industry.

AI is already transforming the IT industry. In my work leading Google Brain and Baidu’s AI Group, I’ve been fortunate to play a role in the transformation of two great Internet companies, and see firsthand the benefits modern AI brings to these businesses and to their users. It is now time to build not just an AI-powered IT industry, but an AI-powered society. One in which our physical needs, health care, transportation, food, and lodging are more accessible through AI, and where every person is freed from repetitive mental drudgery. For the whole world to experience the benefits of AI, it must pervade many industries, not just the IT industry.

AI transformation is hard
Many companies are figuring out how to use AI, but this is not easy. The technology is still complex, and few teams understand AI well enough to implement it effectively. Outside the IT industry, almost no companies have enough access to AI talent.

Further, just as using IT to transform a traditional company requires more than building a website, using AI to transform a company requires much more than training a few machine learning models. The strategy of integrating AI — everything from data acquisition, to organizational structure design, to figuring out how to prioritize AI projects — is as complex as the technology, and good AI strategists are even rarer than good AI technologists.

Landing.ai will help enterprises address these challenges. We are developing a wide range of AI transformation programs, from the introduction of new technologies, to reshaping organizational structure, to employee training, and more.

The Manufacturing Industry
The IT industry has primarily shaped our digital environment. Manufacturing touches nearly every part of our society by shaping our physical environment. It is through manufacturing that human creativity goes beyond pixels on a display to become physical objects. By bringing AI to manufacturing, we will deliver a digital transformation to the physical world.

AI technology is well suited to addressing the challenges facing manufacturing, such as variable quality and yield, inflexible production line design, inability to manage capacity, and rising production costs. AI can help address these issues, and improve quality control (see our video demo), shorten design cycles, remove supply-chain bottlenecks, reduce materials and energy waste, and improve production yields.

We are also excited to announce today a strategic partnership with Foxconn. We have been collaborating with Foxconn since July, and are developing AI technologies, talent and systems that build on the core competencies of the two companies. As one of the world’s leading technology service providers and a multinational company running manufacturing in several continents, Foxconn provides Landing.ai a platform to jointly develop and deploy AI solutions and training globally.

Jobs and training/retraining
Bringing AI to manufacturing will also revitalize manufacturing jobs in the US and globally. There has been much discussion about how people will work in an AI-powered future. The next wave of manufacturing jobs will be very different than the previous one. They be higher-level and higher paying, but also require new skills. Thus, they will require large scale training or retraining.

The retraining of workers for the next generation of jobs in AI is a challenge that my team is uniquely equipped to tackle. We are dedicating time and resources to creating retraining solutions for current or displaced workers. We are discussing the deployment of skills training programs with a variety of partners, including local governments. We hope we will have more to say on this soon, and are excited to take on this challenge.

In developing economies, the AI transformation of manufacturing will accelerate the affordability of products ranging from antibiotics to bicycles to computers. It will also help small-scale producers sell products to and benefit from global supply chains. In developed economies, deeply integrating AI into manufacturing will also pave the way to power a new generation of products, devices and experiences.

If you are interested in learning more, please visit our website landing.ai or contact us at contact@landing.ai.

We look forward to sharing more about Landing.ai in the near future!


Andrew Ng
CEO, Landing.ai

Thursday, May 03, 2018

What is the Internet of Things (IoT)?

The term “Internet of Things” refers to scenarios where network connectivity and computing capability extends to objects, sensors and everyday items not normally considered computers, allowing these devices to generate, exchange and consume data with minimal human intervention.” IoT includes consumer products, durable goods, cars and trucks, industrial and utility components, sensors, and more. It presents a new way for users to interact with the network, using devices that are not limited to traditional computers, smartphones, and laptops. IoT brings unparalleled new opportunities for industrial applications and critical infrastructure, but significant challenges as well. Many of the challenges and recommendations addressed in this paper are focused on consumer-grade IoT but are also applicable to industrial and critical infrastructure applications of IoT. While local communication protocols used for IoT, such as Zigbee, LORA, Z-Wave, or Bluetooth, present interesting challenges of their own, the Internet Society’s primary focus is how IoT systems interact with, and impact, the Internet and its users.

(Source: Internet Society)

Tuesday, July 26, 2016

Mark Zuckerberg's Words on AI

My personal challenge for 2016 is to build a simple AI -- like Jarvis from Iron Man -- to help run my home and help me with work. 

I'm planning on writing up some thoughts every month on what I've built and what I'm learning. I'm still early in coding, so I'll start this month with a summary of the state of the AI field.

Artificial intelligence may seem like something out of science fiction, but most of us already use tools and services every day that rely on AI. When you do a voice search on your phone, put a check into an ATM, or use a fitness tracker to count your steps, you're using basic forms of pattern recognition and artificial intelligence. More sophisticated AI systems can already diagnose diseases, drive cars and search the skies for planets better than people. This is why AI is such an exciting field -- it opens up so many new possibilities for enhancing humanity's capabilities.

So what can AI do and what are its limits? What things is AI good at and what is AI bad at?

Simply put, today's AI is good at recognizing patterns and bad at what we would call "common sense".

The primary method used to train AI systems is called supervised learning. This is like when you show a picture book to a child and tell them the names of everything they see. If you show an AI thousands of pictures of dogs, you can train it to start recognizing dogs.

You can teach AIs to do a lot of things this way. For example, we can teach an AI to recognize all of your friends' faces by showing it thousands of photos, and then it can suggest tags for the photos you upload on Facebook. You can teach an AI to recognize speech by having it listen to thousands of hours of speeches throughout history while also showing it transcriptions of what was said. You can teach an AI to diagnose melanoma by showing it thousands of photos of tumors. You can even teach an AI how to drive a car and automatically brake by showing it thousands of examples of people and obstacles it might encounter on the road.

Diagnosing cancer, driving cars, transcribing speech, playing games and tagging photos may sound like very different tasks, but they're all examples of teaching an AI to recognize patterns by showing them many examples. 

Many different problems can be reduced to pattern recognition tasks that sophisticated AIs can then solve. This year, I'll teach my simple AI to recognize patterns. I'll train it to recognize my voice so I can control my home through speaking. I'll train it to recognize my face so it can open the door when I'm approaching, and so on.

But there are lots of limitations of this approach. For one, to teach a person something new, you typically don't need to tell them about it thousands of times. So the state of the art in AI is still much slower than how we learn. 

But more importantly, pattern recognition is very different from common sense -- and nobody knows how to teach an AI that yet.

Without common sense, AI systems can't use knowledge they've learned in one area and easily apply it to another situation. This means they can't effectively react to new problems or situations they haven't seen before, which is so much of we all do everyday and what we call intelligence. 

Our best guess at how to teach an AI common sense is through a method called unsupervised learning. My example of supervised learning above was showing a picture book to a child and telling them the names of everything they see. Unsupervised learning would be giving them a book and letting them figure out what to do with it. They could pick it up and by touching it learn to turn the pages. Or they could let go of it and realize it falls to the ground. 

Unsupervised learning is learning how the world works by observing and trying things out rather than being told what to do. This is how most animals learn. It's key to building systems with human-like common sense because it doesn't require a person to teach it everything they know. It gives the machine the ability to anticipate what may happen in the future and predict the effect of an action. It could help us build machines that can hold conversations or plan complex sequences of actions -- necessary components for any authentic Jarvis.

Unsupervised learning is a long term focus of our AI research team at Facebook, and it remains an important challenge for the whole AI research community.

Since no one understands how general unsupervised learning actually works, we're quite a ways off from building the general AIs you see in movies. Some people claim this is just a matter of getting more computing power -- and that as Moore's law continues and computing becomes cheaper we'll naturally have AIs that surpass human intelligence. This is incorrect. We fundamentally do not understand how general learning works. This is an unsolved problem -- maybe the most important problem of this century or even millennium. Until we solve this problem, throwing all the machine power in the world at it cannot create an AI that can do everything a person can.

We should not be afraid of AI. Instead, we should hope for the amazing amount of good it will do in the world. It will saves lives by diagnosing diseases and driving us around more safely. It will enable breakthroughs by helping us find new planets and understand Earth's climate. It will help in areas we haven't even thought of today.

Jarvis is still a long way off, and we’re not going to solve most of these engineering challenges in the next year. But I'm glad to be joining the effort and doing what I can to push the field of AI forward.

Friday, February 10, 2012

The Words from Mark Zuckerberg's Letter From the Facebook Filing

Mark did not intend to build Facebook as a company to make the money, but to accomplish a social mission -- to make the world more open and connected. But he need to enable it profitable so that more talented individuals and more investors could come to flourish this base to provide a solid foundation upon which the revolutionary works can be achieved to push the edges of information society. 

Why revolutionary? Facebook not only changes the way people communicate each other but brings a new fashion (bottom-up) to the society where people own the powers to control the flows of information. The contributions from the people in turns help the industries to build up more advanced services for the society. Facebook here is not the owner of the personal information but the catalyst working on the society and economy transformation.

  • Facebook hopes to strengthen how people related to each other
  • Facebook hopes to improve how people connect to businesses and the economy
  • Facebook hopes to change how people relate to their governments and social institutions
  • Facebook don't build services to make money; Facebook make money to build better services
  • Facebook act on the Hacker Way
Facebook's core values:
  • Focus on Impact
  • Move Fast
  • Be Bold
  • Be Open
  • Building Social Value

The full letter  


Tuesday, January 31, 2012

七 | 点

七......点......
说下午七点,觉得有点晚;
说晚上七点,又觉得还算不上那么晚。
Anyway, that's not the point.

不知道你有没有这样的时候,
在渐渐萧索的某个季节,
坐六七点钟的巴士,从华灯初上的城市里穿行久久。

知道自己的终点还远,
戴起耳机认真看窗外,
偶尔看两眼身边的人,
脑袋里可以慢慢想那些没边没际的事情,
我由此爱上了巴士,
你呢?

正好是街灯开始亮起的时候,
城市的流光溢彩映进了朦朦的车窗,
梦幻极了......
看过巨大的广告牌,上面有最新的数码和最热的明星。
看过挽着手走在街边的母女,女生的手一甩一甩,指向那个明亮又诱惑的橱窗。
看过每个红灯前,红色的汽车尾灯亮成了一片。
看过等在站台的乘客,满脸的疲惫,神色里却有隐隐的喜悦,
是啊,再等一会,就可以回家。


可无奈,自己偏偏是那个到了终点下了车,
回到的地方也仍不是家的,
酸酸的抽抽鼻子,
想戴着耳机应该可以让自己看起来没那么可怜吧,
你看,没有人在身边也还有音乐在耳边......

可是想想自己现在戴着耳机没有表情的样子,最后还是觉得自己有点儿可怜了,
可是那也没有办法呀,
所以......
还是......


【涂鸦于110路巴士】


Thursday, October 06, 2011

Stay Hungry. Stay Foolish

"You have to trust in something — your gut, destiny, life, karma, whatever."
"Sometimes life hits you in the head with a brick. Don’t lose faith. I’m convinced that the only thing that kept me going was that I loved what I did. You’ve got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle. "
"Because almost everything — all external expectations, all pride, all fear of embarrassment or failure – these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart. "
"Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary."