1
00:00:05,429 --> 00:00:08,960
Jennifer Reif: You are listening to the
Breaktime Tech Talks podcast, a bite-sized
2
00:00:08,960 --> 00:00:13,480
tech podcast for busy developers, where
we'll briefly cover technical topics, news
3
00:00:13,480 --> 00:00:15,790
snippets, and more in short time blocks.
4
00:00:16,259 --> 00:00:19,900
I'm your host, Jennifer Reif, an
avid developer and problem solver
5
00:00:20,179 --> 00:00:23,969
with special interest in data,
learning, and all things technology.
6
00:00:24,850 --> 00:00:26,510
This week was a firecracker.
7
00:00:26,710 --> 00:00:29,870
I really enjoyed learning a bunch
of things and running up against
8
00:00:29,870 --> 00:00:31,070
some walls to break through.
9
00:00:31,650 --> 00:00:34,990
I traveled and spoke at a meetup,
found a bug in the latest Spring
10
00:00:34,990 --> 00:00:39,070
AI, pondered early Java learning,
and wrangled some more event info.
11
00:00:39,530 --> 00:00:41,960
Let me not hold back the tide
of information coming any
12
00:00:41,960 --> 00:00:43,490
longer, and let's dive in.
13
00:00:44,380 --> 00:00:48,770
First of all, I want to give a huge
shout-out to the Java Metroplex User
14
00:00:48,770 --> 00:00:51,600
Group, or JavaMUG, meetup in Dallas.
15
00:00:51,990 --> 00:00:55,200
I attended, the meetup and spoke
at the event this week, and it
16
00:00:55,200 --> 00:00:56,780
was a really fantastic event.
17
00:00:57,100 --> 00:01:01,320
There were really excited and inquisitive
attendees, lots of questions, people who
18
00:01:01,320 --> 00:01:06,840
just really wanted to be there and really
wanted to learn and to walk through their
19
00:01:06,840 --> 00:01:10,480
situations, their learning, what they
were working on, and I really enjoyed
20
00:01:10,550 --> 00:01:12,330
speaking and chatting with everyone there.
21
00:01:12,330 --> 00:01:14,160
Came back super excited and pumped.
22
00:01:14,450 --> 00:01:17,530
So if you're in the Dallas area,
I highly recommend that group.
23
00:01:18,220 --> 00:01:23,690
Next, in preparation for that event
actually, I was upgrading all of my
24
00:01:24,230 --> 00:01:29,660
project and library details and such
for the demo, and I ran up against
25
00:01:29,700 --> 00:01:33,060
a Spring AI Neo4j chat memory bug.
26
00:01:33,540 --> 00:01:35,280
In that demo, I cover lots of ground.
27
00:01:35,280 --> 00:01:40,710
I talk about agents and tools and MCP and
just touch on a little bit of AI memory.
28
00:01:41,540 --> 00:01:45,260
And what I found is when I upgraded
everything to the latest Spring
29
00:01:45,260 --> 00:01:50,970
Boot and the latest Spring AI, the
integration with the Neo4j chat memory
30
00:01:51,430 --> 00:01:54,800
is doing something different in the
newer versions than what it used to be.
31
00:01:55,520 --> 00:01:59,920
Right now with the latest version,
it's passing an Optional back from
32
00:01:59,920 --> 00:02:05,240
the OpenAI response, and the Neo4j
driver can't convert an optional value.
33
00:02:05,550 --> 00:02:07,950
So it doesn't know what to do with
that value, and it just errors out.
34
00:02:08,150 --> 00:02:08,720
It doesn't work.
35
00:02:09,170 --> 00:02:10,480
I did open a GitHub issue.
36
00:02:11,170 --> 00:02:15,260
The workaround for right now is
to actually drop the persistence
37
00:02:15,350 --> 00:02:18,890
in the memories to Neo4j, or of
course, use a previous version
38
00:02:18,890 --> 00:02:20,130
of Spring Boot and Spring AI.
39
00:02:20,970 --> 00:02:24,970
But for now, just using the in-memory
on the latest version is what we've got,
40
00:02:25,120 --> 00:02:28,640
which isn't a great solution, but I will
keep you posted on the updates to that,
41
00:02:28,640 --> 00:02:30,500
and hopefully a fix is coming here soon.
42
00:02:31,260 --> 00:02:34,270
But I ran into that this week and
just thought I would give you a
43
00:02:34,270 --> 00:02:37,480
heads-up in case you are dealing
with the latest and greatest bleeding
44
00:02:37,480 --> 00:02:40,040
edge of Spring Boot and Spring AI.
45
00:02:40,430 --> 00:02:45,010
There's something that, is not quite,
working in the Neo4j chat memory because
46
00:02:45,010 --> 00:02:50,290
it's now passing an optional back from the
OpenAI model response, and Neo4j doesn't
47
00:02:50,290 --> 00:02:51,810
know what to do with an optional value.
48
00:02:52,510 --> 00:02:52,680
Okay.
49
00:02:53,560 --> 00:02:57,120
Next situation that I ran up against
is working through the Java book.
50
00:02:57,120 --> 00:03:00,050
I have a deadline that's upcoming
pretty quickly, so I'm working
51
00:03:00,050 --> 00:03:01,580
through quite a bit on this right now.
52
00:03:01,630 --> 00:03:04,700
And the topic that I was working
on and writing about this week
53
00:03:04,700 --> 00:03:09,500
was... I guess it, it feels
complicated, but it probably isn't.
54
00:03:09,890 --> 00:03:14,360
The object-oriented topics, things like
abstraction, encapsulation, polymorphism,
55
00:03:14,390 --> 00:03:15,830
association, and inheritance.
56
00:03:16,645 --> 00:03:20,735
These are general, base level
object-oriented programming concepts.
57
00:03:21,295 --> 00:03:24,595
However, the way that I learned
them, I felt was really frustrating
58
00:03:24,595 --> 00:03:28,035
because I never understood what
these things were actually doing
59
00:03:28,035 --> 00:03:29,255
and what purpose they really served.
60
00:03:29,415 --> 00:03:32,375
At the time, of course, I was going
through typical college classes,
61
00:03:32,375 --> 00:03:37,125
so I was doing a define, memorize,
take the test type of approach to
62
00:03:37,125 --> 00:03:40,335
learning, which isn't the best for
really understanding things anyway.
63
00:03:41,085 --> 00:03:45,455
But I really wanted to change that type
of learning in the book that we're working
64
00:03:45,455 --> 00:03:54,015
on this round and give something that was
a bit more use case, hands-on relevant.
65
00:03:54,475 --> 00:03:57,965
And then explain those terms and
say, "Hey, this is what this is
66
00:03:57,965 --> 00:04:02,345
called in Java," but really focusing
on the solution and the problem
67
00:04:02,345 --> 00:04:03,545
that those things solve first.
68
00:04:04,395 --> 00:04:07,845
To back up a little bit, in case
maybe you need a bit of a refresher.
69
00:04:07,845 --> 00:04:08,455
I know I did.
70
00:04:08,995 --> 00:04:12,645
Association is how objects,
specifically your domain classes,
71
00:04:13,055 --> 00:04:14,255
interact with one another.
72
00:04:15,005 --> 00:04:17,375
This is the type of
relationship between objects.
73
00:04:17,375 --> 00:04:19,215
Of course, there's lots of
different types of relationships
74
00:04:19,215 --> 00:04:20,715
that different objects can have.
75
00:04:21,455 --> 00:04:26,975
If you're looking at animals and pets or
vehicles and specific brands of vehicles,
76
00:04:26,975 --> 00:04:30,375
or if you're looking at clothing lines
or whatever it happens to be, there's
77
00:04:30,375 --> 00:04:33,675
lots of different types of associations
you can have between different classes
78
00:04:33,675 --> 00:04:34,955
that are in your Java application.
79
00:04:35,655 --> 00:04:38,605
Depending on the use case and the
objects that you want to model,
80
00:04:38,915 --> 00:04:40,885
there are lots of different ways
that you can connect to these.
81
00:04:41,335 --> 00:04:45,675
Think about companies and job roles,
retail locations and products,
82
00:04:45,705 --> 00:04:48,015
students and courses, and so much more.
83
00:04:48,915 --> 00:04:52,225
The way that I learned these
was very irritatingly complex.
84
00:04:52,355 --> 00:04:55,345
They were glossed over, assuming
you would fully grasp them later.
85
00:04:55,835 --> 00:04:58,505
But what if they could have
been explained in a way that I
86
00:04:58,505 --> 00:05:00,175
could have understood them then?
87
00:05:01,015 --> 00:05:05,755
Priorities in a classroom setting or in
an academic setting are typically to learn
88
00:05:05,755 --> 00:05:10,625
enough to pass the class and complete the
assignment So, much different goal than
89
00:05:10,875 --> 00:05:12,285
the way that I approach learning now.
90
00:05:12,775 --> 00:05:17,015
However, in self-driven learning, you
want to learn to build better solutions
91
00:05:17,015 --> 00:05:18,385
or understand something better.
92
00:05:18,885 --> 00:05:22,845
Not that those don't sometimes
exist in academics, but they
93
00:05:22,845 --> 00:05:24,635
are usually smaller priorities.
94
00:05:25,165 --> 00:05:29,735
Take a back seat to being able to
complete the course or to get the degree
95
00:05:29,735 --> 00:05:31,145
or whatever it might happen to be.
96
00:05:31,825 --> 00:05:34,715
The way that I approach learning is
definitely different, but I want to
97
00:05:34,715 --> 00:05:39,325
try to introduce that a bit more for
someone who is working through this book.
98
00:05:40,115 --> 00:05:42,915
Some skills are indeed
solidified with experience.
99
00:05:42,975 --> 00:05:46,375
So of course, I can't teach everything
that I know now out of the box.
100
00:05:46,405 --> 00:05:50,545
It just doesn't... It takes time
sometimes for this stuff to sink
101
00:05:50,545 --> 00:05:52,195
in a bit and really make sense.
102
00:05:53,155 --> 00:05:56,665
So that might be something that just
needs to be solidified throughout
103
00:05:56,665 --> 00:05:59,915
your experience and the more models
and applications that you build.
104
00:06:00,255 --> 00:06:04,905
However, it would be nice to experience
the examples through learning that can
105
00:06:04,905 --> 00:06:08,065
clarify these concepts a bit better
than the way that I learned them.
106
00:06:08,555 --> 00:06:09,365
So that's my approach.
107
00:06:09,365 --> 00:06:14,495
That was a lot of strategizing and really
deep thinking on these concepts this week
108
00:06:14,535 --> 00:06:18,895
and trying to find a better approach to
those who might be new to these concepts.
109
00:06:19,475 --> 00:06:19,765
All right.
110
00:06:19,915 --> 00:06:24,065
The next topic is I narrowed
down some details on some events.
111
00:06:24,905 --> 00:06:29,675
First up, if you saw the session
at the AI Agents conference that I
112
00:06:29,675 --> 00:06:33,025
gave, my session is now available on
YouTube, so if you wanna go back and
113
00:06:33,145 --> 00:06:35,842
watch the recording, I will provide
a link to that in the show notes.
114
00:06:36,792 --> 00:06:40,392
I also was able to get the
O'Reilly learning platform GraphRAG
115
00:06:40,392 --> 00:06:42,362
Fundamentals course rescheduled.
116
00:06:42,392 --> 00:06:44,412
It's looking like that's
gonna be in June now.
117
00:06:44,412 --> 00:06:48,472
I'll provide a few more details as
those become available, but that is now
118
00:06:48,472 --> 00:06:52,802
solidified and ready to go, and it should
be in an APAC-friendly time zone again.
119
00:06:53,122 --> 00:06:54,512
I'm super excited about that.
120
00:06:54,602 --> 00:06:59,122
Then the NODES CFP is
open until June 15th.
121
00:06:59,552 --> 00:07:04,022
If you're not familiar, NODES
is Neo4j's online virtual and
122
00:07:04,022 --> 00:07:06,182
entirely free developer conference.
123
00:07:06,252 --> 00:07:07,472
It runs every fall.
124
00:07:07,812 --> 00:07:12,412
This year it will be on November 12th,
I believe, and we have the CFP open,
125
00:07:12,412 --> 00:07:16,252
so if you're interested in submitting
abstracts or sessions to speak, by
126
00:07:16,252 --> 00:07:18,752
all means, feel free to check out
the link that I'll provide in the
127
00:07:18,752 --> 00:07:20,772
show notes to submit your session.
128
00:07:20,902 --> 00:07:24,742
I would love to see tons of different
content, community members and
129
00:07:24,742 --> 00:07:29,862
customers and problems, and all over
the spectrum of graphs and what they
130
00:07:29,862 --> 00:07:33,662
are doing in the industry and for
use cases and for people out there.
131
00:07:33,692 --> 00:07:35,232
I want to hear your perspective.
132
00:07:35,692 --> 00:07:37,292
Don't be afraid to submit something.
133
00:07:38,882 --> 00:07:39,192
All right.
134
00:07:39,292 --> 00:07:41,272
The content pieces that
I wanna cover this week.
135
00:07:41,582 --> 00:07:44,592
The first one was MCP, Skills, and Agents.
136
00:07:44,862 --> 00:07:47,102
This is a blog post
article by David Cramer.
137
00:07:47,105 --> 00:07:52,665
The tagline for this was, "Rest in peace
MCP, long live skills." And it's a bit
138
00:07:52,665 --> 00:07:58,275
of a humorous take, but the foundational
info that was in this article on all the
139
00:07:58,275 --> 00:08:00,185
buzzwords right now was really helpful.
140
00:08:00,955 --> 00:08:05,345
The author walked through a few of
the key topics that we're seeing
141
00:08:05,345 --> 00:08:10,295
right now, things like MCP and
agents and skills, and a quick hit
142
00:08:10,325 --> 00:08:13,165
on commands and tools, et cetera.
143
00:08:14,165 --> 00:08:17,635
I haven't really dabbled with skills
yet, so I really appreciated the details
144
00:08:17,635 --> 00:08:19,525
in this post, especially on that topic.
145
00:08:20,125 --> 00:08:26,015
However, I found that this author's
approach to the content is similar
146
00:08:26,015 --> 00:08:30,455
to how I approach content in
more of a Lego block approach.
147
00:08:30,715 --> 00:08:34,035
So I try to give a little bit of
foundation and then show how those pieces
148
00:08:34,035 --> 00:08:38,705
connect together or how they operate
together in a general technology space.
149
00:08:38,999 --> 00:08:42,529
While this author's style is certainly
different, the writing style, it has
150
00:08:42,529 --> 00:08:45,969
that define and explain perspective
that I really enjoy and I do
151
00:08:45,969 --> 00:08:47,509
also try to create in my content.
152
00:08:48,209 --> 00:08:51,449
The author covers a few different
topics, and I just found that it was
153
00:08:51,449 --> 00:08:55,499
really helpful in understanding these
concepts, which also better encouraged
154
00:08:55,499 --> 00:09:00,509
me to explore and try out more ideas
and applications in these areas.
155
00:09:01,469 --> 00:09:05,489
The next article I read that I found
really encouraging is called "LLMs
156
00:09:05,559 --> 00:09:07,329
and Your Career" by Phil Eaton.
157
00:09:08,309 --> 00:09:12,279
Honestly, I had to read this post a
couple of times to tie all the details
158
00:09:12,279 --> 00:09:14,229
together, especially the first paragraph.
159
00:09:14,259 --> 00:09:18,029
I didn't quite follow the
take in the first paragraph.
160
00:09:18,359 --> 00:09:21,569
However, after reading it a couple of
times, I really like the message here of
161
00:09:21,619 --> 00:09:25,699
hope for software developers, and I think
the author makes some really great points.
162
00:09:26,439 --> 00:09:30,609
The article's perspective is that the
developers that are most in danger in
163
00:09:30,609 --> 00:09:34,939
this AI industry are those who don't
strive for understanding and improvement,
164
00:09:35,199 --> 00:09:39,119
and that's improvement across systems,
their own knowledge, and many more areas.
165
00:09:39,599 --> 00:09:43,609
The developers in that state were
the same ones copying from Stack
166
00:09:43,609 --> 00:09:47,689
Overflow or blindly following
instructions without truly understanding
167
00:09:47,689 --> 00:09:48,989
what was being done or why.
168
00:09:49,799 --> 00:09:52,699
Why you were building the function
that way, how it was being integrated
169
00:09:52,699 --> 00:09:53,989
with other parts of the system.
170
00:09:54,679 --> 00:09:58,469
This is the definition or the original
definition of a code monkey, right?
171
00:09:58,859 --> 00:09:59,489
Do this thing.
172
00:09:59,629 --> 00:10:00,689
You don't have to know why.
173
00:10:00,979 --> 00:10:01,989
Put the code in there.
174
00:10:02,019 --> 00:10:02,379
Run it.
175
00:10:02,419 --> 00:10:03,579
If the test passed, you're good.
176
00:10:04,489 --> 00:10:08,059
The author's take here is that
high-value developers enjoy
177
00:10:08,059 --> 00:10:12,499
problem-solving and exploring, and that
piece of it is not going to go away.
178
00:10:13,239 --> 00:10:16,279
This is especially true for
problems at scale because there's
179
00:10:16,279 --> 00:10:18,069
more complexity and more at stake.
180
00:10:18,069 --> 00:10:22,399
That's just not something our AI
technologies are able to do today.
181
00:10:22,449 --> 00:10:25,269
That's gonna be somewhat
of a human component.
182
00:10:25,829 --> 00:10:29,309
Now, might all of this take
different forms, the way that we
183
00:10:29,309 --> 00:10:31,919
do software development, the way
that we interact with systems?
184
00:10:32,149 --> 00:10:32,459
Sure.
185
00:10:32,919 --> 00:10:36,759
But humans are always going to find the
next problem or challenge to tackle,
186
00:10:37,499 --> 00:10:38,839
and that's the author's take in this.
187
00:10:39,109 --> 00:10:40,029
I really enjoyed this.
188
00:10:40,329 --> 00:10:41,979
Have a read if you're interested.
189
00:10:42,425 --> 00:10:44,955
Both of these articles were a ton
of fun for me to work through.
190
00:10:45,725 --> 00:10:48,045
I'm still riding the highs of this week.
191
00:10:48,155 --> 00:10:51,635
From an exciting meetup to tackling
challenging problems to extracting
192
00:10:51,635 --> 00:10:53,875
valuable perspectives from a
couple of blog posts, there is
193
00:10:53,875 --> 00:10:55,465
so much I took away from it all.
194
00:10:55,825 --> 00:10:58,895
My plan is to carry that momentum
forward into the upcoming days and weeks
195
00:10:59,165 --> 00:11:00,715
and continue learning and exploring.
196
00:11:01,235 --> 00:11:02,875
Thanks for listening, and happy coding!
00:00:05,429 --> 00:00:08,960
Jennifer Reif: You are listening to the
Breaktime Tech Talks podcast, a bite-sized
2
00:00:08,960 --> 00:00:13,480
tech podcast for busy developers, where
we'll briefly cover technical topics, news
3
00:00:13,480 --> 00:00:15,790
snippets, and more in short time blocks.
4
00:00:16,259 --> 00:00:19,900
I'm your host, Jennifer Reif, an
avid developer and problem solver
5
00:00:20,179 --> 00:00:23,969
with special interest in data,
learning, and all things technology.
6
00:00:24,850 --> 00:00:26,510
This week was a firecracker.
7
00:00:26,710 --> 00:00:29,870
I really enjoyed learning a bunch
of things and running up against
8
00:00:29,870 --> 00:00:31,070
some walls to break through.
9
00:00:31,650 --> 00:00:34,990
I traveled and spoke at a meetup,
found a bug in the latest Spring
10
00:00:34,990 --> 00:00:39,070
AI, pondered early Java learning,
and wrangled some more event info.
11
00:00:39,530 --> 00:00:41,960
Let me not hold back the tide
of information coming any
12
00:00:41,960 --> 00:00:43,490
longer, and let's dive in.
13
00:00:44,380 --> 00:00:48,770
First of all, I want to give a huge
shout-out to the Java Metroplex User
14
00:00:48,770 --> 00:00:51,600
Group, or JavaMUG, meetup in Dallas.
15
00:00:51,990 --> 00:00:55,200
I attended, the meetup and spoke
at the event this week, and it
16
00:00:55,200 --> 00:00:56,780
was a really fantastic event.
17
00:00:57,100 --> 00:01:01,320
There were really excited and inquisitive
attendees, lots of questions, people who
18
00:01:01,320 --> 00:01:06,840
just really wanted to be there and really
wanted to learn and to walk through their
19
00:01:06,840 --> 00:01:10,480
situations, their learning, what they
were working on, and I really enjoyed
20
00:01:10,550 --> 00:01:12,330
speaking and chatting with everyone there.
21
00:01:12,330 --> 00:01:14,160
Came back super excited and pumped.
22
00:01:14,450 --> 00:01:17,530
So if you're in the Dallas area,
I highly recommend that group.
23
00:01:18,220 --> 00:01:23,690
Next, in preparation for that event
actually, I was upgrading all of my
24
00:01:24,230 --> 00:01:29,660
project and library details and such
for the demo, and I ran up against
25
00:01:29,700 --> 00:01:33,060
a Spring AI Neo4j chat memory bug.
26
00:01:33,540 --> 00:01:35,280
In that demo, I cover lots of ground.
27
00:01:35,280 --> 00:01:40,710
I talk about agents and tools and MCP and
just touch on a little bit of AI memory.
28
00:01:41,540 --> 00:01:45,260
And what I found is when I upgraded
everything to the latest Spring
29
00:01:45,260 --> 00:01:50,970
Boot and the latest Spring AI, the
integration with the Neo4j chat memory
30
00:01:51,430 --> 00:01:54,800
is doing something different in the
newer versions than what it used to be.
31
00:01:55,520 --> 00:01:59,920
Right now with the latest version,
it's passing an Optional back from
32
00:01:59,920 --> 00:02:05,240
the OpenAI response, and the Neo4j
driver can't convert an optional value.
33
00:02:05,550 --> 00:02:07,950
So it doesn't know what to do with
that value, and it just errors out.
34
00:02:08,150 --> 00:02:08,720
It doesn't work.
35
00:02:09,170 --> 00:02:10,480
I did open a GitHub issue.
36
00:02:11,170 --> 00:02:15,260
The workaround for right now is
to actually drop the persistence
37
00:02:15,350 --> 00:02:18,890
in the memories to Neo4j, or of
course, use a previous version
38
00:02:18,890 --> 00:02:20,130
of Spring Boot and Spring AI.
39
00:02:20,970 --> 00:02:24,970
But for now, just using the in-memory
on the latest version is what we've got,
40
00:02:25,120 --> 00:02:28,640
which isn't a great solution, but I will
keep you posted on the updates to that,
41
00:02:28,640 --> 00:02:30,500
and hopefully a fix is coming here soon.
42
00:02:31,260 --> 00:02:34,270
But I ran into that this week and
just thought I would give you a
43
00:02:34,270 --> 00:02:37,480
heads-up in case you are dealing
with the latest and greatest bleeding
44
00:02:37,480 --> 00:02:40,040
edge of Spring Boot and Spring AI.
45
00:02:40,430 --> 00:02:45,010
There's something that, is not quite,
working in the Neo4j chat memory because
46
00:02:45,010 --> 00:02:50,290
it's now passing an optional back from the
OpenAI model response, and Neo4j doesn't
47
00:02:50,290 --> 00:02:51,810
know what to do with an optional value.
48
00:02:52,510 --> 00:02:52,680
Okay.
49
00:02:53,560 --> 00:02:57,120
Next situation that I ran up against
is working through the Java book.
50
00:02:57,120 --> 00:03:00,050
I have a deadline that's upcoming
pretty quickly, so I'm working
51
00:03:00,050 --> 00:03:01,580
through quite a bit on this right now.
52
00:03:01,630 --> 00:03:04,700
And the topic that I was working
on and writing about this week
53
00:03:04,700 --> 00:03:09,500
was... I guess it, it feels
complicated, but it probably isn't.
54
00:03:09,890 --> 00:03:14,360
The object-oriented topics, things like
abstraction, encapsulation, polymorphism,
55
00:03:14,390 --> 00:03:15,830
association, and inheritance.
56
00:03:16,645 --> 00:03:20,735
These are general, base level
object-oriented programming concepts.
57
00:03:21,295 --> 00:03:24,595
However, the way that I learned
them, I felt was really frustrating
58
00:03:24,595 --> 00:03:28,035
because I never understood what
these things were actually doing
59
00:03:28,035 --> 00:03:29,255
and what purpose they really served.
60
00:03:29,415 --> 00:03:32,375
At the time, of course, I was going
through typical college classes,
61
00:03:32,375 --> 00:03:37,125
so I was doing a define, memorize,
take the test type of approach to
62
00:03:37,125 --> 00:03:40,335
learning, which isn't the best for
really understanding things anyway.
63
00:03:41,085 --> 00:03:45,455
But I really wanted to change that type
of learning in the book that we're working
64
00:03:45,455 --> 00:03:54,015
on this round and give something that was
a bit more use case, hands-on relevant.
65
00:03:54,475 --> 00:03:57,965
And then explain those terms and
say, "Hey, this is what this is
66
00:03:57,965 --> 00:04:02,345
called in Java," but really focusing
on the solution and the problem
67
00:04:02,345 --> 00:04:03,545
that those things solve first.
68
00:04:04,395 --> 00:04:07,845
To back up a little bit, in case
maybe you need a bit of a refresher.
69
00:04:07,845 --> 00:04:08,455
I know I did.
70
00:04:08,995 --> 00:04:12,645
Association is how objects,
specifically your domain classes,
71
00:04:13,055 --> 00:04:14,255
interact with one another.
72
00:04:15,005 --> 00:04:17,375
This is the type of
relationship between objects.
73
00:04:17,375 --> 00:04:19,215
Of course, there's lots of
different types of relationships
74
00:04:19,215 --> 00:04:20,715
that different objects can have.
75
00:04:21,455 --> 00:04:26,975
If you're looking at animals and pets or
vehicles and specific brands of vehicles,
76
00:04:26,975 --> 00:04:30,375
or if you're looking at clothing lines
or whatever it happens to be, there's
77
00:04:30,375 --> 00:04:33,675
lots of different types of associations
you can have between different classes
78
00:04:33,675 --> 00:04:34,955
that are in your Java application.
79
00:04:35,655 --> 00:04:38,605
Depending on the use case and the
objects that you want to model,
80
00:04:38,915 --> 00:04:40,885
there are lots of different ways
that you can connect to these.
81
00:04:41,335 --> 00:04:45,675
Think about companies and job roles,
retail locations and products,
82
00:04:45,705 --> 00:04:48,015
students and courses, and so much more.
83
00:04:48,915 --> 00:04:52,225
The way that I learned these
was very irritatingly complex.
84
00:04:52,355 --> 00:04:55,345
They were glossed over, assuming
you would fully grasp them later.
85
00:04:55,835 --> 00:04:58,505
But what if they could have
been explained in a way that I
86
00:04:58,505 --> 00:05:00,175
could have understood them then?
87
00:05:01,015 --> 00:05:05,755
Priorities in a classroom setting or in
an academic setting are typically to learn
88
00:05:05,755 --> 00:05:10,625
enough to pass the class and complete the
assignment So, much different goal than
89
00:05:10,875 --> 00:05:12,285
the way that I approach learning now.
90
00:05:12,775 --> 00:05:17,015
However, in self-driven learning, you
want to learn to build better solutions
91
00:05:17,015 --> 00:05:18,385
or understand something better.
92
00:05:18,885 --> 00:05:22,845
Not that those don't sometimes
exist in academics, but they
93
00:05:22,845 --> 00:05:24,635
are usually smaller priorities.
94
00:05:25,165 --> 00:05:29,735
Take a back seat to being able to
complete the course or to get the degree
95
00:05:29,735 --> 00:05:31,145
or whatever it might happen to be.
96
00:05:31,825 --> 00:05:34,715
The way that I approach learning is
definitely different, but I want to
97
00:05:34,715 --> 00:05:39,325
try to introduce that a bit more for
someone who is working through this book.
98
00:05:40,115 --> 00:05:42,915
Some skills are indeed
solidified with experience.
99
00:05:42,975 --> 00:05:46,375
So of course, I can't teach everything
that I know now out of the box.
100
00:05:46,405 --> 00:05:50,545
It just doesn't... It takes time
sometimes for this stuff to sink
101
00:05:50,545 --> 00:05:52,195
in a bit and really make sense.
102
00:05:53,155 --> 00:05:56,665
So that might be something that just
needs to be solidified throughout
103
00:05:56,665 --> 00:05:59,915
your experience and the more models
and applications that you build.
104
00:06:00,255 --> 00:06:04,905
However, it would be nice to experience
the examples through learning that can
105
00:06:04,905 --> 00:06:08,065
clarify these concepts a bit better
than the way that I learned them.
106
00:06:08,555 --> 00:06:09,365
So that's my approach.
107
00:06:09,365 --> 00:06:14,495
That was a lot of strategizing and really
deep thinking on these concepts this week
108
00:06:14,535 --> 00:06:18,895
and trying to find a better approach to
those who might be new to these concepts.
109
00:06:19,475 --> 00:06:19,765
All right.
110
00:06:19,915 --> 00:06:24,065
The next topic is I narrowed
down some details on some events.
111
00:06:24,905 --> 00:06:29,675
First up, if you saw the session
at the AI Agents conference that I
112
00:06:29,675 --> 00:06:33,025
gave, my session is now available on
YouTube, so if you wanna go back and
113
00:06:33,145 --> 00:06:35,842
watch the recording, I will provide
a link to that in the show notes.
114
00:06:36,792 --> 00:06:40,392
I also was able to get the
O'Reilly learning platform GraphRAG
115
00:06:40,392 --> 00:06:42,362
Fundamentals course rescheduled.
116
00:06:42,392 --> 00:06:44,412
It's looking like that's
gonna be in June now.
117
00:06:44,412 --> 00:06:48,472
I'll provide a few more details as
those become available, but that is now
118
00:06:48,472 --> 00:06:52,802
solidified and ready to go, and it should
be in an APAC-friendly time zone again.
119
00:06:53,122 --> 00:06:54,512
I'm super excited about that.
120
00:06:54,602 --> 00:06:59,122
Then the NODES CFP is
open until June 15th.
121
00:06:59,552 --> 00:07:04,022
If you're not familiar, NODES
is Neo4j's online virtual and
122
00:07:04,022 --> 00:07:06,182
entirely free developer conference.
123
00:07:06,252 --> 00:07:07,472
It runs every fall.
124
00:07:07,812 --> 00:07:12,412
This year it will be on November 12th,
I believe, and we have the CFP open,
125
00:07:12,412 --> 00:07:16,252
so if you're interested in submitting
abstracts or sessions to speak, by
126
00:07:16,252 --> 00:07:18,752
all means, feel free to check out
the link that I'll provide in the
127
00:07:18,752 --> 00:07:20,772
show notes to submit your session.
128
00:07:20,902 --> 00:07:24,742
I would love to see tons of different
content, community members and
129
00:07:24,742 --> 00:07:29,862
customers and problems, and all over
the spectrum of graphs and what they
130
00:07:29,862 --> 00:07:33,662
are doing in the industry and for
use cases and for people out there.
131
00:07:33,692 --> 00:07:35,232
I want to hear your perspective.
132
00:07:35,692 --> 00:07:37,292
Don't be afraid to submit something.
133
00:07:38,882 --> 00:07:39,192
All right.
134
00:07:39,292 --> 00:07:41,272
The content pieces that
I wanna cover this week.
135
00:07:41,582 --> 00:07:44,592
The first one was MCP, Skills, and Agents.
136
00:07:44,862 --> 00:07:47,102
This is a blog post
article by David Cramer.
137
00:07:47,105 --> 00:07:52,665
The tagline for this was, "Rest in peace
MCP, long live skills." And it's a bit
138
00:07:52,665 --> 00:07:58,275
of a humorous take, but the foundational
info that was in this article on all the
139
00:07:58,275 --> 00:08:00,185
buzzwords right now was really helpful.
140
00:08:00,955 --> 00:08:05,345
The author walked through a few of
the key topics that we're seeing
141
00:08:05,345 --> 00:08:10,295
right now, things like MCP and
agents and skills, and a quick hit
142
00:08:10,325 --> 00:08:13,165
on commands and tools, et cetera.
143
00:08:14,165 --> 00:08:17,635
I haven't really dabbled with skills
yet, so I really appreciated the details
144
00:08:17,635 --> 00:08:19,525
in this post, especially on that topic.
145
00:08:20,125 --> 00:08:26,015
However, I found that this author's
approach to the content is similar
146
00:08:26,015 --> 00:08:30,455
to how I approach content in
more of a Lego block approach.
147
00:08:30,715 --> 00:08:34,035
So I try to give a little bit of
foundation and then show how those pieces
148
00:08:34,035 --> 00:08:38,705
connect together or how they operate
together in a general technology space.
149
00:08:38,999 --> 00:08:42,529
While this author's style is certainly
different, the writing style, it has
150
00:08:42,529 --> 00:08:45,969
that define and explain perspective
that I really enjoy and I do
151
00:08:45,969 --> 00:08:47,509
also try to create in my content.
152
00:08:48,209 --> 00:08:51,449
The author covers a few different
topics, and I just found that it was
153
00:08:51,449 --> 00:08:55,499
really helpful in understanding these
concepts, which also better encouraged
154
00:08:55,499 --> 00:09:00,509
me to explore and try out more ideas
and applications in these areas.
155
00:09:01,469 --> 00:09:05,489
The next article I read that I found
really encouraging is called "LLMs
156
00:09:05,559 --> 00:09:07,329
and Your Career" by Phil Eaton.
157
00:09:08,309 --> 00:09:12,279
Honestly, I had to read this post a
couple of times to tie all the details
158
00:09:12,279 --> 00:09:14,229
together, especially the first paragraph.
159
00:09:14,259 --> 00:09:18,029
I didn't quite follow the
take in the first paragraph.
160
00:09:18,359 --> 00:09:21,569
However, after reading it a couple of
times, I really like the message here of
161
00:09:21,619 --> 00:09:25,699
hope for software developers, and I think
the author makes some really great points.
162
00:09:26,439 --> 00:09:30,609
The article's perspective is that the
developers that are most in danger in
163
00:09:30,609 --> 00:09:34,939
this AI industry are those who don't
strive for understanding and improvement,
164
00:09:35,199 --> 00:09:39,119
and that's improvement across systems,
their own knowledge, and many more areas.
165
00:09:39,599 --> 00:09:43,609
The developers in that state were
the same ones copying from Stack
166
00:09:43,609 --> 00:09:47,689
Overflow or blindly following
instructions without truly understanding
167
00:09:47,689 --> 00:09:48,989
what was being done or why.
168
00:09:49,799 --> 00:09:52,699
Why you were building the function
that way, how it was being integrated
169
00:09:52,699 --> 00:09:53,989
with other parts of the system.
170
00:09:54,679 --> 00:09:58,469
This is the definition or the original
definition of a code monkey, right?
171
00:09:58,859 --> 00:09:59,489
Do this thing.
172
00:09:59,629 --> 00:10:00,689
You don't have to know why.
173
00:10:00,979 --> 00:10:01,989
Put the code in there.
174
00:10:02,019 --> 00:10:02,379
Run it.
175
00:10:02,419 --> 00:10:03,579
If the test passed, you're good.
176
00:10:04,489 --> 00:10:08,059
The author's take here is that
high-value developers enjoy
177
00:10:08,059 --> 00:10:12,499
problem-solving and exploring, and that
piece of it is not going to go away.
178
00:10:13,239 --> 00:10:16,279
This is especially true for
problems at scale because there's
179
00:10:16,279 --> 00:10:18,069
more complexity and more at stake.
180
00:10:18,069 --> 00:10:22,399
That's just not something our AI
technologies are able to do today.
181
00:10:22,449 --> 00:10:25,269
That's gonna be somewhat
of a human component.
182
00:10:25,829 --> 00:10:29,309
Now, might all of this take
different forms, the way that we
183
00:10:29,309 --> 00:10:31,919
do software development, the way
that we interact with systems?
184
00:10:32,149 --> 00:10:32,459
Sure.
185
00:10:32,919 --> 00:10:36,759
But humans are always going to find the
next problem or challenge to tackle,
186
00:10:37,499 --> 00:10:38,839
and that's the author's take in this.
187
00:10:39,109 --> 00:10:40,029
I really enjoyed this.
188
00:10:40,329 --> 00:10:41,979
Have a read if you're interested.
189
00:10:42,425 --> 00:10:44,955
Both of these articles were a ton
of fun for me to work through.
190
00:10:45,725 --> 00:10:48,045
I'm still riding the highs of this week.
191
00:10:48,155 --> 00:10:51,635
From an exciting meetup to tackling
challenging problems to extracting
192
00:10:51,635 --> 00:10:53,875
valuable perspectives from a
couple of blog posts, there is
193
00:10:53,875 --> 00:10:55,465
so much I took away from it all.
194
00:10:55,825 --> 00:10:58,895
My plan is to carry that momentum
forward into the upcoming days and weeks
195
00:10:59,165 --> 00:11:00,715
and continue learning and exploring.
196
00:11:01,235 --> 00:11:02,875
Thanks for listening, and happy coding!