All Episodes

December 16, 2024 68 mins
If you struggle to stay focused on your work, like we do, this is the episode for you! Jim Bennett joins us to talk about Pieces, an app for developers that helps you connect thoughts, code, and context, to stay in your flow. 

More about Jim and Pieces:

Bluesky: https://bsky.app/profile/jimbobbennett.dev
X: https://x.com/jimbobbennett
LinkedIn: https://www.linkedin.com/in/jimbobbennett/
Github: https://github.com/jimbobbennett
https://linktr.ee/jimbobbennett
pieces.app 
Pieces Discord 

Follow us on X: The Angular Plus Show
& Bluesky: @theangularplusshow.bsky.social 

The Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. Developers from across the globe converge on Salt Lake City, UT every year to attend talks and workshops by the Angular team and community experts.
Join: http://www.ng-conf.org/
Attend: https://ti.to/ng-conf
Follow: https://twitter.com/ngconf
             https://www.linkedin.com/company/ng-conf
             https://bsky.app/profile/ng-conf.bsky.social
             https://www.facebook.com/ngconfofficial
Read: https://medium.com/ngconf
Watch: https://www.youtube.com/@ngconfonline
 
Edited by Patrick Hayes https://www.spoonfulofmedia.com/  Stock media provided by JUQBOXMUSIC/ Pond5
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:08):
Welcome to the Angular Plus Show. We're app developers of
all kinds share their insights and experiences. Let's get started.

Speaker 2 (00:21):
Hello and welcome back to another episode of the Angular
Plus Show. My name is Lara Newsome. I'll be one
of your hosts today with me, I have q Q.
How's it going.

Speaker 3 (00:30):
I felt like we just did this like yesterday, but
we have a lot of.

Speaker 2 (00:34):
Episodes in the last week, last eight days. I think
we've got three done, so.

Speaker 3 (00:41):
All right, yeah, well cool, I'm doing awesome.

Speaker 2 (00:43):
I mean, I'm not unhappy to get to hang out
with you.

Speaker 3 (00:46):
So hey, I'm glad to be spending Thanksgiving with the
people you love most. And I love you most, Laura.

Speaker 2 (00:53):
So ah, thanks, we'll tell your family.

Speaker 4 (00:57):
But yeah, I'm doing good.

Speaker 2 (00:59):
This has been awesome.

Speaker 4 (00:59):
We have we had two te podcasts.

Speaker 3 (01:01):
I'm back to back and both of our guests with
amazing Star Wars backdrops.

Speaker 2 (01:06):
So exactly. Yeah, today, I kind of wish it was
a video podcast because our guest has some truly outstanding
like Star Wars Lego kids behind him. So welcome to
the show. Jim Bennett. Jim, how is it going?

Speaker 4 (01:22):
Oh good? Thank you for having me. Really excited to
be here and really excited to show off my Star
Wars at least to you.

Speaker 2 (01:30):
Exactly to the to the listener, what you're missing out
on is so epically cool. I'm sorry for the fomo,
but you'll just have to trust us. They're really the lights.
Like there's lights going in the background too, and I
think that's what like really sets it off. So so yeah,
it's it's great. But we didn't just bring you here

(01:51):
to talk about Star Wars or Lego. We brought you
here to talk about work stuff. So why don't you
take a second to introduce yourself and then we'll get
into We're here to talk about Pieces for Developers and
we will talk about that, but why don't we introduce

(02:11):
you first and then we'll get into that awesome.

Speaker 4 (02:14):
Yeah, thank you. So I'm Jim Bennett. I'm head of
developer Advocacy at Pieces for Developers. I'm a brit currently
living in the Pacific northwest of the US, so i
lived just outside of Seattle. I've been in engineering professionally
for twenty five years. So seen it, done it, you know,
fought with it, whatever you want to how you want

(02:36):
to put it. I've lived all around the world. I've
lived in four different continents, finally settled in in the US,
and I've been doing developer relations for the past seven
years for big companies, small companies, and yeah, I'm really
focused now on how AI can help people be a
lot more productive. There's this kind of constant push to
do more, do more, do more, do more, and so

(02:58):
how can we enable people to be more productive with
the power of AI. Because let's be honest, if you're
more productive, you have more time to build Star Wars Lego.

Speaker 5 (03:07):
It's exactly exactly, and that is what life is all about,
and it's you know, the more productive you are, the
more likely are you to keep your job so you
can afford the lagos.

Speaker 4 (03:19):
Yes, because I know folks can't see these, but these
sets behind me, these are not the cheap sets.

Speaker 2 (03:24):
They're the ones that you open them and it's like,
you know, like thirty five bags.

Speaker 3 (03:31):
I'm pretty sure that Millennium Falcon is like four feet long.

Speaker 2 (03:35):
So.

Speaker 4 (03:37):
Probably not quite that. But I do have the new
Republic Rebel Cruiser, which you can't see, and that is yeah,
I guess that's probably a meet along. So as a
brit I'm still very metric, which is about three and
a bit feet Okay, yeah, so.

Speaker 3 (03:50):
The moon just looks deceiving. It looks huge because it's
I can see it on both sides of you, and
you're probably really far from it.

Speaker 4 (03:58):
Maybe I'm kind of really close.

Speaker 2 (04:00):
Okay, it's as white as your shoulders.

Speaker 3 (04:03):
Yeah, it's huge. Did it look to you?

Speaker 4 (04:05):
Yeah?

Speaker 2 (04:06):
Yeah, it's a massive set. It's very cool. So talking
about lego pieces will transition into pieces for developers. See
how I did that? I'm look professional. So I've actually
first met you at that conference in the Wisconsin Dells.
If you haven't checked out that conference. It's a great

(04:29):
polyglot conference. They hold it in the Dells and they
also hold it in Texas in January. But you were
there with Pieces for Developers, So why don't you tell
me a little bit about what. So what is pieces
for developers?

Speaker 4 (04:44):
Yeah? Pieces for developers. We think of it as long
term memory for your developer workflow. So what that means is,
as a developer, we are dealing with so much information.
We are constantly being bombarded with so much that we
have to deal with. You've gone on the days where
you fire up your ide first thing in the morning
and then you don't leave to the end of the day, right, Yeah,

(05:05):
We've got to keep doing more, keep doing more. Sat
in the LACA Microsoft said do more with less a
couple of years ago. We've got to keep doing more.
And where we're having the rise of so many different
means of communication with people and so many different ways
of collaborating. We are interacting in so many different spaces.
So I'm in my ID writing code. But what code
do I write while I'm in a chat tool talking

(05:25):
to a product manager who tells me the code I
need to write, I mean Jira or get up issues
understanding the code I mean I need to write, I
mean documentation, learning about the libraries I'm using, the language
I'm using. There's all this context happening, and I need
to kind of cut through that noise, be more focused
and write code. And this is kind of what PIECES

(05:46):
is trying to enable us to do, is just trying
to be that long term memory. It's allowing you to
have a conversation with an OLM, but doing it using
the context that you need to have to make that
a useful conversation, whether that's understanding the conversations you're having
with your colleagues around the work you're doing or the
work you need to do, whether it's understanding the documentation

(06:07):
you're reading on the ticket you're reading, or understanding the
code base that you've got, and as well as kind
of giving you this oversight over everything you're doing, it
does it where you are, so it's designed to kind
of be right next to you in the place you're at,
so you don't have to keep contact switching and you
don't have to get distracted when you do that. Classic example,
the kind of the canonical demo that I love to

(06:29):
give is imagine on a Friday, I chat to a
PM and say, hey, what's that work on? The PM
says this is the ticket, and I go and read
the ticket, okay, and I understand what I have to do.
That's a Friday night. I go home for the weekend,
come in Monday, bar up VS code. What do I
have to do now? If I have to go to
the chat tool to look up the ticket? These chat

(06:51):
tools are noisy. It's not going to be just the
message from the PM. It's going to be ten other
direct messages, twenty group chats, And if you're anything like me,
that's a good cup of coffee or two gone, just
catching up with that, and I still don't know what
I'm supposed to be doing exactly.

Speaker 2 (07:09):
I've just got distracted in the Cat's Cats Cats channel,
I answered like thirty five other questions.

