Predrag Gruevski - TrustFall, Cargo Server Checks, and the Future of Query-Based Tools

Durée: 51m31s

Date de sortie: 09/09/2024

This week we have Predrag Gruevski to discuss TrustFall, a new query-based tool for querying anything. Trustfall make it simple to turn anything into queryable data. Predrag used that to create cargo-semver-checks, a tool that checks your Rust packages for semantic versioning compliance.

Episode sponsored By MUX (https://mux.com)

Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.

C'est ma opinion que si nous faisons un query 1 000 fois plus facile,
la vie devient 1 000 fois mieux.
Juste en regardant le monde autour de moi,
des choses qui ont été passées dans les dernières jours,
un peu de choses qui sont très compliquées,
des queries ont été passées.
Bonjour, bienvenue à la podcast de DevTools FM.
C'est un podcast sur les tools de développement
et les gens qui le font.
Je suis Andrew et c'est ma co-host, Justin.
Salut tout le monde.
Aujourd'hui, nous sommes vraiment excitées à avoir un projet sur le podcast.
Donc, j'ai réglé plusieurs de vos blog posts,
indépendamment d'un à l'autre,
et je n'ai pas réalisé que c'était par l'autre.
Donc, je suis vraiment incroyablement excité à vous parler
de pas seulement ce que vous avez travaillé sur,
mais aussi votre livraison.
Je l'ai étudiant sur le poste de la terrain,
et c'était vraiment très bien.
Je suis incroyablement excité à vous parler de ça.
Mais avant de nous parler et de parler de des topics
qu'on a sur ce agenda aujourd'hui,
Would you like to introduce yourself to the audience
and tell them a little about yourself ?
Merci beaucoup pour le soutien, c'est un plaisir d'être ici.
Je m'appelle Predrog.
Je travaille sur les tools de développement,
l'infrastructure, les databases, les compétences.
C'est tout un peu fussy.
J'aime vraiment les projets intersectionaux
où vous appliquez les techniques de la cutting edge
et les fields de l'un à l'autre.
Je me donne vraiment un coup de la main.
Je me donne un coup de la main
en prenant des accidents
qui sont en train de nous accroître.
Et j'aime vraiment le software
qui se débrouille très rapidement et très correctement,
et qui distille les meilleures expertises
dans l'automation pour que tout le monde s'en bénéficie
sans avoir une PhD
et les détails de la version semantique
ou de la correcté,
ou des compétences,
ou quelque chose d'autre
qui peut être sur leur plate.
J'ai un grand nombre de projets
que j'ai travaillé sur.
J'ai très heureux de parler de tous les projets.
Beaucoup de ceux sont très rares,
beaucoup sont très ambitieux.
J'espère que tout le monde qui est venu pour ça
est prêt pour ça.
Je suis très heureux de vous parler de ça.
J'espère que vous ne vous inquiétez pas
de la technique de la vente.
Non, pas du tout.
Vous avez mentionné que vous aimez
appeler des choses sur un point
dans un autre point.
Est-ce que vous avez un exemple
de ce qu'on parle de l'outil
qu'on parle de?
Oui.
À un moment,
et c'est peut-être un autre
de l'un des blogs
que vous avez lu Justin,
j'ai écrit un blog
sur ce qu'on a fait de l'hier
à mon dernier travail.
J'ai vraiment dû
faire un coup
en fait de jouer monet-ball
pour les ingénieurs de l'arrivée.
Parce que j'étais le premier
de la team
à un petit start-up
qui a fait des choses
très ambitielles
infrastructure,
database de compiler,
ce type de choses.
Si vous avez écrit le travail
et vous avez essayé de l'accompagner
par ce travail,
tous les candidats
seraient comme
l6, l7 à Google
et nous n'avons pas
de ce genre de monnaie.
Mais vous ne pouvez pas
faire de très bons trucs
sans avoir
vraiment de bons ingénieurs
sur le team
et donc nous avons juste
dû aller plus vite
que tout le monde.
Et donc,
j'ai lu le blog
Moneyball
et j'ai lu
quelques des informations
de là-bas
et le livre est
sur
comment vous build
un team de baseball
en baseball
et j'ai adapté
quelques choses
que j'ai appris là-bas
sur le software
pour les gens
qui sont
juste à l'étude de l'école,
à l'étude de la salle
ou peut-être
dans quelques années
à l'étude de l'école.
Et donc,
nous avons endommé
un team de baseball
absolument de kickass.
Toutes ces personnes
ont
depuis longtemps
étudier
à d'autres compagnies

Et beaucoup de choses
que je suis construit
maintenant
ont été influencées
par les choses
que nous avons inventées
ensemble
à mon dernier travail
et puis à l'étude de l'étude de l'école.
Pour vous donner un exemple,
nous avons
beaucoup, beaucoup
déclaré
en regardant
combien de années
de expérience
des gens ont
et en plutôt
regardé
ce que les gens
ont fait
dans les nombreuses
années de expérience
que ils ont eu.
Donc, nous avons regardé
les gens
qui sont
les personnes
absolues
de l'expert
dans leur collège
dans leur environnement,
vous savez,
comme sur le top
une personne
d'une school
qui peut-être
n'est pas
le top numéro un
dans le pays,
comme sur
acheter
tous les meilleurs
personnes
que tout le monde
connait
sont vraiment bonnes
et
vous savez,
tout le monde
t'en tient
pour
ou les gens
avec 10 ans
d'expérience
mais pas beaucoup
de show
pour ça.

ma façon de expliquer
ceci est comme
j'ai joué
hockey
pendant 12 ans.
Quand la famille
s'est réveillée
sur la télé,
j'étais sur ma couche
regardant
et pas sur le joueur
joué.
Vous pensez
que avec
12 ans
d'expérience
je devais être
un joueur
senior
dans l'un des
facteurs
qui ne sont pas
les cas.
J'aime cette
analyse.
Oui,
c'est
malheureux.
Je l'ai lu
un peu
cet article
et
c'est intéressant
les stratégies
que vous avez
utilisées
où c'est
comme,
oh,
on regarde
le freshman.
N'importe qui
s'en regarde
le freshman.
Et
j'ai
l'impression
que ça
est un
étudiant
de la
journée où
c'est comme,
le freshman
année,
vous
allez
faire un
projet
d'explicit.
Je pense que
personne ne va
vous regarder.
Oui,
j'ai
une expérience
personnelle
d'exact.
C'est
le freshman
année

j'ai
l'impression
que
j'ai
l'impression




l'impression
que j'ai
l'impression
que j'ai
l'impression
que j'ai
l'impression
que j'ai
l'impression
que j'ai
l'impression

















C'est pas le sens.
C'est
juste
une procédure
de recrutement
de recrutement.
Ils ne veulent pas
m'en acheter
comme
des internautes
et ils veulent
m'en acheter
comme un
temps
de
quelque chose
d'accord.
Et c'était
ces
types
de
gaps
dans le système
que
ma équipe
t'aie
à
sortir
et
trouver
toutes ces
personnes
qui
sont
réjectées
sur
la base
d'un
autre
que la
mérité.
Parce que
d'un
faillissement
du système
ou
des
incalculations
de
ce que
ils doivent être
ou
d'autres
facteurs
confondants.
Je dirais
que
les résumés
sont
probablement
un facteur

ici
parce que
quand vous
vous





vous
vous
vous
vous
vous
c'est
vraiment
difficile
de
savoir
comment
c'est
100%
donc
on va
vous
vous
parler
d'un
de
vos
projets
de

vous



vous


vous
vous
vous



vous
vous

vous




vous
vous
vous

si vous avez ce type de data graph qui compasse tout ce que vous inquiétez
et que vous pouvez query rapidement, facilement, efficacement,
alors beaucoup de choses vont devenir plus facile.
Si vous pouvez juste exprès tout ce qui est un query et que c'est quelque chose d'autre
pour savoir comment vous avez besoin de data pour exécuter ce query efficacement
et juste vous donner les réponses que vous avez regardé,
beaucoup d'autres outils sont exprès de faire un query,
faire les résultats et puis faire quelque chose avec ces résultats.
Trusfull est un effort pour faire cela possible.
C'est une pièce d'infrastructure fondationale,
donc cela ne vient pas de trop de batteries à l'écoute.
Vous devez toujours pluger les différents sources de data,
les différents sources de data ont différents constraintes.
Il y a évidemment encore un certain engenrier qui est nécessaire pour faire cela.
Mais la vision fondamentale est que nous avons besoin d'un système de compilers
qui nous donne un état d'engin database
que nous pouvons mettre dans nos applications.
Il faut être un compilère comme ça,
car il faut faire beaucoup de la optimisation que nous carevons,
sinon nous allons réimpliquer tout de la pièce de scratch
car cela sera une performance plus haute.
Il faut aussi être un état d'engin database comme ça,
car l'éclairation de query est juste vraiment bonne.
Si je n'ai pas besoin d'une code imperative dans tout cas,
je vais être découplé de des changements dans les structures de data.
Je n'ai pas besoin d'une adhérentation,
et maintenant la query devrait exécuter complètement.
Nous avons un grand nombre d'euros.
Nous avons besoin d'un LVM pour des databases,
où nous pouvons rester à ce niveau de haut,
je vais juste mettre un query en déclaration,
et c'est quelque chose d'autre,
pour savoir comment faire tout cela.
Nous avons besoin d'une pièce d'infrastructure sur l'autre côté
pour prendre cette query et faire un nombre de datasets,
tout ce que nous carevons pour le plug-in.
C'est un projet très ambitieux,
et c'est en même temps très établi,
et je travaille sur cette technologie
depuis 7 ou 8 ans,
selon la façon dont vous comptez,
et aussi très rapidement,
parce que tout le data source
que tout le monde craint n'a pas été plug-in.
C'est une longue température,
mais je suis très content de travailler sur ça,
et c'est plus bon.
Nous aimerons que ce soit stop,
et nous sommes sponsorisés pour la semaine.
Mux.
Mux est une plateforme magnifique
qui permet de mettre un vidéo sur votre produit
comme facilement imaginable.
Le vidéo est un trône de problèmes de difficulté
pour se résoudre,
que ce soit les formats d'image,
les vidéos de vidéo de qualité
pour vos consommateurs,
et de construire un joueur bien joué sur toutes les plateformes.
Il y a beaucoup de choses à penser et de construire.
C'est où Mux vient.
Une idée que Mux a joué
avec de l'aie de récent,
pour les parts de leur produit
comme ils peuvent.
Ce qui est vraiment un peu plus avancé
est leur joueur Mux.
Certaines des features qu'il y a
dans le bâtiment de ce truc
sont tellement cool.
Vous avez des chapitres automatiques.
La summarisation et la tagging.
Ça va même automatiquement
transmettre et doubler vos vidéos.
C'est tellement cool.
Et j'aime comment ça fait que
votre contenu est plus accessible
sans que vous ayez plus de plus.
Et je suis sûr que ça ne s'arrête pas.
Je pense qu'ils ont un tout un peu de choses
de plus cool à faire avec l'aie de récent.
Je sais qu'ils ont des trucs vraiment cool
et juste comme les encodements
qui travaillent en utilisant machine learning.
Donc, si vous avez besoin de vidéo à votre plateforme
et que vous n'avez pas besoin de
mettre des semaines à votre produit,
vous pouvez vérifier.
Et si vous n'avez pas besoin de entendre ces ades,
vous pouvez être un membre
d'un des différents canaux que nous offrons.
Avec ça, vous allez avoir
l'épisode ad-free
et un scotch plus tard.
Si vous voulez trouver une autre façon
de soutenir le podcast,
vous pouvez aller au www.shop.devtools.fm.
Vous pouvez prendre une haine
et montrer que vous êtes vraiment un nerd.
Avec ça,
nous allons retourner au podcast.
Oui, le...
le source de données et le source de données
est l'effort de long-tail.
Et c'est comme...
A chaque fois que vous avez
une interface unifiée
pour les accesses de données
sur les banques de données
ou des appareils,
ou tout ça,
c'est comme...
Okay, maintenant, je dois impliquer
ces choses pour tous les uns.
C'est une difficulté.
Une question particulière
de TrussFall
est...
Est-ce que ça acte
comme un database
dans ce cas ?
Donc, on va dire que vous êtes
en train de créer un source de données.
Et vous avez un exemple de
hauteur de la nouvelle,
qui peut être une hauteur de la nouvelle
assez stade,
mais...
peut-être que vous avez
des données
qui peuvent être stées,
ou des changements,
ou tout ça.
Et vous vous inquiétez
cette information.
Si vous le détendez,
ce sera vraiment
efficace de l'acquérir,
mais ça va aussi
devenir stale.
Et vous devez
aller en train de
faire le source de données
à un moment.
Mais si vous retournez
en train de faire le source de données,
et vous payez le débat
de la faute de faire ça.
Donc,
comment vous balance
la fraîche de données
et de retourner
vers le source
vers le casque ?
Absolument.
Et...
C'est où TrussFall
est un peu plus...
un box de tools
avec lequel
pour construire une integration
et pas vraiment
une opinion de la hauteur,
c'est la façon de faire ça.
TrussFall n'est pas
un database en soi.
Il ne se détend pas,
il ne cache pas de choses
pour vous.
Il ne fait pas
n'importe quoi.
Mais ça vous donne l'obligation
de faire tout ça
où et quand ça fait du sens.
Donc, parfois,
la date que vous avez
est complètement stade.
C'est, dire, un JSON file
dans votre disc local.
Donc, le cache ne fait
beaucoup de sens
parce que vous allez
faire le parc
et ça va être statique.
Et d'autres fois,
vous avez ce complicate
dataset
comme GitHub
ou comme Hacker News
ou quelque chose comme ça.
Et il y a
des techniques
plus advancedes
comme cache,
batching,
prédicit,
pushdown,
choses comme ça
sont importantes.
TrussFall's job
est de
faire toutes les optimisations
qui sont toujours
une bonne idée
en regards
de où
la date est venu.
Et faire
très facile
pour l'intégration
de la source spécifique
pour faire
toutes les autres optimisations
Donc, pour quelque chose
comme
GitHub ou Hacker News
dans beaucoup de cas
ce que vous voulez
faire
c'est
utiliser
le cache HTTP
et le recruter
ce que l'est
l'etag
de la réponse
et puis
révalider
ce qu'il faut.
Si vous soyez
plus ou moins
de frais de la
performance
et plus ou moins de
performance
vous ne vous
validerez
l'etag
et vous direz
Hey,
si ce n'est
plus que 10 minutes
ou quelque chose
vous ne le

vous n'en vous
vous n'en vous
mais l'idée
est de
exposer
une spectrum
d'options
et ne forcer
aucun modèles
ou approche
de n'importe qui
qui se trouvent.
Donc,
est-ce que
l'étag
est maintenant
configuré
avec
d'autres sources
ou
est-ce que je
mets
toutes les sources

de la source de la source
?
La source de la source
ne se trouve pas
avec d'autres sources
Il y a un nombre
de sources
qui ont été implementées
comme
les libraries
que vous pouvez
installer
et utiliser
et elles
sont en train
de se faire
Donc, l'idée
est
qu'ils exposent
une interface
où vous vous récliez
les queries trussfaults
qui vous donnent
les bindings
et sous la coute
ils se bundlent
l'engin trussfault
donc le design trussfault
est destiné
si vous vous apprégiez
comme des tests de carburant
les queries trussfaults
sont partie de ça
mais vous ne le voyez pas
vous vous arrêtez
des queries
et les autres
c'est le même
avec les plate-grammes web
c'est juste
les assemblées web
qui vous emploient
dans votre browser
Donc,
on a découvert
ce que c'est
c'est un truc
qui
met un peu de
des sources
ensemble
et je peux les query
on n'a pas vraiment
découvert
pourquoi
je voudrais faire ça
ou ce que ça évoquera
donc
que sont les choses
que vous essayez
d'évoquer
avec trussfaults
oui, absolument
c'est mon opinion
que
si nous faisons
query
1000 fois plus facile
alors la vie
devient 1000 fois mieux
juste en regardant
le monde autour de moi
des choses qui ont
apporté
dans les dernières jours
un peu de choses
qui sont très compliquées
ont apporté
je suis sur un vol
mon
le plan d'incompré
pour ma connexion
était délégué
et donc j'ai eu un email
disant
tu peux perdre
ton connecteur
parce que le vol
est en train

et tout comme ça
tu veux un reschedule
c'est un query
qui a été très compliqué
il y a eu un processus
de
voir tous les passagers
qui pourraient être effectués
et leur envoyer un email
qui leur dit
qu'ils veulent un reschedule
et qu'ils vont évoquer
un autre vol
je suis sur des situations

une pièce de code
est poussée
qui va causer
une sorte d'outage
en dessous
un exemple
de la poste blog
est comme
Hey
votre service
est tenté
d'utiliser
une version Python
spécifiée
dans le
package manifest
que comme Python 3.11
mais il va être déployé
en Kubernetes
avec un file docker
qui dit 3.8
et ça ne marche pas
parce que tu as un
mismatch
de versions Python
Right
Cargis Everchex
est un autre casu
c'est un linter
j'ai très très
accidentellement
poussé
un change de break
dans l'une de mes packages
et encore
c'était un query
de comme
Hey
ce API
garantie
que tu as mis
à la preuve
n'est plus
satisfait
dans la nouvelle version
si ces choses
sont plus
impliquées
on va avoir
quelques instances

je vais
poursuivre
quelque chose
et puis
oups
je ne le regrette
parce que
j'ai brouillé
j'ai brouillé
tout le monde
qui a dépendu
sur le
enjeu
et maintenant
j'ai
comme le maintainer
et tout le monde
enjeu
comme les utilisateurs
ont de l'air
un tout un peu
de très
expensif
de la mitigation
parce que si tu as
un écosystème
comme nous avons
en Rust
en Python
en JavaScript
si
un changement de code
peut causer
1000 heures
de débug
en dessous
ce est
un million
d'euros
plus
de l'expense
que la communauté
a juste incuré
et ce
est un taxe
de production
ce
effort
a été
dépassé
on a
mis le
monnaie
et on ne
va jamais
voir
aucun
valable
ou
quelque chose
de ce qui
est juste
malheureux
si
plus
de la
préparation
et plus
de la
préparation
peut produire
plus
de les applications
plus
de la
préparation
plus
d'expérience
par la ligne
pas juste pour les
développeurs
mais pour
juste les
usagers
qui
sont
en train de
avoir un
computateur
et un
appartement
pour votre système
je pense que
c'est un bon
monde
pour vivre
donc
c'est
5 à 10
ans
de vision
de ce que j'espère
que
TrustFolk
peut enlever
et
on est déjà
en train de

ça
mais je pense
que
on peut
faire
1000
fois plus
donc
c'est
comme
le fait
que je suis
en train de
c'est
comme
un
code
navigué



de ne pas aller au-delà d'un tour de la Thunderstorm,
de comment je vais en faire de la data pour savoir
que j'ai une tour d'au-delà et que c'est un tour de Thunderstorm.
Et il y a des API restants qui sont involved
en enlever tout ce data et en expérimenter cette politique.
Il y a quelque chose qui est intéressant pour moi
c'est que, je pense,
beaucoup de fois, quand je pense à l'automation,
et dans ce cas, on a un tool qui nous permet
de créer beaucoup de sources de data.
Je pense à un système de traditionnel,
l'ETL, où on connecte des données de l'API
pour faire un processus.
Mais ce que je pense très intéressant
sur comment vous avez appris,
c'est que vous avez donné l'exemple de l'exemple de cargo
de l'utiliser de tristes pour enquêter
les données de des files configs
et des choses qui sont plus statiques
et qui sont utilisées pour vérifier les règles de cette façon.
Et ça me rappelle un peu de...
Il y a un tool qui s'appelle SimGrip,
qui est un grapement sematique.
Il y a des patterns et des STs
pour vérifier les règles de sécurité
ou les règles de dépendance.
Ça me rappelle un problème.
C'est vraiment...
C'est un problème de query,
c'est intéressant.
En regardant les syntaxes,
il a beaucoup de grapquelles.
Est-ce que le grapquel est sous la coude
ou est-ce que c'est une langue de query
qui a été barrée par le grapquel?
Oui, c'est une langue de query custom
qui barre les semantics.
La barre est le syntaxe,
beaucoup de la tooling,
tout ça, mais en général, c'est sa propre chose.
Donc, quand je suis sorti de shoppé
pour le syntaxe pour cette idée query
que j'ai,
j'ai remarqué que le grapquel
a un système de tooling fantastique
autour de ça.
Il a des visualisations schématiques,
il a un système de syntaxe autocomplete
qui a évoqué
ce système de type très expressif,
tout ce qui est vraiment sympa.
Mais je n'ai pas voulu adopter le grapquel
pour le tout sale,
parce que ça aussi,
dans mon avis, a des compétences.
Il y a des queries
qui sont très difficiles
pour le impossible de l'expression
du grapquel.
Vous ne pouvez pas faire recours,
vous ne pouvez pas faire agrogations,
vous ne pouvez pas juste couper un filtre
pour où vous sentez le genre.
Vous pouvez avoir
seulement les choses que le réservoir
est capable de faire,
et je ne peux pas juste dire
recours sur ce et le filtre
sur ce et l'agrogére.
Donc, j'ai voulu un peu plus d'expression.
Donc, j'ai sorti de trouver un moyen
pour abuser le syntaxe
du grapquel
pour faire mon bêtement.
Donc, le front-end de le grapquel
réunit le syntaxe du grapquel,
utilise le système de type,
utilise le même autocomplet,
le même LSP,
le même visualiser,
le même tout,
et traduit ça
dans le représentant du grapquel
intérieur,
et à ce point,
tout est différent.
Donc, les réponses que vous avez
ne sont pas compliquées
comme le grapquel,
elles sont laissées,
évaluées,
pas égralées,
et, vous savez,
dans cette sorte
compliquées,
UI-friendly,
mais peut-être
pas un style de performance
de manière à l'air.
Donc, certains traiteurs
sont en train de faire
un « i »
pour être
mieux pour
« Hey, j'ai un bilion de
roues de roues
que j'ai voulu
que ce soit très expensif,
et peut-être que je ne veux pas
faire le bruit de ma whole
limiter sur ce qu'il y a. »

Et ça,
ça signifie que
ce n'est pas si bon
pour conduire un UI directement,
vous ne pouvez pas juste
le placer
et le relayer
et le caller un jour.
Au côté du flip,
cela fait des workloads
comme des checks de carburant,
pas seulement possible,
mais très facile
pour les bénéfices
de la compétition.
Donc,
ce n'est pas
pas le point de graphiser
les syntaxes,
en dessous de la ligne,
vous pouvez imaginer
une autre syntaxe
qui est un truc
que les compilers utilisent,
ou bien,
construire les front-end
et transmettre
à la même représentation,
bam,
vous avez un autre syntaxe.
Donc,
tout de la sequel
pour juste la langue naturelle
avec un layer de translation
de l'LLM est un jeu de fair,
mais
ce n'est pas
tout le temps
qu'il y a juste
le syntaxe.
Je vais en parler
une question
sur lLMs
et la translation,
parce que ça semble
que le moyen de vous présenter
le tool
dans presque tous les posts de blog
est
ici,
c'est une query de langue naturelle
et c'est comme
on se fait de la graffe
en dessous de la ligne
et on a des résultats.
Donc,
avez-vous joué avec ça
et ça fonctionne ?
En fait, oui.
Donc,
Trussfall a été
en train de longs
suffisages
que j'ai réussi
à
obtenir
les tools de lLM
pour faire le documentage
de verbatim
pour que l'on puisse
les faire entraîner.
Et donc,
ils sont vraiment
bons.
Ils sont incandes
à faire les queries
de Trussfall.
Mais,
comme c'est souvent le cas,
le plus
fort
de un tool
comme ça
s'est passé
à la question
de
comment est le design de la schéma
accompli
pour faire les goals
que vous essayez de faire ?
Oui ?
Donc,
si vous avez un schéma
très terrible,
sans l'aménagement de l'organisme,
ce n'est pas
l'aménagement de lLM
qui va
vous aider.
Les queries
vont toujours
être incandes,
elles vont toujours
être soudées,
elles vont toujours
être infortes.
Et donc,
c'est une des grandes
raisons
pourquoi je n'ai
sorti
toutes les
questions

sur le LLM
pour
des questions
de query
langage.
Juste parce que je pense
qu'il y a un couple
d'autres problèmes
fondamentaux
pour se solider.
Mais absolument,
c'est sur le table,
c'est certainement
un peu plus
rapide
plus tard.
C'est
assez
mindboring,
c'est vraiment cool.
Je peux
vous en parler
aussi
sur
le
problème
de GraphQL

vous avez
une query
qui
fait
un peu de services.
Et,
je sais que ce n'est pas
GraphQL
et ne se</i

mais
ieni
et GraphQL ou la team Facebook qui a originalement sort de
sort de la conception d'un loader de data,
qui est comme un layer de cache avancé.
Et c'est ce qui est dans le fond de l'implantation.
Donc c'est quelque chose que sur l'implantation,
vous utilisez un loader de data pour faire de la cache smart.
Et est-ce que la même histoire dans Trustfall ?
C'est où vous avez juste de savoir,
c'est que ce serait un n plus 1, comme une query de waterfall.
Vous avez besoin d'avoir des optimisations de performance,
est-ce que c'est plus bon que ça ?
Je dirais que c'est plus bon que ça.
Donc, il est certain que la base de Trustfall
est une enjeune de query,
pas en parlant de des données spécifiques.
C'est ça.
D'une façon de base de query que vous pouvez faire sans Trustfall,
vous pouvez faire avec Trustfall.
Donc ce n'est pas une chose que vous pourriez faire malheureusement,
juste parce que vous avez choisi de utiliser Trustfall.
Et ça va mieux que ce que nous normalement faisons
quand nous optimisons des choses par hand,
c'est que quand vous implementez une optimisation,
Trustfall va appliquer cette optimisation
à chaque query qui peut bénéficier de cela.
Et vous n'avez pas de manière manuel,
de la faire couper chaque query
qui pourrait bénéficier de cette optimisation.
Je vous donne un exemple de carbosanford checks.
Carbosanford checks est un outil
qui assure une compréhension semantique de Rust.
Et la façon dont cela fait ça,
c'est qu'il y a maintenant 80 queries,
on continue à ajouter plus de queries chaque semaine.
Ils font toutes les choses comme,
est-ce qu'il y a de nouvelles fonctions publiques
qui ont été utilisées et non plus existées,
de la change de la breakage de la trivule ?
Est-ce que les signatures de la fonction
ont changé pour prendre plus de arguments ?
De la change de la breakage de la trivule ?
Est-ce que les fields structuraux ont disparu
depuis la dernière version ?
De la change de la breakage de la trivule ?
Et ainsi.
Un problème commun pour presque toutes ces queries,
c'est qu'on a un item language,
une fonction, un ename, un struct, un truc,
dans une version, et on veut matcher
à l'un des items language dans la nouvelle version.
Et quand on dit item language,
ça signifie quelque chose à un path importe,
parce que quelque chose est nommé à la même chose,
ça ne signifie pas que c'est la même chose,
c'est qu'il faut, quand on importe,
c'est la façon dont on sait que c'est la même chose.
Mais un item language peut être avalé
par plusieurs paths importe.
C'est quelque chose qui est un peu
au loin de la hierarchy de la langue,
c'est pas juste destruct,
c'est comme, qu'est-ce que les paths sont les mêmes ?
C'est un peu de la répétition
que presque toutes ces queries utilisent.
Et ajouter une optimisation
qui rend possible pour TrussFall
de savoir que c'est un index avaléable,
que ça peut, en tout cas,
qu'est-ce que l'item qui correspond à ce path
a été approché par tous les 80 queries.
Donc on a ajouté un couple de cent milliers de codes
et on a établi des tests de carbosamphor
par un facteur de 2300 plus.
On a obtenu des ordres de magnitude
de speed-up avec un couple de cent milliers
par ajouter cette optimisation
qui dit que nous continuons de regarder
les items par les paths importe,
on va faire ça plus fort.
Et importantement, ce que nous n'avons pas fait
est d'aller à 80 queries individuelles
et d'optimer les deux les plus indépendant.
Donc ça nous donne un grand nombre d'amens
en construisant ce tool
parce que ça signifie que
quand les gens contribuent à la nouvelle ligne,
ils ne doivent pas se prévoir
pour les optimisations.
Les optimisations sont automatiquement appliquées.
On a des gens qui sont en classe
et des gens qui ne utilisent pas
TrussFall avant,
des gens qui ne connaissent pas
l'analyse statique,
qui contribuent à la nouvelle ligne
et qui sont en train de faire
une grande performance
et qui sont en train de scanner
tous les packages de rafs
parce que nous avons pris la complexité
de l'analyse statique,
importe la résolution,
la optimisation de performance
sur le table, sur leur plate.
Ils sont toujours en train de se réagir.
Ils sont toujours en train de se réagir.
C'est juste que les gens qui sont
vraiment bons à l'analyse de performance
font la optimisation de performance.
Les gens qui sont vraiment bons à l'analyse statique
font l'analyse statique.
Les gens qui veulent faire un lint
savent que les deux meilleurs
qui ont été les meilleurs
ont été éprouvés
et sont disponibles pour leurs queries
automatiquement.
C'est un paradigm
de la transition de la façon dont les tools
sont en train de faire.
Je pense que le bénéfice de ce
est quelque chose que nous avons
juste été explorés.
Je ne pense pas que nous avons fully
réalisé les bénéfices de
ce sort de mode
sur comment les tools sont développés,
ce que cela pourrait évaluer
et ce que les tools peuvent être
pour que ce soit un point de maintenance
plus que d'autre.
Je vais juste essayer de graphiser les implications.
C'est assez grand.
C'est
en train de lire seulement?
C'est vrai?
Pour le temps, oui.
Je dois avoir des drafts
pour comment cela sera expérimé.
Je dois avoir des drafts
pour que je puisse
expérimiser les langues
dans le système dans les différents directions.
Tout ce qui va arriver
bientôt, en fonction de
l'intérêt et de l'intérêt.
Il n'y a pas de raison
pour que cela soit réglé.
C'est
un problème assez broad
et c'est intéressant que nous parlons
de ce que
il y a de l'intérêt, mais pas exactement.
Et, pour le temps,
quand je pense
à un tool comme celui-ci, je pense
à des APIs qui se tracent.
C'est vraiment
intéressant.
Mes préférés
depuis que nous parlons de les APIs
sont un peu détenus
parce que nous avons un travail flaké
que je ne pouvais pas faire.
Je l'ai écrit un petit query
sur un GitHub adaptateur
que je n'ai pas publié.
Mais si quelqu'un est inquiétant
et écoutant,
je vais vous aider à l'appliquer.
Je l'ai écrit un query qui a dit le suivi.
Look up
GitHub actions workflow runs
qui ont fait plus de fois
sur le même commit et où un travail a un outre
différent entre
Run A et Run B.
Et ça a flaggé tous les
différents workflows flakés que nous avons
fait.
On a flaggé tous les jobs qui ont failé
et les outre-outre-outres de chaque job
et je peux vous dire
que beaucoup de gens ont failé
parce qu'on a un glitch de networks.
On a failé parce qu'on a installé
des dépendances parce que le registre
n'était pas disponible.
Et c'est comme ça que beaucoup ont failé
parce qu'on a eu un outre-outre
d'intermits que nous avons
pu faire en reportage.
Et si je n'ai pas eu
l'obligation de juste write un query
et de faire un outre-outre avec ma vie,
on peut faire 30 secondes
et ensuite avoir un bon
tableau de vue que je pouvais
faire en reportage
et analyser facilement.
Je ne pourrais pas probablement pas faire ça.
C'est juste que, au-delà de l'obligation
c'est même pas m'étonner
comment utiliser l'API de GitHub
et toutes les intricacies et quirques.
Mais, depuis que j'ai eu
cette habileté, j'ai fait le query
et j'ai eu des données utiles et des bénéfices
qui sont en train de faire ça.
Et si on pouvait scale ça pas juste
l'API de GitHub, pas juste
cette particulare query, mais
que tout ce que personne peut faire
je pense que nous avons juste craché
la surface de ce que c'est possible. Je suis super
content pour ce qui s'est passé.
J'ai lu votre poste et tu as dit qu'il y a
beaucoup de tools que sont
des tools database et de la discrétion
de la discrétion.
Quels tools sont-ils ?
Je me suis dit que c'est un outre-outre
d'explorer l'intermits.
C'est un outre-outre
d'explorer l'intermits.
Un gros problème d'adopter
l'intermits, c'est-à-dire la PIE
de maie, dans un
existing Python codebase,
c'est que, en jour 1, rien ne fonctionne.
La PIE de maie est angri et
déçue sur tout.
Mais imagine que tu pourrais
faire un query qui est comme, hey,
a-t-il fait cette polluée, faire
quelque chose de plus ?
Est-ce que les nouveaux erreurs que la PIE
aie pas été flaggée et est maintenant flaggée ?
Dépêche-toi, c'est-à-dire,
ce qui est utile pour la PIE,
mais c'est utile
quand tu veux enlever une nouvelle
nouvelle ruelle, un nouveau outre, un nouveau intermits,
c'est-à-dire, c'est utile pour le type script
si tu veux être
plus strict
en utilisant d'autres exemples, ou des choses comme ça.
C'est utile
dans un nombre de différents places,
dans la sécurité, dans
un grand nombre de la développement de la software,
un grand nombre de les outils que nous utilisons.
Un grand nombre de technologies de compiler,
des compilers de la prochaine génération,
beaucoup de ces sont en fait query-based.
Le moyen dont ils font des choses est
comme, hey, code de la fin de la analyse,
est-ce que c'est tout le monde
en utilisant cette pièce de code ?
Par exemple,
si rien ne s'est utilisé en utilisant cette pièce de code,
je ne suis pas en compilant.
C'est une des choses que je pense
que un handful de gens ont décidé
que les gens ont commencé à parler
des compilers query-based, comme 10 ans auparavant,
mais je pense que ça va vraiment
prendre encore 10 ans avant que
ce soit un endroit commun
et un sens commun,
et donc je pense que
nous devons nous protéger
et faire manifester le futur que nous voulons
exister dans le monde.
Je vais juste essayer de me râter
sur les implications de ça, je ne sais pas,
c'est super fascinant.
Je suis super heureux de travailler sur ça.
Je pense que ça ressemble à un espace cool.
Je me rappelle
que je parlais avec un mec
qui travaille sur un toulon de plus en plus,
et c'est essentiellement
ce que j'ai fait, c'est de
mettre des benchmarks
pour des changements dans votre base de code.
On a donné un exemple de type script,
si vous voulez migrer
à un type check
et que vous avez
100 ou 1000 erreurs,
vous pouvez
écrimenter
et vérifier
que vous avez
x des erreurs
et que vous avez
y des erreurs
et que vous avez de l'air
de migrer
et que ça ressemble
à un truc que vous pouvez impliquer
à l'heure de la fin.
Absolument, dans le passé
je m'ai créé un toulon
avec un autre projet
qui a répondu la question.
Qu'est-ce que le plus strict possible
que le MyPyConfig
passera pour cet projet?
Si vous pouvez le trouver,
ça m'éclame un type
d'envergation rachetant
où vous dites que vous calculerez
le plus strict possible
de la configuration type.
Je vais vérifier ça dans le base de code.
Il n'y a pas de régression.
Encore, si le toulon calcule
une configuration de MyPy
plus stricte,
vous êtes obligé de vérifier ça.
Si le CI s'y perd,
si vous êtes déjà dans le plus strict
que le MyPy permet,
et que vous n'avez pas de relaxation
de la solution que vous avez offert.
C'est pour ça que la rachetant
ne tient plus que le temps.
Vous n'êtes pas obligé
de faire plus de choses,
mais si vous faites quelque chose,
ça ne peut pas se passer.
C'est la façon dont nous mérigérons
une base de code Python
d'utiliser le type,
de ne pas utiliser le type
productivement.
Si ces types de tools sont quelque chose
qu'on peut construire en après-midi
que ce soit en trois mois,
je pense que c'est une meilleure règle.
C'est le premier toulon que vous avez choisi
de construire sur le top de la trousse
qui a l'air un problème assez difficile.
Nous avons parlé un peu à ce point,
mais le chargat Semvera-Checks
est construit sur la trousse
et il y a un peu de règle naturelle.
Pourquoi avez-vous choisi
de construire Semvera-Checks
comme la première chose à s'attacher?
C'est une bonne question.
Semvera-Checks est une des choses
très dévices dans la communauté
pour des raisons infirmières.
Semvera-Checks est
une bonne idée.
Nous sommes vraiment malade
de le faire en pratique.
Les règles sont beaucoup plus complexes
que elles semblent.
Nous humains
sommes absolument atrociés de le faire.
Je suis en train de faire
Semvera-Checks en deux ans.
Il n'y a pas de week-end
pour que je ne trouve pas
un moyen de faire un accident
pour cause de la trousse
dans vos projets.
Si vous avez besoin
d'un PhD en semantique
et que vous travaillez sur ça
pour plusieurs années,
avant d'être un maintenance
productif qui ne se dévile pas
tous les projets.
Ce n'est pas
un bon endroit
d'être. Nous ne serons pas
de la paquets de Semvera-Checks
et nous ne serons pas
d'avoir les bénéfices.
Mais si nous pouvons avoir
une complétation de Semvera-Checks
sans mettre beaucoup de
learning et des fréquences
de la tooling.
Je suis vraiment appuyé.
Je suis en train de faire un update
de cargo, de NPM, de tout.
Et tout de suite, je m'aimais
d'une fois de la 1000 heures
d'autres métaillants
qui travaillent sur leurs
packages. Je les ai
de la fonctionnalité, des patches de sécurité
et, au-delà,
je n'ai pas de savoir de quoi
faire. Je me suis rendu
un command et tout de suite, mon projet est
meilleur. Le premier est fantastique
et nous nous protégera
notre capacité d'execuer
sur ça.
Et quand le push
s'est appuyé, les règles
sont complexes
mais ennuisables. Il y a
un nombre de finites et si nous pouvons
construire une tool qui ne
quittent pas tout,
mais les choses les plus
commonly les problèmes.
Nous avons réussi à réduire
les problèmes de la sévérité
par un couple d'ordres de magnitudes.
Tout de suite, Semvera-Checks est un couple
d'ordres de magnitudes plus utiles
pour tout le monde. Et il y a des millions
de gens qui utilisent tout ce
software dans les bases.
Si nous pouvons prôver
une sévérité catastrophique
qui coûte un peu de 1000 heures
de la preuve de la production,
des millions de dollars de la preuve
de la production extra
ont manifesté dans l'économie.
C'est un endroit
très bon.
C'est un endroit où un
petit nombre d'investissements,
de temps, d'effort et de moues
peuvent avoir un impact
d'un grand nombre de
packages d'écosystèmes,
de la vie de la maintenance
et de la vie de la utilisation des end-users.
Ce n'est pas seulement les gens qui programment,
mais les gens qui utilisent ce software.
Si nous pouvons prôver
une incité de l'incident,
la humainité est meilleure.
Ce n'est pas juste moi,
Trustfall, Cargo-Sanvera-Checks.
Tout l'humainité a été
très fortement offert de l'incident.
Et donc, tout ce que nous pouvons faire
pour protéger l'Economie, c'est important.
C'est un problème commun
dans l'écosystème de la note.
Un truc que beaucoup de gens ne ont pas
est le déclare d'engin
de la packaging de Jason.
Ce n'est pas seulement le fait
qu'il cause beaucoup de confusion.
Comme un maintenance,
je n'aime pas avoir la raison
de la version semantique.
Même en savoir que
je suis allé de note 8 à 9,
c'est un changement de break.
Ça fait un knowledge institutionnel
que je n'ai qu'à faire
de la fonction de la formation.
Absolument.
C'est très fortifiant que,
dans l'absence des tools
comme Cargo-Sanvera-Checks,
les moyens que nous éduquons
en maintenance et en engineers
sont que nous attendons
pour les gens à s'en prendre.
Et nous disons que nous devons savoir ça.
N'a pas été dit.
Il n'y avait pas de façon
de le savoir.
Mais vous avez juste détaillé
tout le monde.
Et d'abord, vous vous sentez mal
en faisant un second,
en faisant une maintenance en émergence.
Parce que tout le monde est détaillé
et détaillé.
C'est pas un environnement très amusant.
Dans un sens réel,
ce que j'espère est que,
comme nous avons été élevé
par ces choses,
nous devons prendre l'expertise
qu'on a de la même chose
par les soins de la toile de la boite
et distiller le toit
pour que ce problème ne se détaille pas.
On ne peut pas voir
tout le problème que nous allons
rencontrer dans la ligne.
Mais il n'y a pas de raison
d'en rencontrer un problème.
On ne peut pas juste écrire
un query de 50 lines de tristesse.
On va le voir et dire, non, pas encore.
Cargo-Sanvera-Checks est construite
pour Rust, bien sûr.
Mais peut-être que je
utilise la même méthodologie et les tools
pour construire la même chose pour TypeScript?
Je ne pense pas que ça soit en train de travailler pour JavaScript,
trop dynamique, mais en tout cas,
TypeScript, on pourrait le faire.
Vous pourrez être surpris, en fait.
J'ai un linter pour Python
qui a aussi la version semantique.
Je n'ai pas publié ça, mais si quelqu'un
qui veut le jouer avec ça,
donne-moi un ping et je vais vous aider à le faire.
Je veux juste poler un peu plus de les égages rouges
avant de faire un grand push.
J'aime vraiment
les autres gens qui ont trouvé des égages rouges
que je savais que je pouvais avoir trouvé et fixé.
Je suis un peu connu
pour ça. Mais si on peut
semper-check Python, on peut
semper-check JavaScript.
TypeScript est un problème plus facile.
J'ai essayé de ne pas
écrire un code qui
maintient les rules
pour TypeScript.
Un site pour
faire des tests.
C'est un travail en progrès. Je ne pense pas qu'il soit pas
sur le nerf, mais si quelqu'un veut
écrire un semper-checker pour TypeScript
ou JavaScript, j'aimerais
être très heureux de vous aider à commencer
en utilisant la trousse et en faisant le possible.
Je ne pense pas que c'est
plus facile que
il peut s'appliquer en première place.
C'est un des
des choses qui me sentent intimidant
avant de le faire et avec un peu de
persévérance, juste pour que quelqu'un soit capable.
Il y a des problèmes.
Je pense que le grand chose pour un semper
est que c'est un changement de break.
C'est une question très grande.
C'est la chose qui est la plus importante.
Mais il y a des questions
qui sont plus sematiques.
Est-ce un bug fix ?
Ou une addition de feature ?
C'est un patch minor.
Peut-être que c'est la position
qui est un plus signifiant
et plus humain.
Et même pour
ce que l'on fait et ce qui est important.
Il y a des cas où
ça fait sens pour qu'on soit
changement de break.
Si un maintienneur a trouvé une
sécurité et une capacité de sécurité
dans leur package et le meilleur moyen
de fixer est de break le système
parce que c'est juste si mal.
On ne veut pas que ça soit le cas.
On veut que ça soit le maintien.
Et par contre, si ça se break,
vous avez la information pour faire
une bonne décision.
Quelle décision vous pense que c'est le meilleur ?
C'est pas pour vous, pas pour le tool.
On ne veut pas que le tool
tente les mains ensemble et disait
que vous n'êtes pas contents de faire cette période.
Vous n'avez pas de choix.
Le frayement que j'aime
est que quand un maintienneur utilise
ce tool, le tool devrait leur donner
toutes les informations comme ça
qu'ils ne sentent pas
qu'ils ont fait une décision qu'ils n'ont pas reçu.
Parce qu'ils n'ont pas la information
nécessaire pour faire une meilleure décision.
Donc,
le maintienneur versus le patch,
dans mon opinion pas si important
pour éviter
des changements de breakings
qui causent beaucoup de friction et frustration
c'est plus important.
Nous avons des choses comme
ce qui est un changement moyen
mais ça peut causer des frustrations
donc vous devez peut-être penser
dans le carburant.
Je pense que ce sont desquels c'est plus important.
C'est juste la question de
où vous allocatez des ressources en priorité.
Donc, maintenant,
les ressources sont récentes sur
ce qui est un changement moyen pour sure
ou avec une très grande probabilité
de causer beaucoup de frictions
même si techniquement c'est la raison
d'under les règles de SEMVER.
Les règles de SEMVER sont très compliquées
et parfois très haïtes.
C'est donc bien de
faire des choses où les gens veulent
exercer plus de carenements et de judgment.
Hey, ce n'est techniquement pas breaking
mais si vous le révertez,
ça sera un changement moyen.
Donc, peut-être que vous devez faire
quelque chose d'autre pour que c'est un peu plus
plus sûr dans le futur si vous changez votre mind
ou faites un autre changement.
Ce n'est pas juste SEMVER,
c'est juste en général.
Est-ce que je vais regretter
ceci en ligne ?
Est-ce que vous implementez Magic Zero
où vous êtes dans le version Zero
et les changements de breakage ne sont pas
réellement pas breakages ?
RUST est très intéressant
parce que le moyen
que cargo implemente SEMVER
est que
même les packages Zero.x
ont SEMVER
responsabilités.
Cargo ignore les 0s.
Donc, 0.1
à 0.2 est un changement moyen.
Mais 0.1
à 0.1.1 est un minor.
C'est intéressant, je n'en ai pas.
C'est un des choses
que beaucoup de gens, même dans le RUST
ne sont pas nécessairement pas utilisés.
Donc,
le RUST tool, le cargo SEMVER
implemente les russes rules.
Mais évidemment, pour Python,
pour JavaScript, pour TypeScript,
nous voulons adhérer à
les rules des ruses des écosystèmes.
Et à la fin du jour, pour beaucoup de choses,
même dans RUST,
la communauté n'a pas nécessairement
une consensue sur les types
des changements qui doivent arriver.
Donc,
si vous vous mettez le minimum support de la version RUST
pour votre package,
est-ce que ça ne peut pas
que la pétale soit plus grande ou moins
ou peut-être pas arriver dans un patch ?
Des différents packages ont différentes normes.
En ce cas, le cargo SEMVER
dit que c'est la responsabilité de
les maintenir pour communiquer
par la configuration des options,
ce qu'ils veulent adhérer.
Et puis, le cargo SEMVER
va appliquer ça.
Mais le config est aussi machine
readable, donc, en dessous,
les outils et les outils peuvent lire ça
et comprendre les choses qui sont garanties
sur lesquelles le renseignent.
Vous avez mentionné le incident de l'incident CrowdStrike.
Comment pensez-vous que
le RUST Fall pourrait avoir aidé ?
Finalement, je pense que
il y a un grand pression,
surtout quand vous êtes une compagnie public
de créer des nouvelles features,
d'avoir plus de customers,
d'expander les lines productives
et d'avoir plus d'expérience

Mais, il y a beaucoup de temps
que le test de l'interne,
l'expérience de l'experte de l'experte
et de l'externe
peuvent se faire souffrir.
Je ne pense pas que
ce genre d'incident est causé par l'incompetence.
Je pense que ce genre de incident
est causé par
les gens qui veulent
construire les outils qui peuvent
faire des problèmes de production
et d'avoir plus d'idées.
Ce sont des idées qui ne sont pas prioritées
parce qu'elles étaient vées
comme ce n'est pas le cas pour construire maintenant.
Peut-être que le ménage est mieux spécifiquement
d'autre côté. Peut-être que nous avons
seulement un nombre de cycles et quelque chose d'autre
qui est plus priorité.
Mon point de vue est que
si nous pouvons construire
ces types de outils,
même les outils qui sont extrêmement
élevés, comme vous avez mentionné,
pour changer l'engin de l'incident
et de la conversation avec
votre ménage, un directeur,
un grand public à votre company,
peut-être que je ne peux pas
faire deux heures pour construire
ce toulon pour que nous ne fassons pas
ce problème, nous avons
beaucoup plus de ces types d'incidents.
Et pas seulement les outils catastrophiques
visibles worldwide,
les outils qui se sont vachés
pour quelques jours, mais
toutes les points de friction
où les actions de GitHub sont
en train de se faire,


Mais il y a un
équilibrium, je veux
parler de ce que Patrick Mackenzie
a dit à Frade.
Il a dit que le nombre optimal de
frôde est non-zero. Le nombre optimal
de production de rachage est non-zero,
mais si la production de
rachage se fait plus chier,
le nombre optimal de production de rachage
se fait plus chier, car
c'est plus chiant pour la production,
donc vous devez la faire,
plutôt que de la souffrir.
On a découvert beaucoup de
d'interessants de tristes,
et en faisant beaucoup de choses
que je ne serais pas
d'associer un toulon
qui est vraiment bon.
Il y a
ce type de casque
d'agriculture data
qui est un peu interfacé.
Est-ce qu'il y a des zones
où vous vous sentez
un peu inexplored
au-delà des casques
que vous avez discutées pour le tristes
où il peut
y avoir des bénéfices qui ne sont pas
assez évidentes.
Ce qui est très excitant
est de faire plus facile
d'interact avec les appels zillionnaux
qui sont là-bas
et qui sont techniquement
disponibles, mais vous devez
comprendre le reste de l'API
dans un laboratoire ou autre.
Parce que tous ces appels,
en tant que simple, ils veulent
présenter eux-mêmes comme.
Ils ont toujours leurs idées et les
idées sincréciées et les quirks.
Vous devez savoir que vous
pouvez mettre ce point d'appel
qui est plus rapide que celui
d'appel.
Il y a beaucoup d'efforts,
en mon avis, qui sont prêts
d'avoir cette expérience d'expertise
qui n'est pas portable
d'un cas de utilisation à un autre
et qui n'est pas portable
d'une company à un autre.
Et je pense que, juste comme il y a
beaucoup de frictions en construisant
des lintes en haut, parce que vous devez
savoir l'analysation statique et l'ingénierie
de performance et avoir une chose concrète
que vous voulez vérifier et tout de suite
que ce sont les balloons, je pense
que c'est aussi un égale en, hey, je veux
faire quelque chose que je ne sais pas,
comme surfaces de la flague qui se tournent
et que je vais avoir des workflows,
ou, vous savez,
il me montre immédiatement le top 3
des repos plus populaires que un nouveau candidat
qui a appris pour un travail que mon company
a contribué à, ou des choses comme ça,
Right? Right now,
we have a zillion little SAAS tools
that take one slice that is essentially
three queries in a trench code
as an entire SAAS company on top
of that, because it's just so difficult
to do all of the plumbing quickly
easily, competently and bundle all
of those little idiosyncrasies of the apis.
If we can make it easier to interact
with all of the apis with good performance
by hiding all of those idiosyncrasies
into a layer that understands them
and sort of sweeps them under the rug
automatically applies whatever caching,
batching, magic is necessary
to make it all ergonomic. I think that
well, first of all, you know,
a thousand companies are going to have to work
a lot harder for our dollars,
but second of all, we're going to have a lot
more tools than we really know what to do with,
you know, the delta between
hey, wouldn't it be nice if
and actually having that thing
in production can go from
you know, months to hopefully
hours and ideally even minutes.
This is not something that's going to happen
overnight. There's a lot of work that has to happen,
but I've done a lot of prototypes
personally, many of them, you know,
not public, just sort of shared with family
and friends that have pointed to
a much brighter future tomorrow. So
if anyone's listening to this and is interested,
please come talk to me. I'm very happy
to chat about it. I'm very happy to show you some of this stuff
and just generally stay tuned
because I think the future is bright.
Well, I think that perfectly covers our last
question. You answered them both
pretty well right there. I'm excited
for this future too. So thanks
for coming on the podcast. This was a
like a mind bending conversation,
one that I think will stick with me
and Justin for a few episodes to come.
So thanks for coming on. It was my pleasure.
I had a lot of fun. Yeah, this was
fantastic. I can't wait to
dig and more. I feel like
there's maybe a recurse project here.
I don't know. I'm gonna, I'm gonna stew on
it. Maybe there's something to work on, but
this is really great tool, a really
interesting topic. Thanks so much for coming.
Amazing. I'm glad you enjoyed it
and Kargo Sanford Chex
is very contributor friendly.
So if something in there
sparks your interest, if you want to write a linterdue
or build an optimization or
to I'd be very happy to point in the right direction.
Not just you Justin, but anyone listening
to this. It's an open source project.
It's for the benefit of the community.
I'm very happy to mentor people.
You don't need any special skills.
All you need is a little bit of elbow crease
and determination. Everything else is
you know, totally fine and it will happen.

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere