James Pearce - TinyBase

Durée: 69m53s

Date de sortie: 25/09/2023

This week we're joined by James Pearce, creator of TinyBase. James has a long history of working on developer tools and open source software. He was the engineering director at Meta (formerly Facebook) for over 10 years, where he worked on a variety of projects including React, React Native, and PyTorch. He also worked on Portal, Meta's smart speaker, for a couple of years. James is currently living on a boat and working on TinyBase full-time. Local first software is a big part of TinyBase, and James has been working with the Local First community to help build out the ecosystem.


Sponsored By Raycast (https://www.raycast.com/)

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


Tooltips

Andrew

Justin

James

TooltipsAndrewJustinJames

rien n'a pas eu le bon mix de structure relationnelle, réactivity,
qui je voulais que l'Ui réacte immédiatement quand la date a changé.
J'ai regardé les moyens pour faire ça et il n'y a pas vraiment de choses.
Donc je pensais, comment ça peut être, de construire une table de data dans la même réaction.
Et c'est assez difficile, ça se trouve.
Je me suis fait compliquer.
Bonjour, bienvenue à la podcast de DevTools FM.
C'est un podcast sur les tools de développement et les gens vont les faire.
Je suis Andrew et c'est mon co-host Justin.
Salut tout le monde, aujourd'hui nous sommes vraiment excitées à avoir James Pierce.
Donc James a un background très illustriux et vraiment excitées à se dégager.
Mais votre projet de currently est un bassin petit,
qui je suis incroyablement excitées à parler d'une bassin petit à l'oeil.
Mais avant de nous dégager,
serait-ce que vous voulez dire à nos listeners un peu plus sur vous-même ?
Certainement.
Ok, bien, firstly, merci beaucoup d'avoir moi.
Un grand privilège.
Second, je dois vous rappeler à tous les meilleurs et à tous ceux qui sont en train de regarder ou de l'écouter.
Je suis sur un boat.
Et si vous voyez le background en arrivant et en arrivant, c'est totalement à l'expect.
Le boat est un peu râché.
Je suis maintenant au côté de la petite île à l'arrière du Carabin,
qui s'appelle Grenada,
où j'ai été en train de se coucher pour les mois de la sommeil,
et j'ai probablement évoqué les hurricanes.
Mais oui, je vis sur ce boat, c'est appelé Scout.
Et c'est un style de vie,
saillant sur les parts du monde et en roulant en sorte que je le puisse.
Donc, c'est le contexte pour le horizon en arrivant et en arrivant.
C'est le background.
Avant de cette vie marine,
j'étais un directeur d'engineering à Metta.
J'étais à Facebook et à Metta pendant juste 10 ans.
J'ai travaillé sur un tout petit peu de choses différentes,
including le programme d'opensage,
travaillant sur un bunch d'infrastructures pour développer les projets,
qui sont évidemment très rélevés pour les personnes à ce podcast.
Et je suis aussi travaillé sur le portable,
qui était le premier speaker smart de la société depuis quelques années.
Donc, j'ai fait un bunch d'intéressants à Metta.
Et pour ça, un whole host de différents startups et plusieurs pièces,
surtout dans l'arrière mobile,
en retourant de l'arrière pré-iphone.
Mais c'est un whole autre podcast, probablement.
Oui, alors,
pendant que vous étiez en train de faire l'opensage sur Facebook,
ça a été un temps très pivotal pour Facebook,
je pense, beaucoup de différentes technologies d'opensage,
les technologies que nous avons utilisées aujourd'hui,
et qui ont influencé ce qu'on a utilisé aujourd'hui,
ont été créées pendant ce temps.
Quels projets ont-ils aidés à Stoeward ou à Get Out,
ou, comme, qu'est-ce que vous avez été invitées pendant ce temps ?
Probablement des centaines de millions,
beaucoup qui n'ont pas été élevés pour devenir des sujets humains,
mais quelques de eux, comme React,
et React Native, et PyTorch,
ont évidemment été.
Donc, oui, c'est un petit peu de background pour ça.
J'ai travaillé sur ce programme depuis 4 ans,
depuis 2013, je dirais,
je dirais, en 2017.
Historiquement, Facebook, à la fois,
avait fait un peu d'opensage,
mais généralement n'a pas fait très bien.
Il a launché des choses,
soit c'est Cassandra,
ou un peu d'infrastructure,
et il a sorti sur la walle et l'a oublié,
et ça a vraiment été un mauvais état.
Et je me sentais que,
quand j'ai pris le programme,
la première chose à faire
était essayer de le faire en contraint.
Et puis, comme nous l'avons launché,
nous faisons des choses plus,
plus structure,
plus discipline,
en faisant surement qu'on les a mis en place
et de l'entendre à la communauté.
Et oui, React
était l'un des premiers projets
que j'étais sorti pariferément
avec, et je le dis pariferément,
parce que, en fait,
les honnêtes vont au équipe d'engineering
qui ont travaillé super bien sur React
depuis des années et années,
et qui sont évidemment toujours.
Mais je suis là,
je pense, pour aider à les faire,
à la chier,
nous avons construit un petit peu d'internel
des outils pour faire sure
que nous pouvons synchroniser les repos
entre GitHub et l'internel
monorepo,
pour que ce que vous voyez sur GitHub
soit toujours ce que vous avez fait
sur Master,
si vous avez vu la source
sur facebook.com.
Et ce système de soutien
pour faire surement que ces projets
soient mis bien en place,
nous avons mis un peu de instrumentation
sur les projets aussi,
pour que les gens
se puissent en internait,
pour qu'ils soient en train de rester
sur les issues
et de faire des réquises et de choses comme ça.
Mais oui, c'était un grand
expérience de l'opinion,
voir quelque chose de React,
juste un stratosphérique.
C'est un système internel
que même internally
ne pouvait pas
se faire s'éteindre immédiatement.
Ça a pris un peu de temps
pour les gens à commencer à l'utiliser.
Interniellement,
je suis sûr que vous avez vu
le document de React
dans la histoire,
mais
évidemment,
quand les gens ont commencé à twequer,
c'était très intéressant
de voir le take-off.
Et nous avons utilisé
beaucoup de ce que nous avons appris
de React
sur les projets sub-sécutes.
Qu'est-ce que ce playbook
pour
commencer une communauté
et à la nourrir,
pour en faire
une phase de l'opinion
de l'opinion d'un projet d'opinion
que vous pouvez
chaperonner
ces projets
par la suite
pour l'entrée de l'endroit.
Et oui,
des choses comme
PyTorch,
je pense,
qui ont suivi
l'enquête de ce playbook.
Et cela a été
un succès.
Et depuis que j'ai fait
les séances,
il y a évidemment
Lama et Lama 2,
qui sont un peu différents,
mais
encore,

construire
des décorations
que nous avons eu
depuis les dernières jours.
Oui, c'est super incroyable.
Je veux dire,
oui,
comme Andrew a dit,
incroyablement pivotal
pour
surtout les écosystèmes de la frontière.
Comment est-ce que
cette période
sort de la forme de vos vies
sur l'enquête d'opinion d'opinion?
Bien sûr,
en profondeur,
depuis que je pense
sur cela,
c'est assez bien
24 heures au jour.
Mais beaucoup de choses
ont surprise moi.
Je pense que
quand je
première
sortais
dans cette
chute,
vous savez,
par contre,
je n'étais pas sorti
de m'assurer
de travailler
sur l'enquête d'opinion.
C'était
un truc cool.
À la fois
dans Facebook,
on avait dit
que
rien à Facebook
est quelqu'un autre
qui a un problème.
Et je vois que l'enquête d'opinion
était un peu
dérilec
et besoin d'aide.
Donc je vais
mettre ma main
et me faire
tomber
et voir si je peux l'aider.
Mais une des choses
que je pense que je
pensais naivement
était la grande victime
pour la société
est-elle que
les développeurs externes
vont commettre la code
et que c'est plus cher
que les gens de hirer?
C'était
ce n'était pas
quelque chose
à faire
avec la valeur
qu'on a
à l'enquête
des projets
au final.
On a eu
des contributions externes
qui était incroyable
et
évidemment
la communauté
a vécu
plus et plus
de ça.
Mais
ce n'était pas
la grande valeur
qui est venu
de ce programme.
La grande valeur
était vraiment
juste
de l'aide
de notre
brand d'engin
spécialement
en front-end.
Donc je ne sais pas
si vous pouvez
rappeler
ce que
le brand d'engin
de Facebook
était comme
en 2012.
Mais c'était
c'est un peu
de enfants
dans la dormitory
hackant sur le PHP
et ils ne savent pas
ce qu'ils font.
Ce n'était pas
assez vrai.
Et
certainement
il n'y avait pas
de réputation
pour
comme
en front-end
excellent.
Et on a
eu des problèmes
de la hire.
On ne pouvait pas
obtenir
un JavaScript
de l'aluminum
ou
ou
ou tout le monde
vraiment
dans la porte
pour
faire
le travail
et le travail.
Et donc
Tom Aquino
qui était
le manager d'engin
de React
à la fois
a vraiment
voulu
utiliser
React
comme un
échange
pour
la qualité
de Facebook
d'engin
et usé
comme un moyen
pour
vous encourage
plus
des front-end
en train de
venir
et travailler
à la compagnie
et ne pas être
embarrassés.
Et donc
React
je veux dire
peut-être que
on a oublié
cela
parce que je pense
que la première
personne n'a pas compris
React
ils pensent
qu'est-ce qu'ils font
comme c'est
quelque chose
de

fou
à leur chose
mais je pense
qu'après
ce qui a commencé
à s'inscrire
ce que c'était
les gens ont commencé
à se réaliser
peut-être
ce n'est pas
juste
que les enfants
de la porte
se réagissent
sur PHP
comme peut-être
ils ont
des problèmes uniques
pour se résoudre
et peut-être
ils ont des solutions uniques
pour cela
et
et oui
ça a vraiment commencé
à aider les gens
à voir
les meilleurs
comme
une
réputation
en train de

à l'extérieur
tout le travail
qui s'est passé
aussi
et puis en temps
machine-learning
et je dois être honnête
comme le grand
bénéfice
que les crews
en temps
est que
c'est juste
un recrutement
banane
parce que
les gens
veulent maintenant
venir travailler
avec les gens
qui sont
construits
ces choses
et ils voient
notre code
et ils savent
ce qui est
et
vous savez
plutôt que de
aller dans ce
opé
environnement
ils
ils savent
ce qu'ils sont en train de apprendre
peut-être qu'ils sont inspirés
pour venir
et rejoindre la compagnie
et je pense
certainement
sur le côté de la JavaScript
ne l'a pas vraiment regardé
pour une très longue période
c'était
un peu de gens talentés
que nous pouvons
mettre
et
aider à travailler
sur ces problèmes
donc oui
c'était
je pense
ce qui était mon
moment de l'opinion
le valeur
pour la compagnie
ultimement
c'était le brand
la innovation
que nous pouvons
pouvoir
se dépasser
et puis
récruire en temps
oui
c'est vraiment cool
de l'heure
je suis certainement
d'être
heureux
pour ce que vous avez
fait
et c'est cool
de voir
comment
ça s'est évolué
comme réacte
a comme
comme
détruit la barrière
de la walle facebook
et maintenant
c'est comme
un effort multi-compagnie
qui est
comme
c'est vraiment cool
de voir
la technologie
mouture
comme ça
oui
donc c'était
une autre chose
que nous avons
spenté
beaucoup de temps
en pensant
vraiment
pour
chaque projet
major
c'est
ce qui est
ce qui est
ce qui est le cycle
c'est










ce qui est le cycle















vous vous sortez
vous vous créez
un groupe de travail
ou un comité
d'autres entreprises
différentes personnes
qui sont investies
dans le projet
comme
il y a des diverses pièces
pour où
pour où ces choses vont
bien sûr
parfois
le projet ne va pas
n'est pas
où et vous vous avez
juste de la sunset
et l'archive
mais
vous savez
ce whole cycle
d'un projet de l'opinion
est super
super intéressant
et oui
j'ai été
évidemment
traiter
ce qui s'est passé
pour réacte
l'année dernière
et ça a vraiment
vraiment
burst
les boundaries
de
vous savez
être
stewé
par le métro
d'une seule
et
et de s'en aller
sans
je pense
les mains sont crossées
sans ça
s'est suddenly
devient un grand
genre
bureaucratique
procès
orienté
comme j'espère
j'espère que c'est
encore capable de
garder
un peu de
la fête de foot
en termes de l'innovation
qui s'est passé
et réacte
pour les
qu'est-ce que les
challenges compétitives
que c'est
ce que c'est
Right
pour les besoins
que les gens ont
on veut
penser
Raycast
pour sponsorir
notre podcast
donc Raycast
est une app
pour Mac
c'est comme
spotlight
mais avec superpowers
à plus de
rapidement
les files
des files
des URLs
des apps
ça
donne
la history de clip
le management de la
windows
un overview
et d'autres
ça
a aussi
un
réacte
réacte
base
API
et une extention
pour distribuer
vos propres extensions customes
une feature
que j'ai vraiment
aimé
sur Raycast
est le manager de clip
de la
vidéo
je sais que les managers
de la vidéo
sont bonnes
mais
dans le passé
je n'ai pas utilisé
parce que
c'est ajouté
un nouveau tool
pour mon
travail
je ne veux pas
avoir de comparer
un peu de différentes options
mais avec Raycast
le plus grand
c'est de changer
comment j'utilise mon computer
je
maintenant
juste
couper les choses
à mon clip
juste pour que je sais
que ça va arriver
pour plus tard
donc
si
tu as eu
envie de
utiliser le manager de clip
mais pas de
faire des nouvelles programmes
Raycast
pourrait être une option
pour toi
vous devez aussi
vérifier
le pro de Raycast
avec pro
vous pouvez prendre
l'advance de Raycast
API
pour s'assumerer
les textes
et d'autres app
et transmettre
les textes dans le fly
et donc ça
vous donne accès
à la feature cloud
sync
pour que vous puissiez
vous protéger
le set synchronisé
sur Max
pour apprendre plus
pour
vous
vous pouvez
visiter
Raycast.com
et vous pouvez aussi
écouter
l'épisode 38
où nous avons
le CEO Thomas
sur le podcast
pour parler de Raycast
vous voulez
avancer
avec le DevTools FM
?
Head over
à
DevTools FM
slash sponsor
oui
pour sûr
je pense que c'est
vraiment
incroyable
de voir
ça
aller
dans les
derniers jours
en étant
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est
ce qui est

ce qui est
ce que sont
ce qui est
si
on


ц
description
on

bạn
ceci
ceci
m'av Miz
un
clos
Right, ok, so this is also a pretty interesting story, it kind of gives you an insight into how Facebook engineering culture works.
So I was an engineering manager at the time, I was running a bunch of DevTools teams, we had an IDE team, we had a build system team,
and suddenly you kind of woke up one morning and you're like, I want to go back to writing more code, like I want to go and become an engineer again.
And basically I wanted to challenge myself, maybe go and work on a consumer product, switch a few things up.
And yeah, this opportunity came along for what at the time was a very secretive team within the company, they were called Building 8,
and they were working on secret hardware and brain machine interfaces and all this kind of stuff.
And I'm like, wow, that sounds awesome. So basically went and switched up almost everything about my career overnight.
So I went from being a manager to being an individual contributing engineer, I went from working on infrastructure to working on a product,
I went from working on software to working on hardware, and suddenly I'm in this kind of crazy R&D environment.
But within a couple of weeks, you know, kind of found my feet, learned a bit of Android, which was probably what we were going to be building this thing on.
And yeah, sort of rolled up my sleeves and started figuring out what we could do.
And the idea was really pretty fuzzy at first.
It's like, you know, how do we make it more seamless to stay connected with your family, you know, rather than the effort of having to get out your phone
and find someone in the address book, like what if you just want to chat to a family member last year and making your breakfast or whatever.
And so the idea of this smart speaker with a screen was born.
And then there was a machine learning team that had gone off and discovered they could do post tracking live.
And so we put that in as well so that as you're walking around the kitchen, it kind of zooms in and follows you around.
And it was a kind of cool tech in a way, looking for a problem to solve at first.
But then the smart speaker market started picking up.
So Google had a product and Amazon had a product.
And we're like, oh, actually, maybe this is a thing.
And if we can bring some of the magic of like Facebook's assets like Messenger and some of the Facebook content and, you know, WhatsApp,
ultimately, if we can bring those to this device as well, then, you know, it's a fairly compelling package.
And so my responsibility ultimately was to work on these kinds of content integrations.
So how can we get news feed into Portal?
How can we get third parties like Spotify?
How can we get the Spotify player onto this device?
How can we hook into all of the other Facebook properties alongside the calling experience?
So yeah, you could make these face-to-face calls, but then you could also share in Facebook watch video, right?
And watch together and stuff like that.
So yeah, built a bunch of the sort of the app platform, I guess you would say, for all these, you know, third party or second party content sources.
And yeah, it was wild.
Obviously, one of the big headwinds that the company was against was the fact that this was a camera with the Facebook logo right next to it.
So people were a little, you know, unnerved, I think, by the sort of privacy implications.
As a matter of fact, the privacy was done really well.
It was kind of something we'd been thinking about right from the start.
But yeah, I think that the magic there was always going to be how could we marry the Facebook portfolio of content and services into this device so that it was more than just a dumb, smart speaker,
of which there were many at that point.
So that was my brief, I was trying to make it come alive.
And yeah, I think we got there, obviously, a year or two after we launched, we went into lockdown and pandemic
and the sales of this thing just exploded because all of a sudden it was basically the only way that people could ambiantly stay in touch with each other.
And we pivoted towards doing enterprise so that, you know, you could use it as a basically a remote VC system for people working from home.
And yeah, that was a big boost to it.
So yeah, in the end, it was a successful project.
I mean, I think in the most recent round of kind of cost cutting, it's probably not continuing in its full form.
But yeah, it was an awesome project to work on.
And like I said, I just got to write some codes.
Yeah, I resonate with swinging from DevTools back into product because you just get that itch for your like, I've helped enough other people.
I want to make something myself.
But recently, you've swung back the other direction back into DevTooling with TinyBase.
So you now, as you mentioned, you now live on a boat and completely do open source full time.
So like, what made you think that you want to make that transition of A, OSS full time and B, traveling the world on a boat?
Hmm, what makes you want to travel the world on a boat?
Well, I don't know.
Where do you want to start?
It's awesome.
That's why.
Yeah, no.
So after portal, yeah, actually, I didn't leave Meta straight after portal.
I did also go back to to work in infrastructure for a while.
And you're absolutely right.
You come back from product land.
You're like, guys, guys, I got so many things we need to work on.
Because you've got that first like firsthand experience of having been like a customer of yourself, so to speak.
So yeah, and I think that's ultimately where my my real passions lies is making shovels and picks for people who are out looking for gold.
It kind of helps you kind of get leverage and, you know, maximize the impact that you can have across all the people that will use your thing.
So yeah, stayed at Meta for a couple of years after portal.
And then yeah, I just reached a good point in my life.
Kids were leaving school, you know, boat was nearly ready.
And we're like, ah, let's just do it.
So myself and my wife, yeah, sold the house in Silicon Valley and jumped on a boat.
And we've been sailing pretty much the last year or so.
Came down the East Coast, started in Boston, came down East Coast through the Parmas and the Caribbean and down to here.
Yeah, it's been fantastic.
But look, I think one thing you need to know about me is that like writing code is like part of my DNA.
It's like baked into who I am almost started programming when I was a kid on a ZX81, actually,
which is a British computer that your European listeners may may know about, not so popular in the US,
but like it was this little Z80 based computer that we all had in school in the early 80s.
And yeah, I've been writing code ever since, it's just part of who I am.
And so even when I left my professional life, I knew like I just have to have this.
It's like, it's pretty low down my Maslow hierarchy of needs in terms of things I have to have after water and food.
I have to write code.
So anyway, that's kind of the background.
And so living on a boat, yeah, there's a lot to do to keep a boat going, it turns out.
And obviously, there's the actual sailing and traveling, and that takes up a lot of time.
But there's also a lot of downtime.
And what am I going to do? Just sit and watch Netflix?
Or am I just going to sort of hack on stuff?
And so that's been pretty obvious.
And yeah, I've been dabbling with this little project that I had started called TinyBase.
And it sort of grew and seemed like something that I could sort of root my efforts around.
And so yeah, put it out there, got it a website, made a little logo, started building some documentation.
And there we are.
So yeah, we'll obviously come on to talk a little bit about what TinyBase is.
But yeah, in a way, it's just a way of me keeping some fingers on the keyboard
and actually building things, which I can't live without, to be honest.
Did the idea, was the idea for a local first sort of database,
was that inspired by living on a boat and having poor connectivity?
Or was it something that you'd been thinking about previously?
I sort of have to grandfather in the origin story a little bit.
That wasn't the original idea, but it turns out that that is actually a nice resonant story.
No, I started on this because I had originally been trying to build an app
that would be a sort of, surprise surprise,
like a dashboard that would let you see all your open source projects
and see how they were growing and what was trending
and which ones had too many pull requests and stuff.
And I wanted to have basically at the time an Electron app
that was going to be able to pull this data from GitHub and then display it.
But the GitHub APIs, you don't want to be pulling those every minute.
So I wanted to have a way of storing sort of pretty structured tabular data
locally on my device.
And I didn't really want to go through all the malarkey of setting up
like a full relational database,
because it's not a lot of data, but enough to be to hold in memory.
So I figured, look, I looked at things like Redux and MobX
and there's a bunch of other kind of state management systems,
but nothing kind of had the right mix of relational structure
in memory, reactivity, which I wanted to, you know,
really important for me, that the UI was going to react
immediately when data changed.
And yeah, I looked around for ways to do this
that didn't involve pulling GitHub every minute
and there didn't really seem to be anything.
So I thought, well, how hard can it be to build an in-memory tabular data store?
And quite hard, it turns out.
I may have overcomplicated it, but that was the origin story.
And then once I moved on to a boat
and I don't have continuous data connectivity, as you can imagine,
it got me thinking, like, what are the apps that work?
And a lot of the apps on my phone literally don't work
when we're at sea.
And those that do, like, they've obviously been built with that in mind,
but it's not the default.
Like a lot of people are just building apps
assuming there's a cloud, assuming there's, like,
fiber-grade bandwidth and, like, ah, it's not true.
And, like, if it's not true for me,
first world user on a boat,
it's probably almost certainly not true for second or third world folks
or developing countries who don't have the connectivity
or the device power to be able to stay connected.
So anyway, it got me thinking, like,
why have we so over-rotated on to just, like,
the cloud being utility when, like, it isn't, actually,
for a lot of people?
And, ah,
then I just, you know, on Twitter,
started stumbling off upon people starting to talk
about this local first movement,
which was, yeah, building your apps with local storage
in mind first and cloud second,
rather than the other way around.
And I'm like, yeah, actually, that fits quite well.
So maybe I'll kind of work in that angle
to how I'm thinking about Tinybase
and that really kind of propelled the roadmap on from there.
We can talk a lot about local first,
but, yeah, I would definitely recommend people go check it out.
Actually, stood up a little website recently
called local first web development.
So I think that's localfirstweb.dev,
which has got a bunch of resources and tools around this thing.
So I don't want to take credit for the local first movement,
but, like, there's a lot happening there
and it's pretty fun.
And, yeah, I'm all in on it as an option
for, you know, the way to think about building apps.
Yeah, I love this.
Is this related, so this is related to the local first discord?
Yeah, right.
So this is another funny little story.
I'm just like, there doesn't seem to be a good list
of all these things.
And so, like it's 1995,
I'm going to build a static web page
with a list of links on it.
And I put it up and, ta-da, the next thing you know,
there's like a community forums around it.
And there's a guy called Jonathan who went and started the discord.
And, like, the next thing you know,
they're doing monthly meetups and it's super awesome.
So, yeah, that's been a lot of fun.
And it's still pretty small.
It's a little embryonic.
It's a little heretical, perhaps,
the idea that, you know,
you're not going to lash yourself straight onto
some cloud provider right from the start
of your development process.
But it's pretty alluring when you think of some of the benefits.
And, like, nothing's exclusive.
Like, you can start building local first
and then later choose to make something
that connects to the cloud.
But, yeah, it's just a slightly different perspective
of thinking about things.
It's interesting how the conversation has changed a little bit.
So, I mean, we've had offline first
is the thing that we've talked about for a while, you know.
So, even back in the, you know,
even earlier Facebook days and you have, like, a web app,
you're like, want people to have, like, some access to some things
if they've already loaded it.
And I saw that just, like, you know, terminology used for a while.
And now we're getting to local first,
which is that, you know, like,
don't necessarily need an internet connection.
But it seems to be more about,
well, like, data sovereignty has become, like,
a big component of how local first software is talked about,
which I think is a fascinating angle.
Yeah. No, for me, it was purely practical.
It's like, I want to build apps that I know will work
when I'm, you know, 40 miles offshore.
There is an awesome manifesto, however,
written by, kind of, a design lab called Ink and Switch.
And, you know, anyone that wants to kind of get to the root
of the local first movement needs to go and read that.
And they have seven kind of local first principles.
And, yeah, they lean pretty heavily on the fact that, yeah,
unless you own the data, it's not yours.
It's a bit like the maker thing, you know.
If you can't fix it, you know, it's not yours.
And I suppose the same thing.
If the data doesn't reside on your own device,
there's some kind of pseudo source of truth.
And, like, is it really your data?
And that's, yeah, that's kind of compelling.
I'm not quite as kind of religious about it as that.
I do see the cloud as being a sort of a pretty important component
of how you make this work.
But, yeah, knowing that I have a copy of that data
wherever I am in the world is, you know,
a pretty compelling thing.
So, yeah, there's lots of resources,
but, yeah, definitely that InconSwitch article is
a link you need to put in the show notes.
Big fan of InconSwitch, they do a lot of really great work.
Yeah, so moving on to talk more about, like,
what TinyBase is and, like, how it differs.
How would you compare it to things like Redux
or, like, anything else that is, like, similar?
So, like, what is TinyBase and what makes it unique?
All right, people often ask me, oh, you know,
how does this compare to eggs?
Or how does this compare to y?
I was like, oh, craigie,
that sounds like marketing, now I've got to go off
and do it like a matrix of, like, all the things that I do
and they don't, and all the things they do and I don't.
To be honest, this was very selfish.
I just built the thing with the API that I wanted
that felt natural and I hadn't been able to find a version of.
So, you know, take it or leave it, folks.
If you like my API, go for it.
If you don't, no problem.
But for me, yeah, the key thing was reactivity.
You've gone to all the effort to use something like React
where you want the user interface to, you know, react
immediately to changes.
But, you know, obviously, if your data is off in the cloud somewhere,
like, the immediately is not going to happen.
So, like, how can I bring that data to be as close as possible to react
and how can I make sure that it's as amenable as possible
to having hooks and listeners and all the other things
that will react immediately.
So, yeah, maybe I'm getting ahead of myself.
Firstly, I'm not going to do as good a job talking about it
as the website does.
So, definitely tinybase.org is the kind of source of truth.
But, no, essentially, it's a little bit more structured, I think,
than some of the other state management systems that you would see.
I'm a bit more opinionated about how you store your data in there.
So, rather than just some big JSON object or fragments
of serialisation all over the place and actions firing here, there,
and everywhere, it's like, no, it's going to go in a table
and a table has rows and rows have cells.
And, like, that's it, more-or-less.
And you can change a whole table at once
or you can change가 whole row at once
or you can change a whole cell at once
and you can listen to a whole table at once
or you can listen to a whole row at once
or you can listen to a cell at once
and, like, all the kind of granularity works out.
So, if you're listening to a whole table and only a cell change,
you'll get told about it.
If you listen to a cell by the whole table changes,
you get told about it.
And so that kind of reactivity regardless
of how you're listening to something, is very important.
By the way, it's not just tables.
Je dois maintenant aussi avoir un point de vue de valeur, un point de vue de valeur,
donc oui, vous pouvez avoir un certain nombre de valeurs,
qui sont toujours, par contre, de la string, des bouillons et des numéros.
Donc, vous ne pouvez pas faire quelque chose trop fancy, c'est tout très straight forward.
Mais ce que j'ai trouvé est que vous pouvez en fait construire un grand nombre de paroles avec ces deux types de paradigmes.
Vous n'avez pas besoin de faire que les gens puissent faire des arbitres très grandes,
et vous pouvez en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,





et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,






et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,


et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,





et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,






et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure, et on peut en faire un petit peu de structure,




et on peut en faire un petit peu de structure,






et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,








et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,







et on peut en faire un petit peu de structure,







et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,


et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,


et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,



et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,








et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,







et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,



et on peut en faire un petit peu de structure,



et on peut en faire un petit peu de structure,



et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,

et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,
et on peut en faire un petit peu de structure,








c'est-à-dire que vous avez des questions,







c'est-à-dire que vous avez des questions,
vous avez des questions,
vous avez des questions,


vous avez des questions,
vous avez des questions,
vous avez des questions,
vous avez des questions,





vous avez des questions,
vous avez des question,
vous avez des questions,
vous avez des questions,
vous avez des questions,

vous avez des questions,
vous avez des questions,
vous avez des questions,
vous avez des questions,
et je me dis, ok, qu'est-ce qui a changé depuis la dernière fois que je suis synché et puis,
boom, maintenant tu as un CRDT.
Donc, c'est ça.
C'est une autre histoire.
C'est cool.
Vous avez mentionné que c'est écrit en enjeu vanilla JavaScript,
mais le monde est largement en train de bouger contre le type script.
Donc, comment est-ce que le type script supporte un petit base ?
Je ne m'ai pas dit ça.
C'est la JavaScript vanilla, en fait, que je n'ai pas fait rien de faim,
mais c'est complètement type,
et les API sont complètement type, et l'interne est type script.
Je vais dire que, par rapport au procès,
j'ai vu qu'il y avait une génération type et tout comme ça.
Oui, correct.
Ok, donc, le petit base, en fait, est complètement type script,
tous les API sont complètement type.
Par contre, beaucoup de documentation,
je n'ai vraiment pas été en train de l'interne, probablement,
mais si vous allez regarder les files de définition,
ça va se placer, c'est comme 98% texte et 2% d'études.
Donc, oui, c'est tout bon.
Mais oui, j'ai eu un peu de requises de la communauté,
des gens qui disent,
« Oh, on aime des choses comme Prisma et des autres tools ORM.
Si j'ai créé le schéma pour un table d'études,
je ne peux pas avoir des méthodes magiques.
Oui, il y a un petit module de tools
que vous pouvez utiliser pour automatique générer
une API sur le front qui est schéma spécifique.
Si vous avez créé un table d'études pour Pet Store,
il y aura un méthode pour ajouter Pet,
ou « Get Pet » ou « Get Pet »
ou des nombres de légumes,
qui sont très domaines spécifiques.
Il y a deux versions de ça,
un où c'est automatique,
c'est code généré,
des méthodes spécifiques.
Il y a aussi une version
où il infert les types de méthodes
du schéma directement,
quelque chose que j'ai pu faire par la communauté.
Ils disent, « Oh, Zod, vous devez être capable de faire,
oh, oh, oh, oh, oh, oh,
je ne sais pas si mon type script est bon,
c'est bon. »
Ça c'était un peu de voyage.
Je sais plus de typescript génériques
que je pensais avoir besoin de.
Mais oui, basicallement,
vous pouvez maintenant, à la fin du temps,
donner un schéma
et tous les calls de méthodes
vont adhérer à ce schéma.
C'est assez bon quand ça fonctionne.
Allez on le vérifier.
One thing that you mentioned earlier
and something that I saw in the docs
that's really interesting,
Donc vous avez aussi un petit langage de query qui s'appelle TinyQL.
C'est vraiment, vraiment intéressant.
Comment vous disiez ça à quelqu'un et quelles sont les benefits de ça ?
Oui, comme je l'ai dit, je ne vais pas utiliser le nom database parce que les gens se sont mis à l'aise,
ça va avoir un SQL et tout le reste.
Mais je vais essayer de donner des moyens pour faire des choses que les gens veulent faire en database.
Et c'est évidemment un des choses qu'ils veulent faire dans le query.
Donc, quand j'ai regardé comment ça allait se faire dans le database,
comme un univers opinionné, je n'ai pas pensé que je pouvais faire une complétation de SQL.
Par contre, j'aime SQL, mais c'est aussi terrible.
Et je peux dire que, en travaillant sur le data infrastructure à meta,
SQL est cette technologie incroyable que c'est assez offre, objectivement,
et tout le monde utilise ça à tout moment, et ça ne fait pas de la mort.
Mais je suis assez sûr que je n'allais pas pouvoir faire un complet puzzle de SQL
et d'évaluation dans mon petit truc.
Donc, j'ai plutôt voulu une API de SQL,
avec un API fluent, où vous pouvez changer des choses ensemble
qui vont essentiellement faire de la même chose que les choses que vous faites dans SQL,
comme choisir les séances que vous voulez,
et rejoindre des tables sur certaines conditions,
des clés de l'air, de groupes de biais et d'avoir.
C'est tout de même, c'est 95% de ce que les gens veulent faire avec SQL.
Et donc, oui, vous pouvez définir un query,
c'est tout imperatif, donc, c'est pas un long piece de texte,
c'est un des trucs que vous devez injecter des variables,
c'est un API de type script,
et oui, vous allez avoir une table,
où je garde un tract,
ou un petit tract,
de toutes les caractéristiques,
ou les provenances des valeurs du résultat.
Donc, si quelque chose change de la mode de stream,
je vais pouvoir faire ce résultat réactivement.
Alors, plutôt que de faire le query,
chaque seconde, pour voir si quelque chose change,
vous allez dire, je vais construire une interface d'interface
qui déplace les résultats de cette query,
et c'est le final.
Et puis, si le data change en enjeu,
la base de tiny va automatiquement
envoyer à l'écart de l'analyseur
pour dire que ceci a changé,
et c'est assez cool,
que je me le disais,
ça me ressemble un peu,
je suis froid de ça, c'était difficile,
c'était difficile de faire ça.
Et oui, c'est assez magique quand vous voyez cela arriver,
il y a un démon sur le site,
c'est un database de film,
où je dois avoir un table de films,
un table de acteurs, un table de directeurs,
et ces choses sont des modèles relationnels.
Vous pouvez regarder le data
pour un film,
et, si vous avez changé un acteur,
vous verrez que ça change,
et ça va être un peu de track de les connections.
C'est assez cool.
C'est vraiment cool.
Je pense que la combinaison de tout ça,
c'est de la petite,
vraiment concise API,
de très bons types,
je pense que ça va être un solution
très compétentif,
surtout dans le premier locus,
qui est toujours dans un stage
sortant de nascent,
où nous commençons à penser
d'être très intensifs.
Absolument, ne se sent pas embarrassé
en parlant de ça, c'est certain.
Oui.
Mais, je pense que ce genre de choses,
comme la base petite,
m'a vraiment fait très excité
dans ce space.
J'espère que, dans le futur,
plus de applications sont construites
pour être locales,
et peut-être sur ce sujet,
on va parler un peu
de l'avenir.
On a souvent essayé de regarder nos épisodes
avec un
topic,
comme ce qu'on se passe.
Comment pensez-vous
que ce modèle
va s'évoluer,
le premier locus,
vers l'application traditionnelle
de l'application Cloud?
Vous voyez cela s'expandant,
ou pensez-vous que ça va
rester comme un nish,
ou, je ne sais,
que vous voyez le futur en ce moment?
Oh, mon Dieu, c'est une bonne question.
En fait,
c'est un nascent,
c'est un embrionic.
J'espère que, au moins,
dans le futur,
en plus de la fin de la moyenne,
nous commençons à voir plus de gens
construirent des apps.
Je vais être franc,
il n'y a pas de
headline
de showcase
qui ne sont pas vraiment
les premières locales.
Je suis sûr que vous savez
Actual,
qui est une app finance
que James Long built,
Excalidro,
d'argument,
les premières locales,
et je vois un peu
où vous travaillez dans votre browser,
et c'est tout local
jusqu'à quand vous venez
de la presser,
c'est assez cool.
Mais il n'y a pas
une app très totémique
d'un grand app,
qui est un app provider,
et c'est un exemple
d'aménagement,
Google Docs
n'est pas le premier local.
Mais il y aura
un moment
où quelqu'un
construit une app
très spectaculaire,
c'est très rapide,
c'est juste une expérience
utile,
et ça fonctionne
sur un bateau
50 miles d'aujourd'hui.
Maintenant,
tout le monde va
faire un coup de feu,
et ils vont aller
faire un tour,
voir comment c'est construit,
et commencer à mettre les taux
sur ces choses.
Il y a un peu de risques,
je pense,
avec le local,
que ça
a un peu comme un projet R&D,
qui est en train de sortir du lab,
il y a un peu de cool sciences
de computer,
CRDTs,
mais,
c'est pas mal,
on ne va pas faire
pas de problèmes pour les humains,
et on a juste
accroché
ce petit docteur
de l'adopté,
je pense.
C'est ce que j'espère
que ça va arriver
dans le long terme,
et dans le long terme,
ce que je suis expectant,
et je vais
couvrir
les yeux de TinyBases
pendant que je parle,
ce que j'espère dans le long terme,
c'est que
on va pouvoir supporter
ce modèle
plus nativement,
comme vous l'avez mentionné,
le light secours
dans les browsers.
On a eu un web-sequel,
et,
comme en ce moment,
je me suis dit,
oh, c'est trop close,
même Google Gears,
on a été
dans les iterations de ces choses,
de toute façon,
et,
peut-être,
il y a un massif critique
de demandes
et d'incentives,
je ne sais pas si
il y a un incentive,
mais,
peut-être,
les browsers vont commencer
à inclurent plus de ces choses
en bas,
et il n'y a pas besoin
pour les choses comme
TinyBays,
ou CRC Gollade,
ou autre chose.
C'est juste un moyen
que vous buildez les apps
à partir du début.
Et par contre,
le futur est le passé,
parce que,
pour ceux qui
sont autour,
plus tard,
sur Internet,
c'est toujours
comme nous l'avons toujours,
on a construit un app
dans les années 90,
c'était,
vous savez,
un basic visual
sur les windows
avec des databases,
probablement,
et l'idée
d'avoir l'air
de connecter à Internet
était un peu foreign,
donc,
c'est,
en bas du futur,
vraiment,
construire des apps
où les données,
les logiques,
et tout,
sont à l'arrivée de l'usage.
C'est pas
que herétiquement,
c'est plus comme
dans le futur.
Mais,

ce n'est pas
jamais un panacéa,
un black & white,
un scale de gré,
un truc.
Il y a
un grand nombre
d'apps
qui ne peuvent pas
travailler
comme le local,
je ne pense pas
que Facebook
va être un app local,
il n'y a pas de problème,
je peux mettre 3 millions de people's
personal data
sur mon téléphone,
et je ne veux pas
que mon bank
soit un app local,
parce que je veux que tout ce
data soit
en train de s'arrêter
à quelque part
dans la Stade.
Mais,
mais le nombre
d'apps
qui vont bénéficier
de l'app local
est assez haut.
Je pense que
peut-être que
on n'a pas
sorti de la
façon
de la pensée,
et donc,
je pense que le moment
qui sera
quand nous verrons
une belle app pop-out
et les gens disent,
je l'aime,
qu'est-ce qu'on peut
construire,
c'est comme ça,
et puis,
symboliquement
ou similitant,
nous commençons
à voir les browsers
donner plus
de soutien plate-formel,
pour que ça
fonctionne.
Oui,
je pense que
il y aura
toujours un besoin,
même si les browsers
ajoutent
des primitives
de meilleures
base,
pour des choses
comme la base
parce que c'est
le UX,
ou le DX,
je pense,
tout de la chaine
d'affaires,
ça fonctionne,
les gens
construirent les browsers
qu'ils ont besoin
et puis,
on a des sélecteurs de queries.
Oui, pour sûr,
donc,
en s'envole,
on parle de
l'épisode 61
d'Huelmas
de Linear
et Linear est
sorti de la façon
de la façon
où c'est le premier local
qui se portait
dans le sens
que ça se porte
tout le monde
et le synch.
Un grand exemple
de comment
une app
très polluée
peut être
construite
avec cette technologie.
Et,
on va
revenir à ce que vous dites
sur les applications
originales,
les applications
étaient locales
et nous avons
des apps internet
et c'est vraiment
intéressant
que
le pendulum
toujours s'arrête
mais,
avec chaque s'arrête,
quelque chose change
un peu.
Ce n'est pas
le même
endroit que nous
avons été
avant.
Dans les jours
plus tard,
il n'y avait pas
de connectivité
ou tout était local
par
nécessité
ou de
connectivité
à la connectivité local
et puis,
vous avez
une éra
de la salle
tout s'est centralisé
et maintenant,
je me sens
que nous sommes
dans l'éra
où c'est
peut-être
plus de choses locales
mais nous
voulons
encore une collaboration
et nous voulons
encore
des choses plus riches
par la salle
donc c'est
les bridges
entre les deux
c'est un
plus
grand effort.
Oui
ce que j'espère
est le
sort de
symbole
de ce succès
c'est
que nous ne verrons
pas de spinners
encore.
La
mort de la spinner
est
un
grand
cri
parce que
à
l'heure
que je
n'ai pas
pu
faire
un

tour


pas de spinners
parce que
tout s'est local
c'est
génial.
Les spinners
sont
une fonction de la Internet
et je
j'aimerais
aller
retourner
dans un monde
où il n'y a pas
de spinners
parce que
je
attend 5 secondes
pour que ce soit
possible
et je vais
faire
un tab-tab
sur les
pièces
de Twitter
et d'autres sites

date de solver
et tout.
On peut
juste
faire
16 secondes
pour tout.
Ou moins.
Et
oui,
je peux
faire des
spinners
dans le
background.
Je ne


le
spinner
à un
user.
J'espère que c'est
différent
de la
future.
Il y a
un
nouveau
projet
qui

Biome.
Biome
est
l'officiel
de
Rome.
Rome
était
une
compagnie
qui
a
voulu
solver
toutes les
pièces

ART
dans le
javascript
et
des
pièces
de

Vous
n'aurez pas
le temps
mais
vous avez des
pièces
et elles
passent
toutes les
pièces
de
la
performance.
N'importe
ce type
peut
l'intégrer
avec
l'un des

qui
s'est

dans
les
pièces
des pièces

n'aura pas
de la
production
d'un
projet
qui
a
été
préparé
avec
l'Ontario
et
l'Ontario



tout le




préparé
pour
le
J'ai pris tant de temps sur la première revision de TimeBase,
juste en déterminant la tournée.
Il était comme...
En travaillant sur Facebook, où, internement, tout a fait le travail.
Et en travaillant sur une chose d'open source propre,
c'était un moment de griffes, un moment de l'intérêt.
Mais oui, quelque chose comme ça, où tout est fait en un endroit,
et vite, c'est comme si ils peuvent faire le travail.
C'est un des zones où Dino s'apprête.
Je suis devenu Dino Evangelist,
parce que ça a tout fait pour les outils,
qui sont construits dans l'une de ces bâtiments,
que vous déloyez ou quelque chose.
C'est comme...
Je ne sais pas.
Oui, je pense que...
Quand nous interviewions André Sitnik sur Post-CSS,
il était comme...
Le micro-CSS est comme...
Post-CSS V2, c'est le prochain successeur.
Je pense que Biome a une chance pour être ce qu'il y a,
mais pour ESLint.
Parce que ESLint est, en fait,
un effort multi-year pour refactor le prochain.
Je pense que c'est la meilleure opportunité pour un autre bâtiment,
et c'est comme si on était déjà là,
mais mieux et plus bas.
Donc Biome serait bien.
C'est intéressant de regarder.
Oui, je voulais juste vous donner un petit shout-out pour TypeDoc.
Je suis sûr qu'il y a plein de gens qui sont intéressés.
Mais ça ne semble pas être utilisé comme je l'avais prévu.
TypeDoc est, en fait,
un bâtiment qui se tourne
par vos definitions de type.
Il y a le JSDocs,
qui font des commentaires,
et qui produisent un site de documentation très bien structureux.
Et j'aime ça.
Il y a un...
Je suis très customisé pour Tinybase,
mais si vous allez dans les APIs Tinybase,
vous verrez que
chaque méthode a un bon type annotations,
documentation d'exemple codes, etc.
Ils ont un API très bon.
Je veux juste vous donner un shout-out pour TypeDoc,
car je n'ai pas de problème.
Ce n'est pas si populaire comme ça.
Les générateurs de documentation
pour types ne sont pas des gens qui sont en commun.
Mais c'est un des tools super utiles.
C'est juste que c'est très technique.
C'est comme de vous montrer tous les types,
et ça me semble comme un très complexe
de l'approche.
Oui, je suis en train de faire un peu de
la développement de la machine.net,
et c'est comme ça le sens et le sens.
Ou de Java, je pense,
c'est un autre type,
des listes longues de classes,
et des hyrogens nés.
Mais si vous vous méliez
le code de la structure,
vous pouvez le faire un peu plus approchable,
ce qui est ce que j'ai fait.
Et il y a des petits hooks,
donc je peux prendre l'exemple code
de la description des commentaires,
et je peux les exécuter.
En geste, donc chaque exemple
dans la documentation est un test unitel,
qui est assez cute.
En tout cas,
pendant la type script,
nous pouvons couvrir votre autre tip de tools,
qui je pense que j'ai un tool
qui vous a fait un up-to-one.
On l'a appris à la dernière.
Oh, oh, ok.
Donc, c'est le tool de l'export non utilisé ?
Oui.
Oui, c'est correct.
Ok, donc,
oui, peut-être que je dois
acheter un peu de temps,
mais je l'ai remarqué
que je pourrais construire
une fonction de l'aide.
Et puis je l'utiliserai,
et puis je le réfacteurais,
ou je le réfacteurais les sites de call,
et puis je serais en train de faire
cette fonction qui n'était pas utilisé.
Et, vous savez,
je suis obsés de la taille de Tinybase,
donc, comme, ok,
comment je vais faire.
Je ne dois pas même avoir
de la traîchette de ce truc,
je ne vais pas même le chier
dans le premier endroit.
Et le TSM,
les exports non utilisés,
c'était un petit truc
qu'on a trouvé,
et ça me va me dire
si j'ai accidentellement
exporté quelque chose,
internaitement.
Évidemment,
vous devez exécuter
toutes les choses
que j'ai eu.
C'était un god send pour moi
pour me faire surement
ne pas acheter d'une
n'utilisation
rubiche.
Mais non,
si il y a quelque chose de mieux,
je dois,
vous devez me dire
de l'obgré.
Qu'est-ce qui se passe ?
Oui,
notre guest
l'année dernière
a dit et nous a dit
de ce truc.
C'est comme le truc
que vous avez juste mentionné,
mais pour tout
tout dans votre projet.
Donc, si il y a un file CSS,
un class de CSS,
tout ce qui est utilisé,
ça va l'élargir.
Et je pense que ça
m'a mentionné
par l'art priori.
Donc,
il t'essaie de prendre
toutes ces tools
et de les combiner
en un.
Oui.
OK,
bien.
Donc, il y a un nouveau
release de Tinybase
qui va bientôt
avec Knip.
Je l'aime.
J'aime la forme
de leur
download curve
aussi.
C'est très promis.
OK, bien.
Merci.
J'ai de l'air le hockey.
Oui,
je pense que
des plus grands repos
ont récentement
été élevé.
Alors, oui,
pour mon
dernier
thème,
je vais
laisser le JavaScript
pour vous.

Oui,
c'est un peu

Je pense que



vous.




















Oui,
c'est un peu plus important.
Oui,
et donc,
si c'est
de
n'importe quel genre d'électronique,
je suis toujours
sur le hunt
pour une version 12
vers un
chose vers un 110
ou 220
vers un autre chose.
Et je suis bien
à
prendre des produits
que je peux pouvoir
offrir.
C'est un cigarette
pour un
voiture adaptateur
12 volts.
Donc,
oui, je suis un peu
plus fort sur le
boat, pour exemple.
Et
je suis allé
avec de l'eau
parce que
il y a un
voiture
adaptateur
pour les batteries

Donc,
je ne dois pas
prendre le
220 volts
convertateur,
juste pour pouvoir
faire un dril
ou quelque chose.
Donc,
ceci est assez
incroyable.
J'ai
quelques
power adaptateurs
pour
USB-C.
Donc,
pas juste des
réguliers,
mais des
power

Donc,
je pense que
c'est un des
power adaptateurs
pour pouvoir
faire des chargements
et des laptops.
C'est assez cool
de ne pas
faire le convertateur
juste pour
faire mon laptop.
Et puis,
j'ai eu
une petite
tournage
au Amazon
la semaine dernière.
Je me suis
regardé
une grande
screen,
une grande
monitor.
Mais
c'est
un peu
plus grand.
Mais
c'est un peu
plus grand.

des
ivolts.
Je ne
pas vraiment
de la
position de
l'inverteur
juste pour

screen.
Mais je
j'ai trouvé
cette

petite
petite

lente.
C'est
un
sonnage
de
vue.
C'est
un cool
petit
truc.
C'est
un
truc












une
petite










lente.
J'ai


Je








Je


Je


Je
j'ai une petite

Je
j'ai une petite
lente.
Je
j'ai une petite
lente.
Je
j'ai une petite
lente.
Je
j'ai un petit
lente.


C'est

je
j'ai un petit lente.
On









on
Donc, on va voir si vous êtes intéressés à l'espace.
Oui, en fait, l'authors est venu à la première meet-up de l'Ontario,
juste hier, qui est en train de faire un tour sur YouTube.
Je vais aussi vous donner un lien sur ça.
Il a parlé avec le rationale.
Oui, c'est assez nouveau, mais tout est dans les phases locales.
Donc je ne pourrai pas le tenir contre lui.
Oui, c'est assez cool.
Oui, c'est vraiment cool. Je suis part de cette meet-up.
C'est drôle de voir.
La prochaine, la dernière, on a Multi.
Oui, il y a beaucoup d'apps de collaboration
qui sont récemment venus.
Multi est une collaboration pour votre entire Mac,
qui est un novel,
une vidéo de l'anage de l'anage,
mais un peu plus native.
Donc oui, je ne sais pas. C'est assez cool.
C'est intéressant de voir comment les gens
font des features de collaboration.
Je pense que ça me rappelle de la vidéo de l'anage de l'anage de l'anage,
des jours ou des jours où vous pouvez
vraiment partager la contrôles de votre machine,
mais ça a un style de figma,
des bâtiments,
et le dessin et tout,
c'est encore assez standard
pour une interface comme ça,
mais c'est un cool app.
C'est un cool démo, ça aussi.
C'est bien. Je suis en train de faire des vibes citric.
Oui, pour sûr.
Ok, ça nous rapporte pour cette semaine's tooltips.
Merci pour votre attention, James.
C'est un bon regard très intéressant
pour le mouvement local du premier mouvement
et pour comment une base petite est partie de ça.
Merci pour votre attention.
Un grand plaisir.
Merci beaucoup pour les gens.
Ouais, merci pour les gens de votre boulot.
Et, ironiquement,
ma internet est celle qui s'est dépassée avant.
Donc, je suis désolé pour ça.
Mais, encore une fois, merci beaucoup.
Et merci pour la base de la construction.
C'est une technologie très cool
et pour mettre beaucoup d'énergie
dans le mouvement local du premier mouvement de software.
Je suis incroyablement excité
à ce space.
Et j'espère que ça
juste s'en va.
Je l'apprécie.
Moi aussi.
Et, ouais,
on peut faire tout ce qu'on peut pour le mouvement.
Et, en fait, en regardant les feed-backs,
qui a l'air de ce que l'on a,
de cette fresh, de ce nouveau premier mouvement local
ou de la base petite,
c'est toujours en regardant les feed-backs.

Episode suivant:


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