Speaker 4 (07:14):
Yeah, oh, yes, that happens to all of us. Yeah.
And then if I had to read the issue, if
I go to my browser, I might go past my email,
and that's another time, sink. I mean, I confess I'm
can be easy distracted. I'm a Type one diabetic. I've
got a blood sugar monitor on my arm, and so
if I feel my sugar levels a bit low, I
get my phone out to check my blood sugar and

(07:35):
I see all the little red circles. Yeah, I will read
all those and then wonder why I'm feeling really bad. Oh,
I forgot to check my blood sugar. Yeah, we all
get distracted. But so every time we have that context
which there is a chance for distraction, there's a chance
for losing focus what we're doing. But imagine if I
came in Monday morning and I launched say vs code

(07:56):
my idea, and I went into a co pilot and
I said, what was the issue that assigned to me?
And it can go. Oh yeah. In the conversation you
were having with Dave, he said, can you look at
this issue? Okay, can you summarize the issue? Oh yeah,
this image, this issue was raised by Rosie. You need
to do this, this and this, and then this person commented,

(08:17):
and this person commented, and the conclusion is this, and
then I go, oh, okay, with my current code base,
how to improve this issue? Here you go, here's how
to impront this issue. Here's guidance. And suddenly I've gone
from zero to highly productive Without me, my ID Pieces
is able to leverage the context that it picks up
from everything I'm doing on my machine to remind me

(08:37):
of what I'm doing to guide me. And then I
can have the context of the work that I'm doing,
and Pieces can bring all that together and guide me
in the process I'm doing. And that's all done from
inside my ID wherever I am where that's a visual studio, code,
visual studio, Jet Brain, Sublime, Neo, VIM, whatever idea I'm in.
I'm having those conversations with access to context of everything

(08:58):
I'm doing and the code that I choose to bring in.

Speaker 3 (09:01):
Anomos works for a lot of the box, and it works
a lot of configuration to get it to remember those
context plads.

Speaker 4 (09:09):
It all works out the box. So the secret sauce
is I was doing lockly by all the secrets. But
it's based off OCR over your active windows. So it's
a design that you run it on your developer machine
when you're doing developer tasks, not something you'd put necessarily
on like a family computer for gaming. Designed for developer machine,

(09:29):
and it kind of sits there. It does OCR the
active windows, It processes all that locally on device, It
encrypts it locally, saves it locally, and then runs it
through our relevancy engine. And then if I ask the
LELEMA question. If that question I say, can you leverage
your long term memory to answer this question? It will
then extract what it thinks is the relevant information from

(09:52):
the local encrypted storage and then send that to the
lelem of my choice. So the only thing that ever
leaves my machine is if I I'm using a cloud
baseda of M. And one of the cool features about
Pieces is we allowed to choose from a range of lms,
both cloud and on device, so I can literally get
this turned on, turn off the Wi Fi, choose an

(10:14):
on device model like Lama, buy Granite, Gemma, whatever, and
then I can say, hey, what was I just doing?
It's a summary? How does how can I solve this
problem that this person asked me about? In my code?
It's the summary and nothing ever leaves my machine. So
it just works out the box. You don't need to
install extensions into every single tool that you have. It

(10:36):
captures everything from conversations in slack or teams to documentation
in your browser. Even if you're watching YouTube videos. It
can capture any any code that's on screen. It's all
based off text. But yeah, I can be watching a
YouTube video put some code up, Oh how do I
what do I need to do with this code? How
do I put this code in adiplication?

Speaker 6 (10:54):
And it can tell me nice, so if like so,
let's say if so, I'd have to be logged into
an open window with like Jira open for it to
have that context.

Speaker 4 (11:07):
Or yes, yeah, we're all about what's relevant to you
because there's so much information you're dealing with. You know,
we can't go mine your entire gier ecosystem because trying
to work out what's relevant to the conversation becomes hard.
You then have to say, for jeer a ticket one
one seven, how do I do this? Because you've got
a million Jero tickets. So we find that relevancy is hard,

(11:28):
so instead we let you guide the relevancy. The fact
that you read the ticket is enough for us. But
this is relevant information, this.

Speaker 2 (11:35):
Is the process. Nice. Yeah, I feel like it'd be
good to be like, did anything change in this Jira ticket?
It's the last time I read it, Like is it
can it do that stuff? Because I have product managers
that love to go change my Gyarra tickets. I guess
it would read, it could read the history.

Speaker 4 (11:50):
That's a good question. I've not actually tried that. That's
what I'm doing this afternoon. I'm going right right.

Speaker 3 (11:58):
I say I installed it this morning because I want
it to be a little knowledgeable. I didn't want to
come in here completely cold, but I played with it
for a moment. And when you get logged in, it
has like context sets, so you can use like images
or snippets or directories. Is that generally like how you're

(12:20):
using it? Like if I if I have my computer,
I don't want to tell on myself, but if I
if I have my work computer and it has several
code bases on it, several repos with different languages and frameworks.
It can kind of ask a question about about a
particular one. It won't use context from the other types,
right Like, it'll just kind of work out from if

(12:42):
I'm if I'm working in LUA on one day, and
then if I switch over to Typescript and another it
will give me best practices in both.

Speaker 4 (12:50):
It all depends on how you've could figured it. So
if you're if you're upfront, if you add a range
of code bases, it will assume that that's because you've
chosen that these are ones that you're always going to
interact with the other options. On a per chat basis,
you can just add the context you want, so you
can have multiple conversations going. So the way I like
to use it is I will have one conversation going, well,
I'll add one project as a folder and then ask

(13:11):
questions just about that project. Now I'll spin up another
chat and ask questions about the project. One kind of
really cool feature with this is if you have it
running and say you're IDE, we don't automatically pick up
the project that you have opening your IDE because you
may not want to bring the entire project to context,
especially if you've got like a million line of code projects.

Speaker 2 (13:31):
Well, and like I have a I have code where
I'm like, please don't look at anything in this directory
because it's legacy and if I don't want more of
this in our.

Speaker 4 (13:39):
Lifer, right, so we're all the view. Well, I'll start
a new chat. I could just write, click on a
folder and say just with this folder is the question?
So we can't we do put the onness on you
a little bit to guide simply because if you're if
you've got like a thousand code bases on your machine,
I mean, yeah, I hate to think how big my
GISs up folder is right now, I've probably got at
least a hundred projects out there. If they had all

(14:02):
of that, it's really hard even for a very very
good AI to understand exactly how much it needs to
pull out of that. So you kind of need that
human in the loop to help guide it. So if
you've up front, if you say these are code bases
that I always want to refer to, then yes, it
will use those in all the chats because you've kind
of guided that a little bit. Whereas with each chat

(14:23):
you can then bring in different context for it's it's
a co pilot. I think it's really important to emphasize
the co pilot nature. And I love the fact that
get Up first coined this term copilot for what they
do because it's not a pilot, it's not an auto pilot,
it's not in charge. It's there to assist you, but
you still have to give it some guidance. So you
have to say, hey, can you help me with this?

(14:45):
And that way is going to give you the best answers.
If it's trying too hard to be a pilot, it
ends up with so much irrelevant information, whether that's all
your GERO tickets and it doesn't then it gets confused,
or it's all your code basis, it gets confused you
we try to focus on that, tell me exactly what
I need to reference, and I will help you with
just that.

Speaker 2 (15:04):
Yeah, that makes a lot of sense. And I think
I especially being able to point its relevancy its stuff
because I I a lot of times when I'm trying
to solve a problem or fix a bug or somebody's
Most of the problems we solve, we're not the first
ones to solve them, and so having something that can

(15:28):
help me find something similar. You know, even if it's
just a matter of can you find me somewhere where
they did using this method? You know, or you know,
it's it speeds it up because that I do. I'm
pretty I've got my my code base I work in
every day. I've got it pretty well mapped out in

(15:49):
my head. But people are also merging to it every day,
so I don't always know what's new and what's coming in.
And so yeah, just having that little bit of help,
I mean, even if it saves thirty seconds, that's thirty
seconds of my life back. And then you multiply that
by how many times you do that every day, and
it starts to really add up.

