Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Shay Nehmad (00:00):
This show is
supported by you. Stick around
till the break to hear moreabout that. Welcome to Radio Cup
A Go for no. No. Just do thenormal one.
(00:20):
Okay. This is Cup A Go for08/23/2025. Keep up to date with
the important happenings in theGo community in about fifteen
minutes per week. I'm ShayNehmad.
Jonathan Hall (00:29):
And I'm Jonathan
Hall. And I'm so confused.
Shay Nehmad (00:32):
That, like, morning
DJ radio thing?
Jonathan Hall (00:36):
Was that morning,
or was that, like,
Shay Nehmad (00:38):
Monday night?
Coming to you live. Yeah.
Hauling the oats. It's right inthe morning, giving you all the
harsh truths about rust.
Go. Blah blah blah.
Jonathan Hall (00:49):
I think I think
maybe you missed a calling, man.
Shay Nehmad (00:52):
Man, I wish I could
work at the radio. I actually
did, real radio work. Have youever done real radio work?
Jonathan Hall (00:58):
I don't think so.
No.
Shay Nehmad (00:59):
I've done. I've had
four shows. Let's see if anybody
can dig that up. It was, like,when I was 14 for a school
project.
Jonathan Hall (01:05):
I did
Shay Nehmad (01:06):
four shows on radio
Jerusalem against violence. It
was very, very nice.
Jonathan Hall (01:11):
Nice.
Shay Nehmad (01:11):
How are you doing?
What's that clicking sound I'm
hearing?
Jonathan Hall (01:14):
My fingers are
cramping and and and confused
and hitting all the wrong keys.I I got this new Kinesis
Freestyle Pro keyboard today.Congrats. Yeah.
Shay Nehmad (01:24):
Can you, like, pull
it up to the can you pull it up
to the camera? I'll take ascreenshot. Oh my god. Very
cool.
Jonathan Hall (01:34):
So I used it for
a couple hours, and then I went
back to my regular keyboard forthe livestream I was doing
because I didn't wanna befumbling over my keys on on live
TV or whatever. But I'm back toit again.
Shay Nehmad (01:45):
In media res, this
person doesn't know how to type.
It was a rough adjustment. Ihave the ZSA Moonlander. It was
a rough adjustment. They sent mean email.
It was crazy. It's called,Typing Yoga. I think it's, like,
free. I don't think it's justfor ZSA customers, which is
actually a meditation onlineguided meditation session
Jonathan Hall (02:07):
Oh, wow.
Shay Nehmad (02:07):
For, like, ten
minutes while typing. It's like,
feel your space key. How does itmake you feel? How relax your
shoulders, blah blah blah,whatever.
Jonathan Hall (02:16):
My goodness.
Shay Nehmad (02:16):
And unironically,
it was pretty good at, like,
easing me into my new keyboard.
Jonathan Hall (02:21):
So I I did
consider the Moonlander, and and
I may consider that yet still inthe future. But I debated,
should I go, like, all the wayto the extreme or should I sort
of do baby steps? And some ofthe advice I got online was to
go to a split keyboard for surerather than one of the, like,
molded ones, like the MicrosoftErgo keyboard. And if it doesn't
make the pain go away, then thenconsider the the full upgrade to
(02:44):
the ortholinear style andeverything.
Shay Nehmad (02:47):
I will say, the one
nice thing about the ZSA
Moonlander is it's veryportable. It has this nice
carrying case, so it could helpme, with it coming to all these
meetups that we're about to talkabout. That sounds handy. And
also, unironically, pulling itup at a meetup or a hackathon,
at least in San Francisco, isbasically the equivalent of
showing up with, like, a hotdate to the party. All the
(03:09):
engineers are like, oh my god, Ilove your keyboard.
Oh my god, can I like like mothsto a flame? But what what's up
with all these meetups?
Jonathan Hall (03:18):
Yeah. So we have
a couple, to talk about. The
first one is sort of anunofficial one. Well, it's
official, unofficial. We'vealready talked about GopherCon
twenty twenty five coming up inNew York City.
But some of the folks on thechannel, some of the listeners
to CupiGo are planning to gettogether in GopherCon in the
NYC. So if you are going to bethere, check out the thread on
(03:39):
our Slack channel, Cup A Go.I'll put a link directly to that
thread in the show notes so youcan find it easily.
Shay Nehmad (03:45):
If you do get up to
that after party, take a selfie,
send it to us on
Jonathan Hall (03:48):
the Gopher Slack.
Looks like there'll be at least
three folks, I think, have saidthey're gonna be there. So,
yeah, send us a photo of your ofyour Cup O Go after party at
GopherCon.
Shay Nehmad (03:59):
Not not this year,
but maybe next year. I'll plan
my schedule better, and I'll go.When is the GopherCon? Just for
if people haven't listened tothe previous episodes. This is
like the GopherCon.
Right? That's the big one.
Jonathan Hall (04:11):
Yeah. The
GopherCon is coming up starting
August 26, so that's, rightaround the corner here next
Tuesday.
Shay Nehmad (04:17):
Wait. August 26? No
way. Should be pretty cool.
Jonathan Hall (04:21):
It will already
be over by the time you listen
to our next episode. Our nextepisode, not this one. Not this
one. Unless you listen to thisone late, which maybe you do,
and welcome. Thanks forlistening even if it's late.
Shay Nehmad (04:30):
How's go 01/28?
Tell us if you're listening to
this one and a half years in thefuture. You know what? I have I
have heard of listeners thatactually war work through the
backlog, which is not how Iexpected people to consume the
show.
Jonathan Hall (04:43):
I I agree. Yeah.
But I guess
Shay Nehmad (04:45):
if you give up some
people a an API, they will find
all ways to use it, even if youdidn't plan on them. It's like
an RSS feed you should subscribeto and listen every week. Oh,
oh, I can download any episodewhenever I want? Alright. I'll
listen to it like years after.
In another big city meetup, I'mplanning to host my own meetup.
We did this already in SanFrancisco, and it was actually
(05:08):
super awesome. It was at atElastic. Thanks again, Elastic.
Not sponsoring this episode, butI mean, they did sponsor that
one.
So yay, Elastic. So there's theSan Francisco, meetup. It's,
going to be somewhere towardsthe September, October. I don't
know yet, and this is a call toaction. If you think there's a
chance, a remote chance youwould show up to that meetup,
(05:30):
which is going to include somefood and some venue, one Cup
o'Go episode live recording, anda few other talks, please
respond to the poll.
I'm gonna send like anavailability poll to see when
people can mostly show up. It'sright around, like, it's kind of
uncomfortable timing becauseit's my parents are here, are
(05:50):
gonna be here in The US, andit's, like, the Jewish high
holidays. So it's just pickingwhich day out of a few days in
that month is gonna work foryou, and then, whatever wins the
most votes, we're gonna try andfind a venue. Awesome. So, yeah,
the the I'm gonna send this linkin a few places, you know, my
LinkedIn and Go for Slack andthe in in the San Francisco
(06:12):
channel and probably the channelfor the show as well.
If you think you're gonna showup, please let me know and we'll
make it happen. Also, I need,like, talks and a venue. I have
nothing. I just need the datefirst, and then we'll see what
happens. Alright.
And there's another conferencethat showed up on our Slack.
Jonathan Hall (06:28):
Yeah. So this new
conference, let me just read off
the website the part I can.Let's go conf. Let's go conf
twelve three hundred lightningtalks. There's a bunch of
Shay Nehmad (06:39):
other stuff here
that I can't read. Maybe you
can? So not really, but I'lltry. There's a listener called
Pavel Druzhin who's hosting thisGo conference in Moscow in
Russia. It's relevant toRussians.
I'm trying to learn Russian, soplease forgive me, but I'll try.
Pavel vanash Nanashemslakkanal,Raskas Almenia, Konferniz Pagot.
(07:02):
About Go, you got it? I'm gonnastop here. I'm gonna sorry,
guys.
I'm trying. I'm trying. I'mgonna stop here. Pablo's hosting
a Go conference, in Moscow,September 12. The lineups looks,
(07:24):
pretty good.
Like, if you you can use, like,Google Translate to translate
it.
Jonathan Hall (07:28):
Yes. Have.
Shay Nehmad (07:29):
In true yeah. In
true Russian fashion, there's a
Telegram channel about the aboutthe, like, event, if you wanna
join. I actually joined it, andI see a screenshot from our
channel, which is pretty funny.The it's, like, about the one
twenty to one twenty one x toolsbreakage, so it's making the
(07:52):
rounds. Yeah.
But, yeah, the the conferencelooks pretty pretty serious.
It's in Moscow, September 12.The lineup of, speakers and the
topics looks pretty cool.
Jonathan Hall (08:03):
There's one talk
here I really wanna see, except
that I want it to be in English.Reducing Sego in the video
platform, the path from FFmpegto PureGo. I've been using
working on a project that usesSEGO to call FFmpeg, and a
PureGo version would be amazing.
Shay Nehmad (08:17):
It's it it
definitely looks like there's a
lot of talks that seeminteresting. The program just
seems great overall. If you'rein the Moscow area around that
time, like, be sure to drop by.I don't know if it's relevant to
American listeners to get on aplane to Russia right now. I I
definitely can't.
But the the conference looks,awesome, like politics aside.
And Pavel also has, like, Rustconferences and Python
(08:39):
conferences. So it seems like ifyou wanna go to conferences in
Russia, if that's your thing,you should probably connect with
him. And he's on our Slack, theKapagor Slack. So thanks a lot
for informing us about this,Pavel.
I hope I didn't ruin like, Isent everybody away by saying
something wrong. But, yeah,Spasiva, and I guess, tell us
how it went. Awesome. I was likeI was like so excited to do that
(09:01):
Russian segment, and now I feelI feel like I've totally
butchered it. I guess he'll giveme some feedback.
Jonathan Hall (09:06):
That's
Shay Nehmad (09:07):
alright. Let's talk
about releases.
Jonathan Hall (09:08):
I wanna try to
jog your memory a little bit,
Shadi. Do you remember back inMarch, we had Grant Nelson on
the show?
Shay Nehmad (09:15):
Yes, of course.
Jonathan Hall (09:17):
Yeah. We talked
you remember what we talked
about?
Shay Nehmad (09:18):
Yeah. It was like a
Gopher JS, Workiva. Wait. I am
honestly, I'm opening thetranscript, but Of course.
Jonathan Hall (09:28):
Yeah. So we we
had go Grant Nelson on who was
doing some work on Go for JS,trying to get it updated to
support generics.
Shay Nehmad (09:36):
Go for JS is the
compiler from Go to JavaScript.
Jonathan Hall (09:39):
JavaScript.
Right. Right. Go to WebAssembly
is built into the Go compiler,but Go to JavaScript is a
separate project. And I'mexcited to announce that just
this last week, his work finallycame to a point of completion
and Go for JS 1.19 beta two wasreleased with support for
generics.
So if you've been waiting forthat, and I know a few of our
(10:01):
listeners have, very few, but afew of them, generic support is
now in Go for JS. Now we are onthe fast track to add support
for Go 1.2 and then 1.21 and soon. Hopefully within a few
months we'll be caught up to1.25. But man, I have to say
this has been, at least for me,several years waiting. I've been
waiting several years for thisto happen.
It's a big step for anybodywho's been following Go for JS.
Shay Nehmad (10:23):
I even see you
approved some of the pull
requests. Like, I'm seeing youapproving upgrading Node. Js
from 12 to 18.
Jonathan Hall (10:32):
That that was a
big one. Oh
Shay Nehmad (10:35):
my god. Yeah. So
who is this relevant for?
Jonathan Hall (10:39):
Also, before I
answer that, also, since our
last conversation with Grant,Grant has been made one of the
official. Now three of us areofficial maintainers of the Go
for JS project. Who's it for?It's it targets a lot of the
same people who might wanna useWebAssembly, but it lets you
integrate with JavaScriptlibraries in ways that
WebAssembly doesn't. So if youneed your Go code and JavaScript
(10:59):
code to talk to each other, Gofor JS is probably what you want
to be using.
Shay Nehmad (11:03):
Well, well done,
Grant. This seems impossible
basically. Yes. It honestlyseems like looking at the
release notes like an impossiblelist of features.
Jonathan Hall (11:11):
He has done a
great job and I've been doing my
best to review his pullrequests. Many of them I like, I
don't see anything wrong, butthat doesn't mean I understand
everything that's happening. Forsure. So big thanks to Grant for
making the making that happen.
Shay Nehmad (11:26):
An update on
previous news, do you remember
the stricter JSON tag checkingthing, the the security foot
guns? I'm jogging your memorynow.
Jonathan Hall (11:35):
Mhmm. Mhmm.
Shay Nehmad (11:37):
Blog post version
of your knowledge in a sense.
Jonathan Hall (11:40):
Oh, okay.
Shay Nehmad (11:41):
It's from the trail
of bits blog, and, Vesco Franco,
I hope I'm saying thatcorrectly, wrote a whole write
up about JSON, JSON v two, XML,YAML, about, like, surprising
behaviors. So following thatdiscussion, we actually told you
about the proposal being openeda few, episodes ago, and now
(12:02):
it's closed. It's been accepted.And even someone two hours ago
suggested that they could takeit up if no one is working on it
yet. Yeah.
It's like moving pretty fast,but it's just implementing two
semgrap rules in the struct tagtool instead. Should make usage
of the new JSON thing muchsafer. And and get rid of, like,
(12:25):
real foot guns, which isimportant. We don't wanna shoot
our foot. We need it to kickdown, interpreted languages.
Jonathan Hall (12:33):
That's a stretch.
Nice thinking on your feet feet
there. On your foot?
Shay Nehmad (12:38):
Yeah. The ones I
haven't shot, the ones I haven't
shot yet,
Jonathan Hall (12:40):
for sure.
Shay Nehmad (12:42):
Alright. So that's
the proposal we updated on.
Actually, all through from theblog post to the proposal to
the, acceptance, now one of usone of y'all need to go
implement it. But there's a newproposal we you wanted to tell
me about, something with errors.
Jonathan Hall (12:59):
Yeah. There's a
couple of new ones. Let's start
with the errors one. So the theproposal so new is a relative
term here. When I say new, Imean it's been recently added to
the the weekly discussion aboutfeatures.
The the proposal itself wascreated back in 2022 on March
25. So the proposal's been therea little while, but the proposal
is to add a new variant of theerrors. As function. I don't
(13:20):
know how often you use thatfunction. Do use it very often?
Shay Nehmad (13:22):
Yeah. Like when you
need to find, like translate
errors in catch thing, right?
Jonathan Hall (13:28):
Kind of, yeah. So
like you have an error and you
want to know, does
Shay Nehmad (13:31):
it You want to
deduce if this error is of type
x, because then you handle itdifferently.
Jonathan Hall (13:36):
And then you can,
like, look at maybe the fields
of that particular error type orwhatever. Right. Normally, I
Shay Nehmad (13:41):
talk with APIs,
right, I I check if it's a HP
error and then, oh, if it's afour two nine, I'll just wait
for Exactly. A while and retryIf it's a 400, I'll raise it
back up somewhere.
Jonathan Hall (13:52):
Exactly. So yeah,
it's sort of like a recursive
type assertion on the errorinterface, right? So the
proposal was to make a newvariant of that that's generics
aware. So errors. As takes twoarguments, original error and
then a pointer to the errortarget that it would assert
into.
The proposal is to create a newone that takes a type parameter
as a single argument and thenreturns that in Boolean. So it
(14:16):
would just be a little bitvirtually exactly the same
functionality, but a little bitmore ergonomic way to do it. I
kind of like it that they'respelling it in the proposal as
error. IsA because obviouslythey can't use as since it's
already been used. Don't know ifthis is likely to get accepted
since it's so close to theexisting functionality, but it
does have a fair number ofcomments in the last few days
(14:37):
and a bunch of upvotes on theoriginal proposal.
So if you feel strongly one waythe other, head over there and
leave your opinion.
Shay Nehmad (14:44):
If functionally
doesn't propose, anything over,
what already exists and it looksthe same, like you have to give
the customer and the actualinstance anyway, What's the
benefit other than the fact thatit's, like, it justifies a a
generic solve? But you see yousee, we did need it.
Jonathan Hall (15:04):
I think I think
the annoying thing about the
current approach is you have tocreate this error value that you
may or may not use, which Idon't I don't think from a
performance or operationalstandpoint it's any different.
But like from a code cleanlinessstandpoint, you have to create
this extra thing and then maybeyou use it, maybe you don't.
With the new version, you can atleast put that in an if block.
(15:25):
So you could you have your errorassignment inside of the I don't
remember what they call it, butlike the preamble in your if
statement and then the value isis the new variable value is
constrained to that scope. Soit's it's a tiny bit cleaner
from a code readabilitystandpoint.
That's really the only benefit Ican see. Maybe there's some
slight performance improvementsby not creating that type or
(15:50):
that that variable when it's notneeded. But I don't know that
other than how it's implementedunder the hood. I I can't
imagine that being a majorconsideration.
Shay Nehmad (15:57):
There is one thing
about the error as which looks
weird. You almost never pass tothe standard library, like, sort
of input output argument types.You know what I mean? Yeah.
Like, you pass the error, whichis makes sense.
And then you pass the errortype, like, a reference to the
error type, which is super rarefor STD stuff. Like, I can't
(16:18):
think of any other function thatlooks like this. Now this is an
exceptional case. Like, youdon't do a lot of this
reflection y type work in Goanyway. As always, like, I don't
know, dealing with errors is isnot normal flow.
So I think I I would actuallyI'm I'm gonna go ahead and
upvote this. Mhmm. I actuallythink that is a looks better.
(16:39):
Even just the name. Like, Idon't care about the generics
versus not generics, but thereis is a and then you first put
the type and only then the valuereads much better as, which I
never like, without reading thedocumentation, you would never
know what it does.
So I'm
Jonathan Hall (16:54):
I'm gonna I'm
gonna remember something that I
think is an argument for theproposal, and that is that I
sometimes get confused aboutwhat type of argument to pass as
the second argument to errorsdot as. It's supposed to be a
pointer to an error value, butwhen your error value is a
struct, like sometimes you Idon't know if it needs to be a
(17:15):
pointer to the struct or apointer to a pointer to the
struct, and that kind of dependson how your receivers are set
up. This doesn't have thatambiguity. So that that's a in
my opinion, a bonus that makesit worth voting for. Cool.
I'm not gonna cry if I don'tapprove it, though. It's not
that big of a deal.
Shay Nehmad (17:28):
I like it, though.
I like that we're trying to
improve the language. Yeah.Generally. Like, oh, we have the
this new tooling.
There is a way to do it. Maybewe can do it better. And now
with the Modernizer, you knowwhat I mean? Like, since you
have the Modernizer,
Jonathan Hall (17:43):
it's It'll fix.
Shay Nehmad (17:44):
It's slightly yeah.
It's slightly less evil to me to
suggest improvements that mightmake the language better, but
are not necessarily whereasbecause in a couple of years,
everybody's gonna run that thingon their code base, then as long
as you don't break the old one,that's fine. It's not that bad
to have two ways to do things.Maybe five ways is not great.
Like, I would be super happy ifwe had a new time format in Go.
(18:09):
Yes. I'm bringing it up again.
Jonathan Hall (18:12):
Speaking of
GoFix, have you ever run GoFix
and noticed that all yourreferences to XNet context
disappeared?
Shay Nehmad (18:19):
No. No. I've never
used the XNet context. I just
used the context.
Jonathan Hall (18:23):
You've never used
it.
Shay Nehmad (18:24):
I might have, but
my first usage of Go was in an
air gapped environment. Uh-huh.So none of the code, like, made
it with me. You know what Imean? I
Jonathan Hall (18:33):
see. I see.
Shay Nehmad (18:34):
And all my open
source, work, like not
necessarily open source, butthings that happened on the
Internet are, like, since 2018ish, 2019. So I think 2019,
like, it was just a contextpackage. Right?
Jonathan Hall (18:46):
So, yeah, for
those of you who don't remember
or who weren't using Go eighteenmillion years ago when this was
relevant, xnetcontext was theoriginal context package that
existed there for, I don't know,a while. And old code, know,
code that predates 2016 willsometimes still reference Xnet
context. That was sort of theirexperimental version of it, you
(19:08):
know, and then they upgraded tothe standard library. Xnet
context still exists. The newproposal now is to deprecate
that package.
And one of the comments in thethread points out that GoFix has
already supported this migrationfor ages, you know, since Go 1.7
probably came out. So it's it'struly some old code that uses
(19:29):
Xnet context. I would be happyto see deprecated. Although this
is another one. I won't cry.
I haven't used Xnet context inages either. I've seen it
mentioned in some comments andcode bases I've been working on
lately, but the comments arejust outdated comments as
comments tend to become.
Shay Nehmad (19:44):
What's the
implication of making it
deprecated? I think the mainthing
Jonathan Hall (19:50):
is that it would
cause GoMod to tell you that
you're referencing a deprecatedpackage and encourage you to
upgrade.
Shay Nehmad (19:58):
And then if you
don't care about it, you can
just move on with your life.
Jonathan Hall (20:01):
Can still ignore
it. Yeah.
Shay Nehmad (20:03):
So what's the the
the benefit is Go team has to
maintain less code, and they canfocus on really important
things. And the downside is,like, there's this one guy with
a tinfoil hat unwilling toupgrade beyond Go 1.7 Well who's
gonna get a little a littlewarning when he does Go mod. I
(20:25):
mean, come on. What's thequestion?
Jonathan Hall (20:27):
Yeah. So the
original proposal was also
included to pass possibly tagand delete the package. I don't
think they're actually seriouslytaking that into consideration,
at least not right now. There'sno I I see no harm in leaving
the package there, butdeprecating it would encourage
people to upgrade.
Shay Nehmad (20:43):
And and Google the
is hurting for, like, server
storage space.
Jonathan Hall (20:47):
No. And the new
context package has a bunch of
new functionality that could bebeneficial that maybe people
aren't aware of if they're stillusing this for some weird
reason. So, yeah, I don't thinkit's a big deal.
Shay Nehmad (20:57):
I'm willing to
delete some videos from my
Google Photos account if theyneed space back. And I assume,
like, one ten second video thatI have of, you know, my daughter
accidentally picking up thephone and filming the floor is
is can it can have, like, amillion of these packages in
their service for it.
Jonathan Hall (21:14):
If you are
Alright. Personally attached to
that XNet context package, gospeak your mind right now
because it's about to beaccepted. So
Shay Nehmad (21:22):
If anybody opposes
this, speak now or forever hold
your shaw.
Jonathan Hall (21:28):
That's right.
Shay Nehmad (21:36):
As mentioned at the
top of the show, this show is
supported by you. The main wayto support the show is directly
financially via Patreon. Wedon't make money off of this,
but this does like cost time andmoney for us to produce. So if
you wanna support us, the bestway to do that is to join our
Patreon. We wanna re welcomejose underscore d underscore s
(22:00):
for rejoining the Patreon.
That's one great way to get yournames spoken again. Just cancel
and re add yourself. Pleasedon't do that. If you wanna find
the link to the Patreon
Jonathan Hall (22:12):
But if you do
cancel, please re add yourself.
Shay Nehmad (22:14):
Yeah. That's no. I
mean, if you cancel and you
can't pay for it, it's fine.This is all just for fun. Like,
we do appreciate your support.
If you wanna find the link tothe Patreon or our Swag Store or
the Slack channel whereapparently all the action is
happening, including hardcorediscussions about the Go tool
chain being broken and thenbeing fixed again, etcetera,
(22:34):
etcetera. It's hashtag, cupagokebab case with hyphens in the
Go for Slack. Link for that isin the our site, cupago.dev.
That is cupago.dev. And finally,if you just wanna email us, it's
news@kapogo.dev.
Another way to support the show,we don't pay for advertising or
pushing the show or anythinglike that, so it's
worth-of-mouth. I've beenlooking at our, analytics as I
(22:56):
often do when I tell peopleabout the show. We've been doing
pretty well. I'm happy to seethe show making the rounds. You
can help us there in three ways.
Write about it somewhere likeLinkedIn, on Twitter, or your
blog. Leave a review on Spotifyor Apple Podcasts or whatever
you use to listen to podcasts,or just share the show
(23:17):
word-of-mouth, like with afriend or a colleague. That
would be great. Thank you somuch. Let's run to a quick
lightning round.
Lightning round. I
Jonathan Hall (23:30):
have found the
greatest library of all time. It
is truly the GOAT.
Shay Nehmad (23:37):
Oh my
Jonathan Hall (23:37):
god. It's is
called drum roll, please. GOAT.
GOAT is the Go Ascii tool. WhatGOAT can do for you?
It converts Ascii art into SVGs.
Shay Nehmad (23:53):
Honestly, it's
crazy. Like, look at the
examples.
Jonathan Hall (23:56):
This is pretty
amazing. I'm imagining it. I'm
curious how sophisticated thisis. Can I convert a mermaid
chart into ASCII and then intoan SVG?
Shay Nehmad (24:08):
It sounds like a
perfect, job for an LLM, but
I've tried it and it sucks.Yeah. Like, it can't do visual
thinking.
Jonathan Hall (24:17):
Oh, you're right.
Yeah. That was a terrible idea.
Shay Nehmad (24:19):
But the the sort of
diagrams you can do here are
really advanced, way moreadvanced than Mermaid.
Jonathan Hall (24:25):
Yeah. Definitely.
Shay Nehmad (24:26):
You can have these
all these, like, super
complicated arrows, overlappingline decoration. It's, like,
really unbelievable.
Jonathan Hall (24:35):
I mean, at some
point, I I get I'm thinking,
like, why would I wanna spend somuch time doing that much ASCII
art? Like, it would be easier topull this up in an actual GUI
tool in some cases, but I loveit. It's a great tool.
Shay Nehmad (24:49):
I think it's just
fun. I think it's fun. I don't
know if it's good, but it's fun.Anyway. And again, it's called
the Goat, which is great.
Jonathan Hall (24:59):
It is. Yeah.
Check that one out. What do you
have for us?
Shay Nehmad (25:03):
Fun with slices.
Jonathan Hall (25:04):
I saw this Fun
with
Shay Nehmad (25:06):
You know these
sorts of blog posts where
someone is like, I'm new to athing. I'm just gonna play
around with it a little bit tolearn it. That's how I like to
learn things. I admit thatrecently I've been I've fallen
into the trap of having LLMsteach me about things. I'll
just, like, ask an AI, how doesx work?
Where actually opening up mylike, firing up my terminal and
(25:28):
trying it myself would be fasterand more educational. So this is
the the sort of blog post of,someone fired up Go. They just
started working with Go. It'sfrom Monique Mudama, and they
created a slice, and then theyappended to that slice. And it's
like, oh, wait.
Where do the pointers go? Andit's it's not obvious. It's
(25:49):
definitely not on an obviousbehavior. It's this, like,
classic LinkedIn. LinkedIn.
Oh, look at this piece of code.What do you think is gonna
happen? Blah blah blah. Here'sthe slice and a pointer to the
slice and I append to it. Blahblah blah.
Just a short blog post. I likedit. You can see all the code. If
you wanna learn how slices work,pretty cool.
Jonathan Hall (26:06):
Sweet. I think
that's it for our show. Thanks
for listening.
Shay Nehmad (26:09):
Yeah. See you next
week, and hopefully in San
Francisco if you want to join mymeetup.
Jonathan Hall (26:16):
Program exited.
Goodbye.