🎙️ "C'est frustrant de tomber vers le bas quand on saute d'un immeuble, et pourtant ça s'appelle la physique."
🤖 Interrogé sur les perspectives de développement de l'#IA, Maxime Efoui-Hess revient sur le déploiement du #numérique dans un contexte de raréfaction des ressources.
I recorded a full tutorial on how to build a RAG application using open-source models.
It's almost 1 hour.
Step by step. I explained everything as if you were 5 years old.
🚀 We are extremely proud to announce the launch of MSK-ACCESS® powered with SOPHiA DDM™! We want to warmly thank everyone who joined our launch event in Switzerland and contributed to make this insightful gathering a success!
#oncology#MSKACCESS#MSK#cancerresearch#AI
I have read this book many times. It’s a wonderful and short reboot for possibility, excellent for all students of life and those who want to overcome self-imposed limitations.
Native whisper.cpp server with OAI-like API is now available
$ make server && ./server
This is a very convenient way to run an efficient local transcription service locally on any kind of hardware (CPU, GPU (CUDA or Metal) or ANE)
thx felrock https://t.co/Aviz3Wekrq
A [very] theoretical eco-evo treatment of the 'living fossils' phenomenon:
https://t.co/z2z14XSdW4
"species occupying the most peripheral niches are the least innovated and have deep divergence times from their closest relatives, and thus they correspond to living fossils."
Les sismologues ont découvert depuis longtemps deux anomalies dans le manteau terrestre, sous le Pacifique & l'Afrique.
Cette nouvelle étude propose qu’elles sont des résidus de Theia, la protoplanète qui, en frappant la Terre il y a 4.5 milliards d'années, a formé la Lune.
1/2
A picture is worth a thousand words: 9 best practices for developing microservices.
When we develop microservices, we need to follow the following best practices:
1. Use separate data storage for each microservice
2. Keep code at a similar level of maturity
3. Separate build for each microservice
4. Assign each microservice with a single responsibility
5. Deploy into containers
6. Design stateless services
7. Adopt domain-driven design
8. Design micro frontend
9. Orchestrating microservices
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
How does Docker Work? Is Docker still relevant?
We just made a video on this topic.
Docker's architecture comprises three main components:
🔹 Docker Client
This is the interface through which users interact. It communicates with the Docker daemon.
🔹 Docker Host
Here, the Docker daemon listens for Docker API requests and manages various Docker objects, including images, containers, networks, and volumes.
🔹 Docker Registry
This is where Docker images are stored. Docker Hub, for instance, is a widely-used public registry.
Watch the whole video here: https://t.co/OgRVcUBPTV
How does HTTPS work?
Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP.) HTTPS transmits encrypted data using Transport Layer Security (TLS.) If the data is hijacked online, all the hijacker gets is binary code.
How is the data encrypted and decrypted?
Step 1 - The client (browser) and the server establish a TCP connection.
Step 2 - The client sends a “client hello” to the server. The message contains a set of necessary encryption algorithms (cipher suites) and the latest TLS version it can support. The server responds with a “server hello” so the browser knows whether it can support the algorithms and TLS version.
The server then sends the SSL certificate to the client. The certificate contains the public key, host name, expiry dates, etc. The client validates the certificate.
Step 3 - After validating the SSL certificate, the client generates a session key and encrypts it using the public key. The server receives the encrypted session key and decrypts it with the private key.
Step 4 - Now that both the client and the server hold the same session key (symmetric encryption), the encrypted data is transmitted in a secure bi-directional channel.
Why does HTTPS switch to symmetric encryption during data transmission? There are two main reasons:
1. Security: The asymmetric encryption goes only one way. This means that if the server tries to send the encrypted data back to the client, anyone can decrypt the data using the public key.
2. Server resources: The asymmetric encryption adds quite a lot of mathematical overhead. It is not suitable for data transmissions in long sessions.
Over to you: how much performance overhead does HTTPS add, compared to HTTP?
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
Y'all out there working in software – even if you've done a computer architecture course before, take a few hours and do https://t.co/wN4VDuK3CP (even just the first half, building a working CPU and assembler). It's a profound and magical experience to do it from first principles
When you log into a Linux system, make it a habit to look at the processes with this command:
ps -auxwf
This will list out all processes in tree format. It makes it easy to spot unusual activity.
For instance, this is what a PHP reverse bindshell backdoor will look like.
Le climat ne négociera pas avec la stabilité de notre production agricole. Oui, ce sont des images satellites du même endroit en Grèce (je vous assure !). Vous avez devant vos yeux la perte de plusieurs dizaines de milliers d'hectares de culture.
Les cultures des pays méditerranéens sont particulièrement exposés aux pertes dues aux pluies automnales pour plusieurs raisons :
➡️Chaque degrés supplémentaires, c'est 7% de plus d'eau dans l'air (et donc des précipitations plus intenses). Il tombe par exemple 20% de plus d'eau lors de épisodes cévenols en 50 ans.
➡️La mer est plus chaude, et peut fournir potentiellement plus d'énergie aux orages (en plus de la mise en fragilité de la biodiversité marine). De plus, les côtes méditerranéennes sont soumise à des vents locaux à l'origine de convergences de vents qui alimentent ces orages.
➡️Les sols méditerranéens et la végétation ne sont pas aussi luxuriants que dans les zones tempérées plus au nord. La garrigue sur sol calcaire retient par exemple moins bien les écoulement qu'une forêt de feuillus type "Fontainebleau".
➡️Le relief est très présent, souvent bordant des plaines agricoles. L'accentuation des précipitations peut provoquer des inondations catastrophiques dans les plaines agricoles. Nous connaissons cela en France lors des épisodes cévenols.
➡️Ce sont des zones très peuplées. La bétonisation accentue l'imperméabilisation des sols et les écoulements vers les plaines.
La méditerranéen est un HOTSPOT AGRICOLE du changement climatique. L'évolution des espèces, la protection face aux inondations, la maitrise des écoulements (bétonisation, sol vivant, haies perpendiculaires aux pentes) sont des sources d'adaptations. Mais la principal solution est la diminution des émissions de gaz à effet de serre pour éviter de futurs désastres agricoles.
#Daniel #DANIELSTORM #medicane
How to improve API performance?
The diagram below shows 5 common tricks to improve API performance.
1. Pagination
This is a common optimization when the size of the result is large. The results are streaming back to the client to improve the service responsiveness.
2. Asynchronous Logging
Synchronous logging deals with the disk for every call and can slow down the system. Asynchronous logging sends logs to a lock-free buffer first and immediately returns. The logs will be flushed to the disk periodically. This significantly reduces the I/O overhead.
3. Caching
We can cache frequently accessed data into a cache. The client can query the cache first instead of visiting the database directly. If there is a cache miss, the client can query from the database. Caches like Redis store data in memory, so the data access is much faster than the database.
4. Payload Compression
The requests and responses can be compressed using gzip etc so that the transmitted data size is much smaller. This speeds up the upload and download.
5. Connection Pool
When accessing resources, we often need to load data from the database. Opening the closing db connections add significant overhead. So we should connect to the db via a pool of open connections. The connection pool is responsible for managing the connection lifecycle.
Over to you: What other tricks do you use to improve API performance?
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
𝗔 𝗹𝗶𝘀𝘁 𝗼𝗳 𝗵𝗲𝗹𝗽𝗳𝘂𝗹 𝘁𝗼𝗼𝗹𝘀 𝗶𝗻 𝗮 𝗟𝗶𝗻𝘂𝘅 𝘀𝘆𝘀𝘁𝗲𝗺
🔹𝗽𝗶𝗱𝘀𝘁𝗮𝘁 - monitors how much of the system's resources—such as CPU, memory, device IO, task switching, and threads—are being used by all or a specific set of programs.
🔹𝗻𝗲𝘁𝘀𝘁𝗮𝘁 - displays ICMP, IP, TCP, and UDP protocol statistics.
🔹𝗹𝘀𝗼𝗳- lists open files of the current system.
🔹𝗶𝗼𝘀𝘁��𝘁 - reports the system's CPU and input/output information.
🔹𝘃𝗺𝘀𝘁𝗮𝘁 - reports data on CPU activity, block IO, memory, processes, paging, and traps.
Image credits: Brendan Gregg.
#linux #unix