Speaker 4 (16:09):
I think to your point as well, about how, oh
how was I did I do this somewhere else? That's
another kind of powerful things. I can have Project one
I opened in my ID, for example, and I need
to do something with X, and I did something with
X in project two over here, So I can actually
say in my copile that's start a new chat, add
project too as the context, how did I do this?

(16:31):
And I'm getting the answer from a Copolut chat I'm
having inside vs code running Project one so I don't
need to open up another window because that context switch
means I'm going to go and check my email, I'm
going to go and check my chat messages. I'm going
to go and do all the other things. And so
having that all in one place, I've got this ability
to have reason over again everything I want, not just

(16:51):
what's currently in my ID come. Yeah, very very powerful
that trick. And as you say, it's all about productivity. Really,
if I can save thirty seconds every ten minutes, that's
a large portion of my day. Yeah, but it gets
more than that because if I if that's saving thirty seconds,
that thirty seconds is me going to a chat tools.

(17:12):
Let's be honest, it's going to be twenty minutes of
looking at the cat pictures. It's say that thirty seconds grows.
So I've saved myself a lot more time.

Speaker 2 (17:22):
Yeah, exactly. Well, and then you know, I know that
when I'm looking for code, I end up with like
thirty five windows open, and I'm like, shoot, which, kay,
I don't need this, I don't need this, and then
I end up closing the one I do need and
then I got to go find it again. And you know,
it's like it's easy to be unproductive just even just
looking through code.

Speaker 4 (17:44):
So some feature pieces can do actually, so you can
say I was reading documentation about this, where was it?
And it will come back with, oh, this is the
documentation and even give you that link that you came from.
So if you close the tab or you navigated away
and you can't remember where that, that is your in
your history pieces and go, yeah, this is this is
the documentation. Really, here's the summary, and then here's the link,

(18:06):
and you click on that link, you're straight back to
where you are.

Speaker 2 (18:09):
Maybe like, here's the next thing, what's the command to
run the unit tests on this library?

Speaker 4 (18:17):
As long as it's seen that, then yes.

Speaker 2 (18:21):
And I got to go find the read me and
then I got to opy it and piacete it, and just.

Speaker 4 (18:26):
As long as you've read. So one thing I will
say is we don't store too much memory, because again
that if we have far too much information, it makes
it really hard to Now that relevance is down. So
the moment I think it's seven days, we just reached,
we do seven days worth of memory. So if you
read that last week, then yes, it will be able
to help you. If you read it six months ago. Sure, sure,

(18:47):
then it won't. But the thing is in that six months,
how many libraries have you unit tested? So again it's
how can we be sure it's the most relevant of information?
You know, we'd love to get the point where you
can go, Yeah, at some point last year I did
this thing help.

Speaker 2 (19:01):
I vaguely remember a thing that was like this deal.

Speaker 4 (19:06):
But then you have to be so specific because there's
so much context being going, here's a thousand things it
might be, and that's not necessarily useful to you. So yeah,
we have to put some limits on what we do
simply because yeah, it just becomes too much information. Yes,
again it's a copil it. You have to be in

(19:27):
the loop, you have to do some of that guidance.

Speaker 2 (19:29):
Yeah, definitely, do you find that Okay, So as a developer,
one of the things that I run into with people
that are not software engineerings and yours, that are not
super technical, is they have a very wide, large expectation
for what AI is actually capable of doing. And so

(19:51):
I think that it's what I like about pieces for
developers is that it's like it's taking the idea of
copilot and sort of just moving it beyond to say okay,
like because co pilot does an okay job of saying, well,
here's we think that this might this code might work
for you. Or oh, you're writing a unit test, maybe
you want to call it this. We know you needed

(20:12):
we know there's this branch in your code. What if
you name it this and it looks kind of like this.
But then to add the context to that as well,
I think to say, like, ah, especially if you have
good requirements in your jerror tickets, so that you know
you could I think it sets it up to be
able to instruct something like a copilot so that you're

(20:34):
getting better information. I'm basically just saying what you just said,
But you know, it's like adding that additional context. I
could see how that would be extremely helpful, because you
know there might be a requirement that's like but not
like this in the ticket. You know it's like, we
don't want to follow this pattern. I actually put that
in tickets. Sometimes I want you to follow this pattern,

(20:55):
or I will reference a lot of times reference files
and tickets where I say, follow a pattern similar to
this file to accomplish this task, and try to list
out what we're trying to accomplish and so I end
up doing a lot of that work for people.

Speaker 4 (21:13):
So I think is that the pieces could kind of
guide you with that. So you could you go into
the project say hey, where did I do this particular thing?

Speaker 2 (21:21):
Right?

Speaker 4 (21:21):
You find that, then you reference the farm the ticket,
and then when the person is implementing it is reading
that ticket, you've got a file name there. That's enough
to kind of pieces to go, Okay, well i've got
this file name in my context, let me tell you
how to do it in this particular file or referencing this.
So yeah, it was described once as a horizontal co pilot.
So the idea look a vertical copilot. It focuses on

(21:43):
one thing in one place. Pieces was described by a
guy call Scott Hansman, who's like VP of Developed Communities
at Microsoft. He'd described as a horizontal coat pilot. And
it kind of is that sits across everything. So I
guess going back to your point about people's expectations of AI,
you know, it's quite limited sometimes when you're using an
AI tool that oh it's only got access to the

(22:04):
project I've got open. That's not my world. My world
is everywhere else. We trying to expand that do that
horizontally across everything that you do. So it's kind of
a bit better. I mean, we would love to get
the point of kind of Jarvis of iron Man, you know,
like there a system that knows everything you're opening for you.
But obviously we're nowhere near that. Yeah, but we're trying

(22:25):
to get that idea of yeah, if we can help
you with across everything. Still developer focused. A lot of
the core engineering we have is developer focused. If you
ask it non developer related questions that go, well, I
want develop a co pilot. You know what's the best
termist attractions from in Paris for example, develop a co
pilot maybe at a station there, from a startup list.

Speaker 2 (22:45):
You know, it's a function that you might use to.

Speaker 4 (22:49):
Seriously. It does that. Sometimes you ask it questions about
something related to so here's some Python code to if
you were writing a program about this. You know. So
it's very much it's horizontal or developer. But you know,
our CEO has kind of spitball the idea of we
are pieces for developers, but the fundamental technology could apply
to pieces for designers or teachers. I'd love that. My

(23:11):
wife's an elementary school teacher. I'd love pieces for teachers
that could take care all the curriculum plan they're doing
in given guidance. Yeah, the kind of principle applies in
so many places. But right now we're focused deeply on
developers because we are developers, and yeah, as we as
we kind of get the technogy better and better and
better developer focus. But yes, it is as broad across,

(23:31):
horizontally across everything you do as possible to kind of
make the AI the most powerful system that it can
be for you.

Speaker 2 (23:39):
Yeah. Yeah, I could totally see it being like developers
for product too, just to be like, oh, one of
the issues that I've run into is product people that
just think we can It's easy to think that, oh, well,
simply do this, you know, add this data. It's like, yeah,
but we don't actually have that data, so we can't

(24:03):
just display this. It would be so great for them
to say, look at the responses that we're getting in
this application, and you know, when I run this application,
you can read the responses and tell me is there
anything that we're not displaying that might be useful or whatever?
You know, like I could see to help guide product
people to say or just like what's missing? You know,

(24:24):
do I get this data? Because it's I spend a
lot of time at work as a technical lead looking
at product requirements trying to figure out what we have,
what we don't have and uh and you know, so
what we need to ask for essentially, And.

Speaker 4 (24:42):
So I wonder how old pieces will work with that.
If you have a bit of a code base and said,
is their code to do the thing I just read
about in this ticket? Yeah, I wonder if it could
mind the information, that would be another interesting experience.

Speaker 2 (24:54):
Yeah, yeah, because I know.

Speaker 4 (24:56):
So we've had folks use it for support. So you've
liket of tickets come through support request so here's a
bug or here's whatever. Yeah, they get filled out into
Google sheets, Excel spread sheets, that kind of stuff. And
just by having the open that's enough context for pieces
and you can kind of say, hey, summarize here, what
are some of the general things we are seeing And
you get those summaries of yeah, they're seeing a crash
in here, bug in here. So it can be used

