Wednesday, June 30, 2021

Didi stock: 柳青回应“打车难”:正刻苦练车准备开滴滴,程维现在是我的乘客

June 30, 2021

Here is the link.  

Idea - how to share a didi taxi? 


Didi stock: 程维、柳青

 June 30, 2021

Here is the link. 


Didi | Liu qing | CEO starting from 2014

 June 30, 2021

Here is the article. 


Liu, also known as Jean Liu, is President of Didi Chuxing and sets some pretty ambitious goals:

“I joined the company three years ago...to solve the world-class dilemma of moving 800 million urban Chinese”, Liu says. She has a tender tone, “[There are] 800 million Chinese that ride 1.4 billion times every day; the accident rate is high. This industry we are in is so impactful that there [must be] something we can do to help solve the issue.”

Liu went on to describe the growing megacities of China and how Didi’s mobile transportation platform had eased the lives of everyday commuters, alluding to the immense promise of Didi. Persuaded by the passion in her words, one almost forgets patriarchal China and its history of unbridled gender bias.

Born in Beijing, Liu’s parents gave her the name Qing Liu, which translates to “green willow.” It was inspired by a well-known Chinese classical poem called “A Love Song” by Liu Yuxi:

Traditionally, Chinese parents are careful to choose names that will create bliss and success in in the future. From Liu’s name, it’s apparent she brought happiness to her parents.

Indeed, Jean Liu not only grew up to be a lovely young lady but also an excellent student, enrolling in arguably the best high school in Beijing, the High School Affiliated to Renmin University of China. She earned a bachelor’s degree in Computer Science from Peking University, before heading overseas to earn a master’s degree from Harvard in the same discipline.

Looking back on her school days, Liu attributes her most significant strength to her drive for perfection. To this day, she still remembers the number of squat jumps she did every day in high school to get full marks in class.

Armed with a strong work ethic and a perfectionist attitude, Liu landed her first job as a Junior Analyst at Goldman Sachs, a top tier investment bank notorious for its rigorous recruiting process. Working 18 hours a day, seven days a week, she felt stuck on the corporate ladder despite producing high-quality work.

“I usually sat in the corner and didn’t want to speak up just in case I said something stupid,” she lamented. Liu later learned that success in Corporate America comes from speaking up and fighting for your place where corporate decisions are made.

By pursuing a professional career with such fervor, Jean Liu soon learned the cost it would have on her personal life. Liu grew up during a transitional era in China. Despite the monumental economic transformations that have occurred since then, the cultural nuances and social expectations around women in business have been slow to change.

“Persistent stereotypes suggest women should act more gently, speak more softly, and carry most of the family responsibilities; I constantly felt regret when it came to my family, especially after I had children.” Liu felt she had betrayed her loved ones and was selfish for putting her personal aspirations ahead of family obligations. “The guilt was the biggest obstacle I needed to overcome in my career.”

So, she adapted, little by little, overcoming her guilt and the rigors to be perfect. Eight years after joining the investment bank, Liu became a highly respected industry professional and one of the youngest Managing Directors in Goldman Sachs’ history.

However, her journey had just begun.

In the summer of 2014, Liu sat down for lunch with Didi’s founder Wei Cheng and had a conversation that changed her life. Liu managed the Goldman Sachs account and was keen to invest in the up-and-coming ride-hailing company. But she disagreed with Cheng on the valuation of the business.

Amid this stalemate, Liu jokingly said she would not leave their meeting unless they reached an agreement. Seizing the moment, Cheng responded, “then don’t leave. Join Didi and work with us.” Awed by Liu’s industry insight and character, Cheng had been waiting a long time for the opportune moment to recruit Liu.

Understandably, Liu was caught off-guard. She had mixed feelings of unease and excitement. She later recalled: “I had a successful career so joining a mobile internet company would be a huge transition with no guarantee for success. However, I thought life is ultimately about the experience. And joining Didi meant unlimited possibility.” Liu left Goldman Sachs for that reason and followed the call to adventure.

In the three subsequent years that followed, Liu was instrumental in cementing Didi’s position as a market leader. Liu joined Didi in the fall of 2014, when the company was in the midst of a head-to-head battle with domestic rival Kuai Di; it was a company backed by the deep-pocketed Alibaba.

In the realm of online platforms, market leaders benefit tremendously from network effects. This is a phenomenon where a growing user base is accompanied by decreasing operational costs, with the two trends reinforcing each other and creating a monopolistic market structure. Essentially, it’s a winner takes all dynamic.

So in December 2014, Liu raised USD 700M from four global investors, including Singapore’s sovereign wealth fund Temasek and venture capital firm DST Global. The capital ensured Didi’s ability to attract more users through subsidies and expand the network effect, shifting market share toward Didi. Two months later, Didi merged with Kuai Di, with Didi management taking over.

