Copy
Happy Tuesday!

Today, we delve into the captivating world of artificial intelligence, which, despite its recent popularity, has a long-standing history.

One remarkable example is the legendary rematch on May 11th 1997 between Garry Kasparov, the world's best chess player, and IBM's Deep Blue. Initially, Kasparov triumphed, defying expectations. However, Deep Blue's formidable abilities ultimately led to Kasparov's defeat and a $1.1 million prize.

After Deep Blue's victory, the ancient Chinese game of Go, a game of simple rules and far more possible moves than chess, became the canonical example of a game where humans outmatched machines. Go requires more intuition and is far less susceptible to brute force. It is widely played in China, South Korea, and Japan, and was considered one of the four arts of the Chinese scholar in antiquity.

In 1997, many players with less than a year of experience could beat the best Go programs. But the programs gradually improved, and in 2015, Google DeepMind's AlphaGo program defeated the European Go champion Fan Hui in a private match. It then surprisingly defeated top-ranked Lee Sedol in the match AlphaGo versus Lee Sedol in 2016. While Deep Blue mainly relied on brute computational force to evaluate millions of positions, AlphaGo also relied on neural networks and reinforcement learning.

Enjoy this weeks dose of tech news from the Docto Tech Life team!

Frontend  

Boost your function's speed with memoization in JavaScript

Have you ever wondered how to reduce the amount of work functions need to do ? Memoization is a nice technique to achieve it. Enjoy reading this short blog post with only one javascript example.
 

Securing User Input in JavaScript

Sandipan Roy explains in his blog post, how to prevent cross-site scripting (XSS) and SQL injection attacks by securing user input in JavaScript using sanitization techniques. Happy reading!


7 Secret TypeScript Tricks Pros Use

Would you like to refresh your mind or learn new tricks in Typescript? Check out one of the top posts on DEV this week by Tapajyoti Bose. Enjoy reading this short one. 

Backend  

 

A few words on Ruby's type annotations state

The Ruby contributor Victor Shepelev shares his thinkings about typing in Ruby. Going back to the origins while Ruby 3 was in the cooking, explaining several iterations and some of the design challenges faced to add a compelling type system to the existing Ruby language... and also sharing an idea for another solution.
 

Singed, a profiler front end for ruby and rails applications

From a 5 minutes writing boilerplate code to a single line, Singed looks very promising to improve flamegraph experience with Ruby. Wrapping three existing tools (Speedscope, stackprof and rbspy), the tool creates a flamegraph of the code you choose and directly open it in a browser. The next string to your bow ?
 

 [Podcast] “Code performance” on the Rubber Duck Dev Show

The first thing to investigate for performance issues is generally database performance. After that, one can look into code performance, encompassing logic, data access, data structures and more. Refactoring your whole codebase after listening to this will be tempting but remember that "premature optimization is the root of all evil". But keeping these tips in mind when writing new code should avoid future problems.

Engineering culture & tech tools  

 

Awesome Chat GPT prompts

The now commonly available AI tools like ChatGPT are great, but much like a simple Google search, the quality of the results depends a  lot on how you approach the search. Check out this nifty library of awesome Chat GPT prompts! You can try them out as is or use as inspiration to come up with your own and really build up your AI prompt engineering skills.
 

Why is OAuth still hard in 2023?

OAuth stands for open authorization and is a widely adopted authorization framework. Despite its wide usage, the author claims that the real-world OAuth experience is less than simple and he breaks down the common pitfalls for us from the standard being too big and complex to subtle differences and debugging issues. An interesting read!
 

Designing for colorblindness

We have shared in the past how to develop accessible designs and why it is important. In the linked article, the author who himself is colorblind, visualises why designing for colorblindness is crucial by sharing some real world examples. If you weren't convinced yet, this should change your mind!

Docto Tech Life  

 

GitHub Actions Runner Strategy

During the second edition of the meetup night, Human Talks Nantes featured two talks. Notably, Doctolib Engineering Manager Julien Tanay delivered an insightful talk on GitHub Actions during the event.
 

Testing High Contrasts with Chrome Extension

During a Human Talks event, Simon Rapilly, a Doctolib software engineer, gave a talk about a Chrome extension he developed. The extension serves as a tool to test the high contrasts of websites, enabling users to assess and enhance the visual accessibility of their web content.
 

JUG Summer Camp

Weare happy to announce that Doctolib will be a sponsor at the JUG Summer Camp for the second year in a row. If you are interested in speaking at the event, the CFP is now open. We hope to see you there! 
What did you think of this newsletter?
With your feedback, we can improve Docto Tech Life.
Let us know what you think!



 

TechLife is brought to you by our editors: Charlotte Feather, Eva Stolz, Tara Matthews, Tevin Otieno, Noémie Baudouin, Kenan Soylu, Laura Vavasseur, Hippolyte Pello & Pierre-Adrien Buisson.

Thank you, everyone, for sharing awesome content with us and contributing to TechLife. Don’t forget to share the love and invite your friends to receive next week newsletter.


Copyright © 2023 Doctolib, All rights reserved.
Want to change how you receive these emails?
You can
update your preferences or unsubscribe from this list.