(25:18):
for summarizing that. But yeah, there's probably a lot of
cool use cases, yeah, that you could do with Yes,
do we have anything like this already in this this
code base. Yeah, more experimentation, I think, I think exactly. Yeah,
busy now thanks to you.

Speaker 2 (25:34):
Yeah yeah, I think that's the coolest thing about developing
a tool like this is that, like you have, we
all do it, right, We developed something, then we hand
it off to QA and then they put the round
peg through the square hole over and over again, and
you're like, okay, yeah, I guess you could use it
that way. And so yeah, it's just finding more users
to really start to build out more use cases and

(25:58):
all of that. I noticed on your website, which is
pieces dot app, that you do have use cases for
pieces for software engineers, pieces for engineering leaders. So for
the listener, I'm going to put this Actually, I'm going
to just put the link to your we will have

(26:20):
the link in the show notes so that you can
go and check out the website. So you do have
some video demos, some use cases docs, all that, so
you know, and qu said that you got it connected
this morning, and.

Speaker 3 (26:37):
So yeah, really quick and easy.

Speaker 2 (26:39):
Yeah.

Speaker 3 (26:40):
I do have another question because you can link to
your GitHub. So if I'm linked to my to my
get up and I sharing with other people and maybe
I don't work on the project, for a couple weeks
and come back. Can it actually still retain information that
was pushed up from other people and summarize it or
have to see their code too.

Speaker 4 (27:02):
It has to see that we don't don't put information
from the gearsub. The main reason for the gears up
connection is for things like just generation. So Pieces actually
originally started as a code snippet tool, so that that's
why it's pieces, it's pieces of code, and so it's
it's one thing. A feature we have is you can
have this library of code snippets the build up over time,

(27:22):
and then you can share those code snippets with people.
So I said to you, oh, can you share that
you mentioned Loua for example earlier? Oh can you share
some lower code that you're doing to do this with me? Please?
If you've got that code snippet shared, you could then
share that snippet either with a direct link through Pieces
or it could automatically generate a guitub gist b use
case that get up connection is for guitub gist. At

(27:42):
the moment, you can use Pieces without logging in, so
you don't have to do that connection. But that's that
that there's there say for for guitub GISTs.

Speaker 2 (27:51):
Okay, I'm totally like thinking of so we have a
we use it. We don't use before each in our
test blocks. We use a set up function. And one
of the trickier parts for people to remember, especially if
you're new to that pattern, is what like what it
should look like. And so I'm like, I'm totally imagining, like,

(28:14):
can you show me the add the basic setup for
our unit tests and then have it show you like
that code snippet and that like that's great, Yeah.

Speaker 4 (28:26):
That's one of the CAPERSI is there. Yeah, So the moment,
everything's personal. We are building out some team features that
will go live soon. So soon you'll be in as
a team have a shared snippet repository. And that becomes
really cool because any day you can have these standard
unit tests snippets and then you can just jump into
copart and say, hey, with this unit test snippet, I
need to unit test this code. Can you build out

(28:46):
the framework for me and it can beut it entire
scaffoling and you've got the unit test that follows the
pattern that you set in your code snippet.

Speaker 2 (28:52):
Yeah, and that'd be so great because I think that understand,
like unders there is value learning how to write your
own test setup, but it does take time. Even when
I know how to do it, like I'm good at it.
It's one of the things I enjoy the most, but
it still takes time, you know, just like oh, yeah,

(29:14):
I got to remember to mark this service and this
service and then I need this setup variable and I
need to pass in this state. And so having a
tool that could ease I mean, I know Copilot and
theory could do that, but it like to be able
to set snippets and say this is based on this
doc that we have here that's saying, you know, here's
our code standards. Like I that's that's that would be

(29:37):
a really good speed improvement for me.

Speaker 4 (29:43):
You've kind of got two choices there, because you can
have the code snippet that's got here's the structure, and
then ask the piece of co pilot to make that work,
or you just have you read the documentation. Here's a
document that outlines how you're supposed to do it, and
read this documentation based off the documentation I've just read
greatly A unit test class that follows the design standard. Yeah,
you kind of got these two paths into it. Yeah,

(30:05):
because the advantage of the having it doing it from
the documentation is as a documentation changes and evolves, you
don't have to keep updating your code snippet. It's like, okay,
I'm just go about the documentation with the latest one
there it is, apply this to this or even if
you want to update your code snippet with this code snippet,
please update it based off this documentation. And then and

(30:25):
then you say that code back down again and everyone's
got the new version.

Speaker 2 (30:28):
So I have another exciting thing. So sometimes I read
articles and I'm like, oh, that pattern sounds really interesting
and I want to try that out. Can you say
I read this article based on the pattern described in
this article, Can I refactor this code this file to
follow that pattern?

Speaker 4 (30:48):
Now I've never tried that one, but yes, I mean
we have We've got examples where kind of can you
refactor this code based off this particular pattern? So yeah,
got sent a lovely video by our chief AI officer
of that you're doing that. So oh, I need to
refact this code. Can you follow this pattern? But it
was internal code, so I can't make it so annoying.
This is really really cool stuff. Yeah, sorry.

Speaker 2 (31:09):
That is the worst thing about working on the proprietary
code is that, like I do a lot of conference
talks and I always I do talk about refactoring code,
and you cannot just auto generate code that's really bad, right,
It's really hard to pretend that you made code that
has been degrading over the last three years. So if

(31:32):
you have to, maybe that's a good use for this
as well. Take this code and change the variable names
so that like like refactor this so that it doesn't
give away any company secrets.

Speaker 4 (31:50):
I want to be this bad. I mean, I have
used pieces to make bad code. So there's I have
a demo repad that I use for a lot of
different things. It's in Python, and there's some Python code
that doesn't conform to the PEPE eight format standard. So
I the way I made it not conform is I
took this code and so this code performs to the
PEPE formatting standard. I want to demonstrate code that doesn't.

(32:13):
Can you please reformat this in a way that doesn't conform?
And it did. Python uses snake case. It did things
in camel case, put wrong spacing in so it's still
compilable code, but it didn't perform for the Pepe standard,
and that was generated by Pieces. And then when one
of the demos I do is, hey, look if you
have a coding standard, Yeah, select this code right click,

(32:35):
ask pieces copilot format for Pepe. Bang that's the code formatted.
So yes, Pieces can do that. So it'd be really
interested to see whether how bad code you could create
with Pieces.

Speaker 2 (32:48):
Just to do a demo of this, tolerate the worst
code I've ever seen.

Speaker 4 (32:57):
You have to do this. I want to see this,
make it happen. I want to see it.

Speaker 3 (33:01):
I haven't ye do it live one of your conference
talks and just generate it.

Speaker 2 (33:08):
Right there, right, you know, yeah, exactly, Yeah, because that
is like the hardest thing is generating code that needs
refactored without it just being like a really trite example
of like, you know, I don't know, I want it
to be like bad.

Speaker 4 (33:23):
Or or subtly bad too, would be kind of cool. Yeah,
things that you don't spot how bad it is until
you have.

Speaker 2 (33:30):
Until you have to, yeah, or like incorporate this anti
pattern into this function, you know, like, because there's definitely
like I mean, even if you do you know, if
you do a lot of code cottas you go through
and you know, it's like write code that does this,
and then it's got to pass all the test cases
and it'll get through most of them. But if you
throw like a million records at it, it times out

(33:51):
and that kind of stuff, and so like it would
be that I could see that being an interesting tool
as well to help train other developers to say, okay,
when we follow patterns like this, this is what can happen.
And yeah, and doesn't look bad. It looks right, but
this is not as performant as this and and here.

Speaker 4 (34:11):
So that actually we have we have some of that
kind of built into our code snippets. So when you
say a code snippet, we have a couple of tools
to do things like optimizing and translation. So trust is,
I've got this code that say causes API in Python.
I want it in Java. M no problem, one click,
choose a language you want, and then you can put
additional prompts in as well. But we also have optimized,

(34:32):
and you can say you can optimize for readability, optimize
for performance, and that's a lot of fun when you're
doing kind of those leak code style problems that coe.
So I've written this code, it works, is it the
most performance, or take this code I droped the code
snippet and say, duplicate this, but make it but optimize
it for performance. And then you can compare in the
code snippets the two what I did, what the most