Almost immediately, this was followed by Uber announcing an aggressive venture into China, hoping to dominate the market. Liu didn’t hesitate to fight back, bringing her management team to Apple’s headquarters in April 2015. A month later,

Apple made its most substantial investment in China, USD 1B in Didi. Eleven months later, after incurring more than USD 1B in losses, Uber sold its China business to Didi and exited the market. Didi is now owns the ride-hailing market in China.

By 2018, Didi grew to be the largest ride-hailing and mobile transportation platform in the world, carrying 450 million passengers and routing 25 million rides daily. However, as the platform expanded to an unprecedented scale, so did the complexity of the business. In August 2018, a young woman was raped and murdered by a Didi driver.

Similar incidents had occurred before, but that culminated in massive public outrage. Didi was accused of negligence, having not scrutinized their recruitment and onboarding processes enough to protect its customers. Overnight, as the face of Didi changed, Liu was no longer a celebrated business leader.

It was a dark time for Liu. But together, Liu and CEO Wei Cheng assumed responsibility and publicly apologized. Despite providing financial assistance to the victim’s family, this incident revealed a more pressing and perplexing issue. What social responsibilities existed? What are the responsibilities today’s of today’s tech giants?

As the market leader, how can Didi achieve its financial targets while still ensuring fairness and protection to their user base? Moreover, Didi had revolutionized the way people transit by connecting millions of strangers on its platform that matched ride requests. There are inherent risks in managing this business and protecting users’ privacy and safety.


Didi Chuxing's Jean Liu on The Future of Cities

June 30, 2021

Here is the link. 

Didi Chuxing President Jean Liu speaks about the role of the sharing economy in the city of the future at the Bloomberg Global Business Forum, Wednesday, September 20 at The Plaza Hotel in New York City.




The David Rubenstein Show: Didi President Jean Liu

 June 30, 2021

Here is the link. 

Apr.18 -- Didi Chuxing President Jean Liu talks about and how the company protecting drivers and passengers, why she left Goldman Sachs as a managing director, the future of autonomous driving and why empowering women is so important at Didi. She sits down on the latest episode of "The David Rubenstein Show: Peer-to-Peer Conversations." The interview was recorded at the New Economy Forum in Beijing on Nov. 22, 2019.


ASP.NET Core Performance Best Practices | Hours study

June 30, 2021

Here is the link. 

This article provides guidelines for performance best practices with ASP.NET Core.

Cache aggressively

Caching is discussed in several parts of this document. For more information, see Response caching in ASP.NET Core.

Understand hot code paths

In this document, a hot code path is defined as a code path that is frequently called and where much of the execution time occurs. Hot code paths typically limit app scale-out and performance and are discussed in several parts of this document.

Avoid blocking calls

ASP.NET Core apps should be designed to process many requests simultaneously. Asynchronous APIs allow a small pool of threads to handle thousands of concurrent requests by not waiting on blocking calls. Rather than waiting on a long-running synchronous task to complete, the thread can work on another request.

A common performance problem in ASP.NET Core apps is blocking calls that could be asynchronous. Many synchronous blocking calls lead to Thread Pool starvation and degraded response times.

Do not:

  • Block asynchronous execution by calling Task.Wait or Task.Result.
  • Acquire locks in common code paths. ASP.NET Core apps are most performant when architected to run code in parallel.
  • Call Task.Run and immediately await it. ASP.NET Core already runs app code on normal Thread Pool threads, so calling Task.Run only results in extra unnecessary Thread Pool scheduling. Even if the scheduled code would block a thread, Task.Run does not prevent that.

Do:

  • Make hot code paths asynchronous.
  • Call data access, I/O, and long-running operations APIs asynchronously if an asynchronous API is available. Do not use Task.Run to make a synchronous API asynchronous.
  • Make controller/Razor Page actions asynchronous. The entire call stack is asynchronous in order to benefit from async/await patterns.

A profiler, such as PerfView, can be used to find threads frequently added to the Thread Pool. The Microsoft-Windows-DotNETRuntime/ThreadPoolWorkerThread/Start event indicates a thread added to the thread pool.

Return large collections across multiple smaller pages

A webpage shouldn't load large amounts of data all at once. When returning a collection of objects, consider whether it could lead to performance issues. Determine if the design could produce the following poor outcomes:

Do add pagination to mitigate the preceding scenarios. Using page size and page index parameters, developers should favor the design of returning a partial result. When an exhaustive result is required, pagination should be used to asynchronously populate batches of results to avoid locking server resources.

For more information on paging and limiting the number of returned records, see:

Tuesday, June 29, 2021