(34:53):
performant one is. And it might be, Yeah, here's a
different data structure I use. That's more performance this language
or reject. Oh yeah, it's just it's just really cool
to kind of see that, because I mean, my lead
code is terrible.

Speaker 2 (35:07):
Yeah.

Speaker 4 (35:08):
Yeah, I find bizarre how much emphasis companies put on, oh,
you've got to pass leak code. All it does is
you're getting engineers who can do leak code. Doesn't mean
an engineer. I've been engineered twenty five years. You know,
I've been asked to write books. I've written books. You know.
I can't do leak code because they're trying to be
contrived problems. Yeah, so not they don't really test the

(35:29):
real world. That. Yes, I know what data structur AGORITHM
to use. They are very much it's a it's trivia.
It's a problem for the sake of a problem. And
so yeah, I wouldn't say you should you should use
an AI talk to solve leco problems. But I will
say very much is if you are interviewing for a
job where leak code problems are one of the things
they want you to do, then solve them yourself, and

(35:53):
then use an AI to do things that optimize them
to help your learning. It's very very powerful tool.

Speaker 2 (35:58):
Yeah, because I so I don't have a background in
software engineering. I was a graphic designer, and so I
when I started writing software, I did a lot of
like leak code just to actually learn the data structures
because I didn't I didn't know them. I knew about
arrays and all that, but I didn't know like, oh,
there's stacks, there's like linked lists, there's all these pieces

(36:20):
I didn't understand, and so it gave me exposure to that.
But yeah, outside of like the occasional I think the
one thing it's done for me in my career is
that if I loop through anything twice, I'm like, probably
shouldn't be looping through this twice, you know, like and
that I can optimize this code to not have this
like nested for loop in it, and you know, so like, yeah,

(36:44):
I think to your point, it'd be a very valuable
tool for people doing interviews to be like, here's how
I solved it. How could I have done it differently?
One of the companies I interviewed for they did do
like they did Hacker rank. That was the platform they used,
and one of the problems I got it to work.
I solved it with a stack. It worked fine, it
performed well enough to pass all the test cases. But

(37:06):
the more performant way to do it was with the rejects.

Speaker 4 (37:11):
Yeah, but things, if you have a problem, decide that
rejects is the solution. You have two problems. Yeah, I know.
It's one of the things I do like about AI
actually write me a rejects to do this because I don't.

Speaker 2 (37:24):
Know, don't want to figure it out. I know it's
it's actually cool. It's cool if you know how to
use it.

Speaker 3 (37:34):
Yeah, it's cool if you know how to do it,
like I always know, like I could use a reject
to solve it, but I don't know rejects.

Speaker 4 (37:42):
A number of years ago, I was living in Hong Kong,
and it seems that the Hong Kong computer science education
system focuses on topics like rejects. So I actually used
to work with the guy and probably wasn't the best coder,
but his rejects was through the root anything, and so
we end up. He was really helpful to come to

(38:03):
support tickets because we had so many log files to
wag through and he could write the right rejects is
to filter down the log files to find the things
that he was looking for. This guy was a reject genius.
It's like, how do you do this? But right I
don't even know where to start, so it's like far
up the AI, I need a redex to do this. Please,
please make it works and hope.

Speaker 2 (38:26):
I feel like there's like an overlap the ven diagram
of people that are really good at VIM and people
that are really good at rejects. I feel like it
has to like overlap because I've seen people like you know,
when you put in like VIM commands to like.

Speaker 5 (38:40):
Edit.

Speaker 2 (38:41):
I don't know, I don't know, Maybe I'm being crazy,
but it feels like it's the same kind of level
of nerd where you know, it's like you can totally
get by without it, but the people that are really
good at it are very fast at what they.

Speaker 4 (38:55):
Do, so I kind of get you. Yeah, like the
Emacs and via weird key combinations which are kind of
like you're typing rejexes to do things that you're never
navigating around bars. And I guess the overlap with people
who have cats as well and what comes out on
their keyboard when the cat sits on the keyboard is probably.

Speaker 2 (39:13):
My cat's preference is to sit right behind my keyboard
slowly push it off my desk while she presses the
f keys. She's quite helpful, she's very good at software engineering.

Speaker 4 (39:29):
I'm quite lucky. I've got eleven year old who's absolute
obsessed with cats. So we have two cats in the house.
But I'm I'm allergic to cats and I'm a dog person.

Speaker 2 (39:39):
Sure, I forgive you.

Speaker 4 (39:42):
So the cats don't usually come into my office, they
don't climb on my desk because I'm lucky. But occasionally
one of the cats will come up to me and
there's try and get my attention, put his claws on
my leg and look at me and actually dig his claws.

Speaker 2 (39:55):
In helping me.

Speaker 4 (39:57):
Love you blood, you know, blood coming down my leg.
Thanks Kat. Having quite lucky that I'm doing your rejects
on my keyboard.

Speaker 2 (40:05):
So exactly all right. So one thing I did want
to bring up that you talked about. You did talk about,
but I really want to actually talk about it because
it's something that matters to me as an employee of
a very large company, which is that you can run
pieces on your It runs on your device, it's got

(40:26):
air gap security. So, like I know, that was one
of the biggest issues when we started discussing using co
pilot was how do we use this tool without accidentally
leaking out proprietary company information outside of our network.

Speaker 4 (40:44):
And that's something very very important to us, and we
kind of trying to bait this in right from day one.
So the first thing is people kind of worry about
our long term memory. Decide if it's kind of doing
OCR on your screen, it's capturing what you're doing. All
that is process on device. All that is encrypted and
stored locally. The only thing that ever leaves your machine
is if you use a cloud based LM. Now we
offer a selection of llms. So that's the kind of

(41:06):
that trust thing of if you trust GPT four, then
we will send your prompts and then the code we
think that's relevant and the long term memory we think
that's relevant to GPT four. However, if you don't, you
can use a non device model, and so that's really powerful.
I was at All Things Open in rally.

Speaker 2 (41:25):
I was there too, but I didn't see you.

Speaker 4 (41:27):
Oh shame, Oultion you there. That's a shame. That's a
shame alone. We were there and I spoke to a
number of large companies and they were saying that they're
only allowed to use on device models because of this,
we need air gap security. One was like a big
finance company. One was a very large technology company as well,
but you know it again, it's a finance company. It's

(41:48):
if I've got customer data up on screen somehow, I
don't want to go into the cloud if it's corporate IP.
I mean, there was the whole whoh a few years
ago when GPT first came out that like Samsung's I,
he had suddenly appeared in there, and they were worried
that Samsung engineers have been asking questions about it, and
that's how the code got in there, explained the model,
and there's this whole kind of worry of where is

(42:08):
my code going. So our view is, if you want
that complete security, you choose an on device model, and
we've got a fair few to choose from, and then
it just works offline, and you can prove this you
turn the Wi Fi off, and yeah, I do this
a lot for demos, but also if I fly to places,
oh sure their plane wi Fi. Yeah it's getting better,

(42:29):
but it's still serious sometimes and so I'll just use
an no device model and I can carry on with
what I'm doing. So we're really pushing that a lot.
And then future plans. This is kind of roadmap we
are talking about, is the idea of bringing your own model.
So we're having a lot of folks are saying, well, yeah,
I'd love to use these tools. I'd love to use GPT,

(42:49):
but we have got our own GPT that's deployed to
our infrastructure, so it could be running on AZRAI service
as bedrock for example, things like that, and so how
can I use my model? And that's something we are
working the moment that kind of bring your own model,
so that yes, if your AI governance rules, because there's
a lot of air governance happening at the moment, not
of especially large companies they're putting in coming down from

(43:11):
this the C suite that we've got to have all
these rules in place. If your rule is you can
only use non device, selllem find use pieces with an
on DEVICEM. If the rule is you can only use
our LM, that's deplog to our infrastructure. Okay, we've got
that feature coming. You better connect to your own EM
so then nothing is kind of leaving your infrastructure. You
kind of got that level of protection and that's kind

(43:33):
of really really important to us to have that security
and privacy in place all the way through. And yeah,
eventually we're hoping to get to the point where you
can bring your own on device models and that is
up a massive world of training. You know, if you've
got a thousand reposts in your organization, if you train
your model on your internal code base and then conect
that to pieces, not only have you got that privacy

(43:56):
security that you're expecting because it's a model on your infrastructure,
but it's tuned on your code so the answers you're
going to get are more relevant to what you're doing.
So this is the kind of thing we are that's
very important to us that we're building out of the
next few months. This idea of like, yes, as long
as your model conforms to a certain set of standards, yea,
we want you to be able to bring this in.

(44:16):
You know, we can't bring in every model because they're
also different. But if you've got a GPT four our instance,
fine tuned on your code based, you can bring that in.
If you've got LAMA three fine tuned on your code base,
you can bring that in. So that's happened in the
next few months.

Speaker 2 (44:30):
Nice.

Speaker 4 (44:31):
And actually, if any companies are interested in working with us,
we are looking for design partners to make sure that's
because to make the experience is great, we want to
have someone who's actually got that real world use case.
So we're looking to build out our set of design
partners for companies who really want this, so that we
can make sure the experience is perfect for you. So
anyone who's listening, if you think, oh, this is what
I really want, please get in touch. We would love

(44:52):
to collaborate with you to build the same.

Speaker 2 (44:55):
And you have a contact. I was able to contact
you just through your website. It's down on the foot
like the site map at the bottom. There there's a
contact there and.

Speaker 4 (45:07):
Pieces there's the contact. There's a whole of contact for support.
We have a discord server pieces of app slash discord
again a link from my site discord server. You can
reach out to us there. I'm all over the in set,
Jim Bob Bennett, so you can reach out to me
across all the different socials. I guess we can put
write all my links to the show notes as well,
so you can connect with me directly. And I'm happy
to introduce you to the right folks on the team.

(45:29):
But yeah, we want to make sure that we can
build this private, secure experience that a lot of folks
need because they don't want to send their code to
the cloud, you know, Yes, and AI governance is only
going to get stronger and stronger and stronger as organizations
realize the need for this and as they think. I
think with shadow I t issue of everyone just doing
it anyway. Yeah, if we may it hard for you

(45:52):
to use use AI tools, you will use AI tools
anyway without telling us. And so how do you how
do we allow companies to make it as easy as
possible for the developers to use the AI tools while
still conforming to AI governments.

Speaker 2 (46:06):
Yeah? Absolutely, I know that. You know, like my company
is definitely one that's in that position. They have their
own AI, they have their own system, and that's what
we're supposed to use and yeah, and so that's great
to hear that that's coming. Yeah, that's that's awesome because

(46:27):
this does feel like a tool that would be it's
a tool that sounds very useful. Just this idea of
so much of what happens in my daily life is
spread out between emails and WebEx chats and you know,
Jira comments and whole you know, GitHub comments on pull requests,

(46:47):
and it's like I got to remember, you know, like
I'm in hundreds of spaces. It's like who sent me?
Like I know I read this yesterday? Who sent me?
Who sent me the message about this? Because I can't
find it? And even just that because I use WebEx

(47:09):
and it is a Cisco product and I am a
Cisco employee and I use it every day and I
love it. But it is hard to search for things.

Speaker 4 (47:16):
So not anymore, it's not you just ask pieces who
sent me this message?

Speaker 2 (47:23):
Exactly? Who did this?

Speaker 6 (47:26):
Oh?

Speaker 2 (47:26):
Okay, here it is.

Speaker 4 (47:27):
Yeah, that really shows the fundamental problem we are trying
to solve with this. That's why we talk about this
as long term memory, because you have got so much
going on, Yes, how can we make it easier for
you to find the relevant information, tie that back to
activities you're doing, and be more productive. That is this
is the kind of problem we are solving because this

(47:47):
is the everyday life of an engineer. Now, you know
you're not spending eight hours writing code. You are spending
six hours in email, chats, conversations, meetings and all that,
and only two hours writing code. So how do you
make those two hours the most productive possible? Or how
do we avoid you having to contact switch all the
time so you can increase that time, you know, stay

(48:08):
away from the cat pictures, block off focused time, but
lunchtime to go into the cat channel and look at that.
But otherwise you write pieces to mine the information that
you need.

Speaker 2 (48:16):
Yeah, Like, the best thing we did is finally they
stopped requiring me to get onto my phone to do
off because that was the killer. It was like, you
need a code. Oh okay, here's the code, and also
hold on to do like ten minutes later, I'm like,
oh crap, I forgot what I was doing.

Speaker 4 (48:34):
Yes, yeah, I keep joking that the average developer is
like Dug from the movie Up. You know scroll, Yes,
I have yeah, cantu distracted scroll? Yeah? We are easy
distracted you know, we talk a lot about how developers
have ADHD. That's the most effective. Developers are somewhere on
the ADHD spectrum or autism spectrum, and distraction is a

(48:57):
thing for all of us. I don't know how true
this is. This is just a thing that is talked about,
but yeah, a lot of us are very easily distracted.
We get hyper focused, but then when we get distracted,
we get hyper focused on the distraction. So anything we
can do to minimize the opportunity for distraction, to allow
our hyper focus to be directed the right way is

(49:21):
a very very powerful tool.

Speaker 2 (49:24):
Absolutely. I mean, I have my phone, my ringer is off.
I do not get any sound notifications, when I get emails,
when I get messaged, like direct messages, like nothing because
I cannot not look at them.

Speaker 4 (49:40):
So and I'm fortunately there are apps that use this
to drive engagement, and they're constantly bombarding you. I feel
like LinkedIn does this are still linked And then when
I go away from it, suddenly it pops up with
another notification as as waiting for you to close it
so we can notify you again to put you back.

Speaker 2 (50:00):
It's like so needy. Yeah, I had like I've got
most of my note very few apps are allowed to
notify me because they're just even if it's just once
a day, I'm like, it's too much. I don't care.

Speaker 4 (50:13):
I am the same. I turn them all off. Even
that I have very few work apps on my phone,
and I will turn off notifications on that. If I'm
at a conference, I will turn notifications on for like
my g chat for example, but that nope, I have
it there. So I do a quick scan in the
morning while I'm making coffee before I start working if
I need to scan chat messages, so I've got that

(50:35):
time box of making coffee, so that plan what I
need to do when I when I start work. Other
than that, no, I don't want notifications on because then
I'll be especially in a global team, you know. I
don't want something to come through Sunday evening because it's
Monday morning for someone else.

Speaker 2 (50:52):
Yeah, and I don't like I don't want to be notified.
I also don't want people to feel like they can't
ping me like I want. I want the best of
both worlds, right, Like I want people to feel like
they can reach out to me, understanding there might be
a time delay for me to get back to them. Yes,
but I know it's very frustrating when I'm like, oh,
I want to message this person, is it too late

(51:15):
and anymore, I'm like, well, if they don't have their
notifications figured out by now, that's their.

Speaker 4 (51:22):
I'm always quite clear with the people I work with
that I will message you at my convenience, but they
only expect to respond at your convenience correct, which is
very important because I've worked in global teams before. One
of the teams I worked in the Microsoft we literally
had people all the way around the world. It was
a designated global team based out of event spaces all
around the world, and so you know, you had everyone

(51:44):
from Australia all the way around to West Coast USA.
And so if I send someone a message, I'm not
expecting a response because it might be Yeah, I messaged
for Rene last thing on a Friday and it's actually
Saturday lunchtime for her or something. So I'm not expecting
a response. But I can't message you. Yeah, I want
you to see this when it's your Monday morning, but

(52:04):
I can't message you your Monday morning because that's my Sunday.
So if I message you now, because that's convenient to me,
but I'm it's not expected to do anything until then, right, yeah,
which I guess makes that with the global team, makes
that whole noise first thing in the morning. That's why
we have so many messages first thing in the morning, Yeah,
because of all the people who are doing that are
now going to process them, and that then is the

(52:26):
distraction that we and.

Speaker 2 (52:28):
Then be nice to get a summary to be like, oh,
it sounds like there's a bug and you better fix it.

Speaker 4 (52:34):
Oh yeah, I mean that happens a lot. You've got
a long chat conversation and I need to do something,
and you missed the last message and says it's solved
again going on to the chat conversation. Can you summarize
this chat please?

Speaker 2 (52:45):
Thanks?

Speaker 4 (52:45):
Pieces, you just made my life a lot easier.