Autocomplete: C# | JQuery | ASP.NET

 

How to Implement Autocomplete textbox in ASP.NET WITHOUT using Webservice & AJAX autocomplete extender
Here is the link. 



Autocomplete | ASP.NET Autocomplete extender | My hours study

June 29, 2021

Here is the article to download sample code.  

AutoComplete is an ASP.NET AJAX extender that can be attached to any TextBox control and will associate that control with a Popup panel to display a result returned from web services or retrieved from a database on the basis of text in a TextBox.

The Dropdown with name retrieved from the database or web service is positioned on the bottom-left of the TextBox.

Some Important properties of AutoCompleteExtender:

  • TargetControlID: The TextBox control Id where the user types text to be automatically completed.

  • EnableCaching: Whether client-side caching is enabled.

  • CompletionSetCount: Number of suggestions to be retrieved from the web service.

  • MinimumPrefixLength: Minimum number of characters that must be entered before getting suggestions from a web service.

  • CompletionInerval: Time in milliseconds when the timer will kick in to get a suggestion using the web service.

  • ServiceMethod: The web service method to be called.

  • FirstRowSelected: Whether the first row is selected from the suggestion.

Sunday, June 27, 2021

Trystan Upstill | Google Vice President of Engineering, Android Human Interfaces & Intelligence

 

Vice President of Engineering, Android Human Interfaces & Intelligence

Dates EmployedNov 2018 – Present

Employment Duration2 yrs 8 mos

LocationMountain View, CA

Working to build more helpful devices by building intelligence and intuitive interfaces at the core of Android and Pixel.

Scott Huffman | VP, Engineering, Google Assistant

 June 27, 2021

With more than 20 years of experience in search and conversational understanding, I lead engineering for the Google Assistant. I got my Ph.D. in computer science, where I focused on AI and machine learning, and have authored dozens of academic papers in natural language processing.

Here is the link. 



Keynote (Google I/O 18) | Predicting cardiovascular risk

June 27, 2021

Here is the link. 



Saturday, June 26, 2021

Autocomplete | Trie data structure | A list of links to look into

June 26, 2021

I like to spend time to watch the video over 20 minutes. Here is the link. 

Actionable Items

I work on a list of issues to plan to work on a short project.

1.       https://www.c-sharpcorner.com/UploadFile/rahul4_saxena/jquery-auto-complete-text-box-in-Asp-Net-C-Sharp/

2.       https://jqueryui.com/autocomplete/

3.       Pay attention to design – cache, load once

4.       https://stackoverflow.com/questions/8158461/jquery-ui-autocomplete-suggestion-list-click-event

5.       https://leetcode.com/problems/implement-trie-prefix-tree/

6.       https://leetcode.com/problems/implement-trie-prefix-tree/discuss/703925/c-trie-algorithm-practice-in-june-2020

7.       https://stackoverflow.com/questions/2794381/getting-a-list-of-words-from-a-trie


Autocomplete | How to create autocomplete textbox search using asp .net MVC c# application | My 20 minutes study

June 26, 2021

Here is the link. 

In this tutorial I am going to implement autocomplete textbox for searching customer records using asp.net MVC c# application.  When the user enter for search customer, it suggests record for customer records in a dropdown menu.

Step 1: Here, I am using northwind database, Create an ADO.NET Entity Model and connect the database. We will be using Customer table for search records.

Step 2: Create a Controller name it as search and copy and paste the following code.

  Models db = new Models();
             
       public JsonResult GetCustomers(string term)

       {

           List<string> Customers = db.Customers.Where(s => s.ContactName.StartsWith(term))

               .Select(x =>x.ContactName).ToList();

           return Json(Customers, JsonRequestBehavior.AllowGet);
}

Step 4: Should refer the following code in required place and I am reffered in my Layout page.

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script>

Step 5: Copy and paste the following code in the design page index.cshtml.

@{
   ViewBag.Title = "CUSTOMER SEARCH";
}
<br />
<br />
<br />

<script type="text/javascript">
   $(document).ready(function() {

      $("#txtSearch").autocomplete({

           source: '@Url.Action("GetCustomers","Search")',

           minLength: 1

       });
   });

</script>

<div class="form-group">
   SEARCH:
   @Html.TextBox("searchTerm",null, new { id = "txtSearch", Class = "autosuggest"})
</div>

RESULT:

autocomplete dropdown menu


Friday, June 25, 2021

Tigera | Vancouver office | Startup | My 20 minutes study

Kubernetes security and observability in minutes. Any Kubernetes distribution, any cloud, any application.

Employee Profiles

Number of Employee Profiles 12
Tigera has 12 current employee profiles, including Co-founder & CTO Alex Pollitt.