Speaker 2 (52:47):
Yeah, yeah, yeah, exactly. All right. So you talk a
little bit about the roadmap, the more like the near
future roadmap. Do you have a how far up does
your roadmap go? In your mind?

Speaker 4 (53:04):
So I guess the other thing to talk about is
what we're thinking about for a longer future is to
be more proactive with the information that we surfaced you.
Because if we've got the information, how can we guide you.
How do we know what it is you want to
do and try and guide you early on. So this
is something we're kind of thinking about as a kind
of a bigger, long term future. So this classic example

(53:27):
would be running some code and I get an error
just appears in my apook. Whendow I get an error.
If we've seen this era before, we have the right information.
If we could pop pop straight away in the copilt chat,
oh hey we've just seen this error. This is what
caused it last time. This is what was done to
fix it. Yes, that proactive nature becomes very powerful. It
could also become annoying, so we have to kind of

(53:48):
balance that the right way to notify you with it
with kind of a good feedless information, but it becomes
very powerful. Same with the fear of reading a ticket.
Uh yeah, I read a ticket. This is what I
need to do. I open up my idea is this
project in problem and saying oh, hey, we saw you're
reading this ticket about this project. Do you want some
suggestions about how to do it? Yes? So having this

(54:08):
proactive nature, as long as it's not naggy, you know,
you know what it's like. It's constant notifications yeah, you
do this, you can do this, you can do this.

Speaker 2 (54:16):
It looks like you're trying to write a letter.

Speaker 4 (54:20):
We don't want to be clippy. Fun fact, Microsoft has
a Clippy suit. I have worn it on a number
of occasions, including on videos. Very cool. But yeah, we
don't want to be that annoying clippy that's trying to
be helpful. I mean, Clippy was a phenomenal piece of technology.
It just wasn't good enough for what it needs needs
to do now. So we don't want to be that

(54:41):
annoying clippy. But it's like, how can we provide you
with that guidance at the right time. I don't want
to be an agent. We don't want to take over.
We still want to be a co pilot. Humularly is
very important, but how do we surface the right guidance
when you need it? Yeah?

Speaker 2 (54:55):
I like the idea of like when you see an
error message, because like there's a few. Okay, So one
thing that we've done on my team that I think
has been very helpful is that when we get an error,
if you're asking about an error message, people are inclined
to just put up a screenshot and be like, this
is my error message, how do I fix it? But

(55:16):
we have them like actually put it in text in
the message so that if I get the same error message,
I can so my workflow as I first searched for
it to see if anybody else is getting the same
error message, and then I can if there is, I
can follow the thread and maybe figure it out. But
just having that ability to say if you're doing that

(55:37):
already and then you have threads or threats, you have
pieces in there, you know, understanding the concept context of
your messages seeing that error message and saying, hey, last week,
you know, or like two days ago, Sarah Smith also
had this error and this is what was suggested to

(56:00):
fix it, or you know, like I think that you
could even help to build the context on it that
way as well, like oh, hey, here's how I fixed
my error. If it's a poor request or you know,
I ran this command and it fixed it. All of
that is helpful because that is a manual process. But
to have pieces be able to go read that message

(56:22):
for you to say, okay, here was that resolution to
this error message. You know, do you want to try
to run this command? You know, like yes, let's update
my node version.

Speaker 4 (56:34):
Yeah, how error is that it's not working because of
something compatiblate of don't and just pieces pops ups say yeah,
this is just a no error run. Yes, yeah, jupe.

Speaker 2 (56:43):
Done, or you get the like the helpful tip that
I always have to do with people, or they'll be like,
I got this error message and and in the error
message it's like you need to do NX reset. I'm like,
what do I do? I was like, did you do
NX reset?

Speaker 4 (57:01):
It's what we need to read. The read.

Speaker 2 (57:07):
Like, did you do NX research.

Speaker 4 (57:12):
I guess your point as well. About screenshots, this is
kind of on the power of pieces because it does
everything through ocr So even if someone shares a screenshot
with you, ye got that capture context, the texts on
that screenshot. And I have had so many arguments with
QA teams in the past where companies have done outsourced
QA teams where the where the emphasis was on the
cost not the quality. How do you do it as

(57:34):
cheap as possible and just get screenshots? This is not
good to me. I need the actual text of what's
going on, but pieces of capturing that for you. So
you know, if someone shares a screenshot with you, hey, pieces,
what's the text in here, bang now you go past
that into the document, so very quick for that. And
also as well, Pieces can deal with code snippets from images,
so if you like, if you want to save a
code snippet, you can take an image as well. So

(57:56):
if someone's sharing an image or something with you, just
drop into Pieces and it just pick some of the
from it. So because we've kind of got this ocon
nature built in for a long term memory, it's kind
of applies across so many different use cases. So yeah,
if you are just stuck with a screenshot, he's going
through a word document about this error, or I guess
I wich about the a with a screen shop, all
that context is captured.

Speaker 2 (58:17):
That's perfect. Yeah, because I do a lot of times
I find putting code examples in like markdown to be
really frustrating, so.

Speaker 4 (58:25):
I manage you just screenshop drop it in. So you're
mentioned earlier the use case. We've got another use case
example coming out soon focusing on students, and this happens
a lot. The students are going to be in lectures,
whether it's an impersonal remote and they've got code being
put up on either up on the projector or on

(58:46):
the live stream they've got coming in. Oh, I need
this piece of code. Word you grab a screenshot or
get your phone out, take a picture, drop that into
pieces that converts to a codes in a bit, augments
it with AI, describes it, and suddenly you've now got
this code available to you. So that's kind of one
of the really pawerful things for as a use coase
of students. It's just having this ability to share a

(59:06):
slide deck that's got a pictures some code, and it
copy and paste the picture. I've got the code.

Speaker 2 (59:12):
That's great. Yeah, that is very useful because I even
I do that. I mean, I'll be in a conference
and as like, oh, oh that's how you set that
up and take a shot of it, and or just
like I take screenshots of slights all the time, and
I'm like, am I ever going to go from like this?
Probably not? But if I had a tool that actually
would go back and look at it for me, like

(59:32):
I could probably feed all those screenshots I take and
be like, can you summarize my experience in this workshop
at this conference, like based on the slides that I
fed you, you know, like I could see that working
as well too, because that's digesting what you've learned is
also and a lot of companies, if they send you
to a conference, they want you to digest it and

(59:54):
share and it's hard to be like, here's tense screenshots.
Good luck.

Speaker 4 (01:00:01):
Pieces can do that. You can just go and you
can just watch the video of the recording of the session.
Just let Pieces capture all the text from one screen
and then say, yeah, summarize all that text they just got.

Speaker 2 (01:00:12):
Nice. Nice I could just sleep through the whole thing.
No wait, no, that's not the idea of the co pilot.

Speaker 4 (01:00:19):
You can't send Pieces to the conference for you to
take notes. You have to go yourself, have to go.

Speaker 2 (01:00:24):
But then you get the pens and that's what matters.

Speaker 4 (01:00:27):
And if you go to things at that conference, you
get the water park.

Speaker 2 (01:00:30):
It's true, Yes, that was That's how I always convince
my kids to go with me. Because so for anyone
who has not attended that conference before, they do a
water park night, because they always hold their conferences at
the Kalahari Hotels, which are those like big water park hotels,
and so they at night will rent out the entire
water park just for the conference. And it's a lot

(01:00:52):
of fun because it's so much more fun to be
at a water park that's not full of other people's children.

Speaker 4 (01:00:57):
Yes, yeah, it's nice and you can get all the
slides and all that kind of stuff exactly bar with
the adult beverages if that's your inclination, usually kind of
big frosty things in which it glasses. The only downside
is so I was the one in that conference and
as we were leaving, there was this kid with his dad.
The kid must have been six or seven, dressed in

(01:01:20):
their swimwear. So look told you, daddy, the water parks open,
tries to get don't end up. Sorry, this is actually
a private party. And the look on this kid's face,
he was so upset because you're like, yes, the water
park's open is late night. I want to go the
water park. Sorry, you can't come in. And as we're
all walking out with people without with their kids with them,
and it's heartbreaking. I wish I could take my band

(01:01:43):
off because I'm done and given play.

Speaker 2 (01:01:45):
You promised to learn JavaScript here. Yeah, yeah, I feel
that well, Jim. I want to thank you so much
for your time today, for joining us, for writing this tool.
You said, Okay, I just want to remind the listeners
if they wanted to reach out to you directly, he said.

(01:02:08):
Jim Bob Bennett.

Speaker 4 (01:02:09):
Yeah, I'm all of the insert Jimbob Bennett so x
dot com slash, Jim Bob Bennett's LinkedIn slash in slash
Jim Bob Bennett. Yeah, all the kind of places get
up slash Jim Bob Bennett.

Speaker 2 (01:02:20):
Are you on Blue Sky?

Speaker 4 (01:02:21):
I am. I'm Jimbob Bennett dot dev on Blue Sky.
Because that's tight.

Speaker 2 (01:02:26):
You're a domain. I need to do that.

Speaker 4 (01:02:30):
I was one.

Speaker 2 (01:02:30):
I joined a long time ago, and I just haven't
hooked it up to my domain because there's so many
other things that need my attention, like reading through my chats.

Speaker 4 (01:02:40):
You on the Blue Sky to look up how to
do that, and then you end up reading all the
Blue Sky messages and yes, all of them. I consider
the links. We can put those in the show notes. Yeah,
that'd be helpful. And then yeah, Pieces at pieces dot app.
Pieces is currently free. We are enjoying spending venture capital
funding at the moment. We're going to be free for
the next probably bought a six months at least, so

(01:03:02):
free access to all the lms, and then we will
be charging. Don't know what if the price is going
to be, we've got to give up discussion going about pricing.
But we're looking around the eight to fifteen dollars a
month kind of price points, the standard dev price point.
Obviously with enterprises, as we add more features, we're better
have discussions around what you need. But yeah, there's not
going to be a user for free and then we're

(01:03:23):
going to drop a thousand dollar a month bit on you.
It's going to be that eight to fifteen dollars kind
of price point.

Speaker 2 (01:03:28):
Well, and knowing that you have use cases specifically that
you've thought up for students or early career doves, like, yeah,
it's a lot easier to get Well, it's actually not
easy to get anyone to drop a thousand dollars a month,
but it's particularly hard to do that with people who
aren't making very much money.

Speaker 4 (01:03:47):
So yeah, yes, I mean, I'm hoping there'll always be
some kind of free tier, but I don't know the
details of whether we're going to do that or not.
I can't commit to anything, but yeah, it's going to
be that eight to fifteen dollars price point. Because you
say thousand dollars a month, I could say, like.

Speaker 2 (01:04:02):
Evidence of that exactly. Yeah, So yeah, and honestly, if
it you know, if it combines more than one paid
service for you, you know, like is it can you use
Pieces to replace other paid services that you're using maybe,

(01:04:23):
so then you know to trade off that way. So
but what I'm hearing here is that now is the
time to get in and try Pieces. Find out if
it works in your workflow, talk to your boss, find
out if it if you're allowed to use it at work,
if it might work with UH code at work, if
you've got a if you've got a company that can
maybe work with Pieces to develop using their proprietary MS

(01:04:49):
or any of that, contact GYM. So yeah, it sounds
like there's a lot of ways for our listeners to
get involved with Pieces, to try it out, maybe give
some in, put it on how you know, maybe just
message GERM and tell them how you used it.

Speaker 4 (01:05:05):
Yeah. I love hearing that because so many different ways
you can use it. So I love hearing people go, oh,
I do this thing, and I have never thought that
that was even possible. So yeah, if you use it,
if you have any cool use cases, I would love
it if you could share that with me. We have
a Discord as well. Pieces do app slash Discord, so
jump on there. We do fun events in our discord
as well, so again that's a good place to hang
out and share what you're doing.

Speaker 2 (01:05:26):
And you can turn on notifications and they can like
pin you all day long.

Speaker 4 (01:05:30):
Yeah yeah, I'll just ignore them and then I'll go
to Pieces to scroll through Discord, go to Pieces, summarize
what was being asked for me on Discord. There we go.

Speaker 2 (01:05:37):
Thank you very much exactly. I feel like this is
just like that is the main way I would be
using this. It's just like, just can you look at
all my chat streams and just tell me if I
need to do anything.

Speaker 4 (01:05:49):
Honestly, we have folks from the company who do this
a lot, because when there's a long chat conversation happening,
I'll just slowly scroll through it to make sure the
oco is enough time to catch everything and then just
summarize that. So that a lot we dog food that
use case so much.

Speaker 2 (01:06:02):
Yeah, I fully believe that. All right, Well, I don't
want to keep you all day, but I do really
appreciate your time and for joining us today. I'm I'm
excited to go try out Pieces. I hope that the
listeners are excited as well. Are you going to be
at any upcoming conferences?

Speaker 4 (01:06:23):
So I've only got one upcoming conference books and that's
just for me, so Pieces ourselves, we don't have any
conferences lined up yet. I'll be at NBC London, So
if anyone's in NDC London and wants to chat Pieces,
let me know. If you're brit as well, I'm going
to be in town for like a week or so.
I'm doing to talk at dot net North, probably a
talk Marcsoft Reactor in London, but then yeah, I'll be
at NDC London. But Pieces as a whole. We don't

(01:06:45):
have any conferences booked in the immediate future, but follow
us on social media. We get Pieces on Twitter, Blue
Sky and all that. So as we have more and
more upcoming events, we will let you know. But otherwise
in our discord we're running hold out of fun events
from the getthub roasts to game nights, so that's a

(01:07:06):
public go way to interat with us and see them
as of what we're doing.

Speaker 2 (01:07:09):
Nice, excellent, all right, welcome, Thank you for joining us,
and to the listener, thank you for joining us. If
you like the content that you hear. Please remember to
subscribe to the podcast and thank you for joining us.

Speaker 4 (01:07:23):
Thank you very much. This is a lot of fun,
all right.

Speaker 2 (01:07:25):
Thank you.

Speaker 4 (01:07:28):
Hey.

Speaker 7 (01:07:28):
This is Preston La. I'm one of the NGI Champions writers.
In our daily battle to crush out code, we run
into problems and sometimes those problems aren't easily solved. Ng
COMF broadcasts articles and tutorials from Angie champions like myself
that help make other developers' lives just a little bit easier.
To access these articles, visit medium dot com, forward Slash NGCOMF.

Speaker 1 (01:07:49):
Thank you for listening to the Angular Plus Show, a
chi COOMF podcast. We'd like to thank our sponsors, the
NGCOMF organizers Joe Emes and Aaron Frost, our producer Gene Bourne,
and our podcast editor and engineer Patrick Kyes. You can
find him at spoonful Ofmedia dot com.
Advertise With Us

Popular Podcasts

New Heights with Jason & Travis Kelce

New Heights with Jason & Travis Kelce

Football’s funniest family duo — Jason Kelce of the Philadelphia Eagles and Travis Kelce of the Kansas City Chiefs — team up to provide next-level access to life in the league as it unfolds. The two brothers and Super Bowl champions drop weekly insights about the weekly slate of games and share their INSIDE perspectives on trending NFL news and sports headlines. They also endlessly rag on each other as brothers do, chat the latest in pop culture and welcome some very popular and well-known friends to chat with them. Check out new episodes every Wednesday. Follow New Heights on the Wondery App, YouTube or wherever you get your podcasts. You can listen to new episodes early and ad-free, and get exclusive content on Wondery+. Join Wondery+ in the Wondery App, Apple Podcasts or Spotify. And join our new membership for a unique fan experience by going to the New Heights YouTube channel now!

The Breakfast Club

The Breakfast Club

The World's Most Dangerous Morning Show, The Breakfast Club, With DJ Envy, Jess Hilarious, And Charlamagne Tha God!

Fudd Around And Find Out

Fudd Around And Find Out

UConn basketball star Azzi Fudd brings her championship swag to iHeart Women’s Sports with Fudd Around and Find Out, a weekly podcast that takes fans along for the ride as Azzi spends her final year of college trying to reclaim the National Championship and prepare to be a first round WNBA draft pick. Ever wonder what it’s like to be a world-class athlete in the public spotlight while still managing schoolwork, friendships and family time? It’s time to Fudd Around and Find Out!

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.