00:00:05,400 --> 00:00:08,970
Jennifer Reif: You are listening to the
Breaktime Tech Talks podcast, a bite-sized
2
00:00:08,970 --> 00:00:13,440
tech podcast for busy developers where
we'll briefly cover technical topics, new
3
00:00:13,440 --> 00:00:15,900
snippets, and more in short time blocks.
4
00:00:16,230 --> 00:00:19,950
I'm your host, Jennifer Reif, an
avid developer and problem solver
5
00:00:20,130 --> 00:00:24,030
with special interest in data,
learning, and all things technology.
6
00:00:26,107 --> 00:00:29,377
After an international trip last
week, I am still playing some catchup
7
00:00:29,437 --> 00:00:31,897
and diving into a ton of new things.
8
00:00:32,257 --> 00:00:35,317
While there weren't major epiphanies
on any one particular thing this
9
00:00:35,317 --> 00:00:39,037
week, I do have several irons in
the fire, if you will, so I'll share
10
00:00:39,037 --> 00:00:42,667
what I'm working on and the successes
and or roadblocks that I'm hitting.
11
00:00:43,537 --> 00:00:46,237
First off, I wanna give a
huge shout out to the Glasgow
12
00:00:46,237 --> 00:00:48,043
meetup where I spoke last week.
13
00:00:48,373 --> 00:00:54,073
This was a really great event, and it
was a great group of attendees with
14
00:00:54,073 --> 00:00:55,993
a little bit of an unusual venue.
15
00:00:56,513 --> 00:00:59,963
There were lots of venues that fell
through before the event, so the
16
00:00:59,963 --> 00:01:01,763
organizers were scrambling a bit.
17
00:01:01,763 --> 00:01:05,573
I felt really sorry for them
trying to pull things together.
18
00:01:06,128 --> 00:01:08,588
When the venue kept changing
and falling through on them.
19
00:01:08,888 --> 00:01:11,438
However, what they ended up
with was a really nice space.
20
00:01:11,438 --> 00:01:14,738
It had a nice drink
service, and plenty of room.
21
00:01:14,738 --> 00:01:16,898
It was a very long room, but not as wide.
22
00:01:17,138 --> 00:01:21,638
You could tell this would have been really
well set up for things like professional
23
00:01:21,638 --> 00:01:25,328
or personal parties and fun, fancy events.
24
00:01:26,073 --> 00:01:28,833
However, the speaker accommodations
were a little bit unusual.
25
00:01:29,313 --> 00:01:31,983
They were up on a platform
and off to the side.
26
00:01:32,343 --> 00:01:36,123
It felt a little bit awkward for me
to stand so far above the audience,
27
00:01:36,303 --> 00:01:40,243
so I had to plug in my laptop up and,
and up to the right, a few stairs up.
28
00:01:41,118 --> 00:01:45,708
And stand kind of behind this wall and
you could tell it was meant for a DJ
29
00:01:45,768 --> 00:01:47,688
where it's supposed to hide the operator.
30
00:01:48,318 --> 00:01:51,678
I'm a relatively petite person, so
with that kind of large wall, me
31
00:01:51,678 --> 00:01:55,878
being up so high, it was a little
bit hard for me to see over the edge
32
00:01:55,878 --> 00:01:57,948
of it and just for people to see me.
33
00:01:58,948 --> 00:02:02,218
There also was an LED screen,
which was really beautiful.
34
00:02:02,218 --> 00:02:06,718
I was really excited about it, plugged
everything in, but I realized later on
35
00:02:06,718 --> 00:02:11,848
that it actually was a little bit hard
to read code from it, especially for
36
00:02:11,848 --> 00:02:13,798
anyone sitting in the back of the room.
37
00:02:14,168 --> 00:02:21,218
We fiddled around with the, screen
display, resolution and the font sizes and
38
00:02:21,218 --> 00:02:22,628
things to make that a little bit easier.
39
00:02:22,818 --> 00:02:25,068
A little bit of a hurdle
there, but we managed it and it
40
00:02:25,068 --> 00:02:26,178
worked pretty well after that.
41
00:02:26,943 --> 00:02:28,173
There also was no wifi.
42
00:02:28,383 --> 00:02:31,563
So had a few little hurdles to
try to find a roundabout way.
43
00:02:31,563 --> 00:02:34,923
We were able to get some
connection, set up and going,
44
00:02:34,923 --> 00:02:37,113
and I was able to do the demo.
45
00:02:37,113 --> 00:02:41,673
It just took a little bit of,
finagling and adjustment on my
46
00:02:41,673 --> 00:02:42,723
end to get everything working.
47
00:02:43,113 --> 00:02:44,193
Then there was a handheld mic.
48
00:02:44,223 --> 00:02:47,913
Now I've seen lots of venues that
have this, before where there's no
49
00:02:47,913 --> 00:02:49,413
mic stand or there's no lapel mic.
50
00:02:49,773 --> 00:02:54,498
Not an huge ordeal, especially if you're
just working from slides, but for someone,
51
00:02:54,918 --> 00:02:59,118
who live codes quite a bit, that gets
rather tricky to try to project my
52
00:02:59,118 --> 00:03:02,538
voice to the back of the room while I've
got both hands on the keyboard trying
53
00:03:02,538 --> 00:03:04,548
to type and talk at the same time.
54
00:03:04,848 --> 00:03:09,348
Thankfully, I had an amazing colleague
who acted as my mic stand and helped
55
00:03:09,348 --> 00:03:13,848
me continue, moving through the
presentation while he held the mic
56
00:03:13,878 --> 00:03:17,298
so that I could get my code written
and both hands on the keyboard.
57
00:03:17,988 --> 00:03:22,068
All in all, the event was quite an
adventure, but we made it in the end.
58
00:03:22,068 --> 00:03:26,748
I'm incredibly grateful to attendees and
organizer for putting everything together.
59
00:03:26,898 --> 00:03:29,198
I would definitely go back
in a heart beat as well.
60
00:03:29,198 --> 00:03:31,868
The organizer was fantastic
and the attendees were all
61
00:03:31,868 --> 00:03:33,248
attentive and interested.
62
00:03:33,458 --> 00:03:34,328
It was a great event.
63
00:03:35,168 --> 00:03:39,668
As advocates, though, this is a great
lesson that I had planned and have
64
00:03:39,668 --> 00:03:43,148
dealt with many of these challenges
before, but it's always entertaining
65
00:03:43,388 --> 00:03:47,108
afterward, of course, to see what ends
up cropping up during a live event.
66
00:03:47,768 --> 00:03:50,778
With battling some of these
things, I have the attitude
67
00:03:50,778 --> 00:03:52,398
that I will prevail in the end.
68
00:03:52,398 --> 00:03:55,098
Sometimes you just have to fight
for it a little more than others.
69
00:03:55,838 --> 00:03:56,528
But that's all right.
70
00:03:56,948 --> 00:03:59,798
Overall, still a great event and
hope to go back in the future.
71
00:04:00,518 --> 00:04:03,428
The other things I've been working on
this week is that I've been playing around
72
00:04:03,428 --> 00:04:09,758
with Corcus and loading in unstructured
data to Neo4j, doing some ingestion
73
00:04:09,758 --> 00:04:11,258
and then some retrieval on there.
74
00:04:11,528 --> 00:04:13,838
I'm trying a few different
filtering approaches, and I
75
00:04:13,868 --> 00:04:15,848
haven't had a lot of success yet.
76
00:04:16,178 --> 00:04:20,768
I think it's just a matter of aligning
the data structure, the data model, if
77
00:04:20,768 --> 00:04:26,163
you will, to the retrieval strategy, to
the ingestion piece and making sure all
78
00:04:26,163 --> 00:04:30,513
of those sync up well and I just haven't
found a good fit for all of that yet.
79
00:04:30,753 --> 00:04:34,663
I might need the combination
of rag and text-to-Cypher.
80
00:04:34,833 --> 00:04:38,953
Right now I'm just working with Plain
Rag, but I am playing around with
81
00:04:38,953 --> 00:04:42,853
some more of the filtering things with
RAG before I dive into other options.
82
00:04:43,543 --> 00:04:45,883
I'm also trying to figure out
a good structure for the data
83
00:04:45,883 --> 00:04:47,533
model before I even ingest it.
84
00:04:47,863 --> 00:04:52,483
Basically how the model will look
once I do the ingestion and then
85
00:04:52,633 --> 00:04:54,973
right now it feels very disjointed.
86
00:04:55,393 --> 00:04:59,653
This seems like a good case for naive
Rag right now, but there are a few
87
00:04:59,653 --> 00:05:04,153
things also that I would like to add,
the relationships and the connections
88
00:05:04,213 --> 00:05:06,853
to hopefully use later on down the road.
89
00:05:07,243 --> 00:05:12,743
There are, I am also wanting to
combine this naive RAG with a
90
00:05:12,803 --> 00:05:17,303
live interaction tracer, which is
definitely a great graph use case.
91
00:05:17,303 --> 00:05:20,333
That's why I've left all
of the data in the graph.
92
00:05:20,333 --> 00:05:24,443
For right now, I'm still fine
tuning how this Live Interaction
93
00:05:24,443 --> 00:05:27,653
Tracer is going to work, but we are
starting to make some progress there.
94
00:05:27,833 --> 00:05:31,193
I hope to have some more tips and thoughts
on this approach in the near future.
95
00:05:31,923 --> 00:05:34,893
There's also been a lot of random
meetings with folks just wanting
96
00:05:34,893 --> 00:05:36,633
to kick off projects or events.
97
00:05:36,633 --> 00:05:38,643
Is anyone else feeling this as well?
98
00:05:38,643 --> 00:05:39,573
With the start of the year?
99
00:05:39,813 --> 00:05:45,513
We are now late enough past January 1st
that everyone's back, but not late enough
100
00:05:45,513 --> 00:05:47,553
where people are quite heads down yet.
101
00:05:47,553 --> 00:05:50,793
So there's a lot of planning phase
and strategizing and kicking.
102
00:05:51,483 --> 00:05:52,563
Off projects.
103
00:05:53,163 --> 00:05:56,463
So I've just ended up with a lot of
meetings, dropped into my schedule to
104
00:05:56,463 --> 00:06:00,183
talk about future events or projects
or things that we want done this year.
105
00:06:00,663 --> 00:06:04,023
There should be some really fun and
interesting things though coming out of
106
00:06:04,023 --> 00:06:05,613
these, so I will keep you posted on that.
107
00:06:06,608 --> 00:06:13,208
For the content piece for this week,
I read a blog from Will Lyon, which if
108
00:06:13,208 --> 00:06:16,688
you've been around this podcast, you
know that, he actually was my guest
109
00:06:16,688 --> 00:06:20,768
in last month's podcast or one of
the, one of the podcasts last month.
110
00:06:20,858 --> 00:06:25,838
And he recently came out with a
blog talking about context graphs.
111
00:06:25,928 --> 00:06:28,928
And if you've been around the AI
space or are keeping up with the
112
00:06:28,928 --> 00:06:32,738
latest and greatest, this is a topic
that has come up relatively recently.
113
00:06:33,408 --> 00:06:35,988
And it's starting to make
a splash in the industry.
114
00:06:36,258 --> 00:06:41,928
This idea of context graphs and Will
Lyon wrote a blog post about how,
115
00:06:42,058 --> 00:06:44,338
context graphs and Neo4j work together.
116
00:06:44,338 --> 00:06:47,638
It's called Hands-on with
Context Graphs and Neo4j.
117
00:06:48,423 --> 00:06:51,543
First off, the blog starts
walking through what is a
118
00:06:51,543 --> 00:06:53,793
context graph and why it matters.
119
00:06:54,093 --> 00:06:57,793
I'll give a short little definition
here and then, continue on.
120
00:06:58,033 --> 00:07:02,503
But traditional databases have done
really well at capturing a snapshot of
121
00:07:02,503 --> 00:07:08,143
data in time, but they don't really tell
you how and why that data got there.
122
00:07:08,923 --> 00:07:14,233
Context graphs can help document
the how and why of those decisions
123
00:07:14,623 --> 00:07:18,013
so that you can understand why the
data looks the way that it does.
124
00:07:18,583 --> 00:07:23,323
This can be really powerful for AI
especially, because AI doesn't understand
125
00:07:23,323 --> 00:07:29,173
and can't really read between the lines
to get the underlying context behind
126
00:07:29,173 --> 00:07:34,363
those decisions, context graphs can
help provide that tacit knowledge.
127
00:07:34,603 --> 00:07:40,993
The implicit human held information
in our brains or business rules or
128
00:07:40,993 --> 00:07:44,747
whatever it might happen to be, and
add that information to the data.
129
00:07:45,617 --> 00:07:49,334
The blog post steps through An
example of a credit line increase
130
00:07:49,334 --> 00:07:52,634
for a customer, whether you should
approve it or not approve it.
131
00:07:52,964 --> 00:07:57,854
And the example here is that it can
go through and do a customer search,
132
00:07:57,884 --> 00:08:03,464
calculate risk score, look at the
employer and the risks there, any recent
133
00:08:03,464 --> 00:08:07,034
transactions, and figure out the decision.
134
00:08:07,669 --> 00:08:11,419
And then record the basis of that
decision, Hey, we are rejecting
135
00:08:11,419 --> 00:08:15,589
this customer's credit line increase
because of these particular reasons
136
00:08:15,799 --> 00:08:17,059
and documenting all of that.
137
00:08:17,329 --> 00:08:21,919
This is something that previously you
would've built a, an application or
138
00:08:21,919 --> 00:08:28,309
a system, and then an SME would've
been required to come in and read the
139
00:08:28,309 --> 00:08:33,619
code and analyze and then convey, hey,
this is why we made these decisions.
140
00:08:33,619 --> 00:08:36,709
Or there would've been maybe
documentation or notes to say, here
141
00:08:36,769 --> 00:08:41,599
are the business rules that we used
for this calculation or for this logic.
142
00:08:41,929 --> 00:08:47,719
But it's never really been
possible or considered until now
143
00:08:47,749 --> 00:08:49,579
to start documenting these things.
144
00:08:49,579 --> 00:08:55,759
But because now we have an AI, we need
some way to provide those business
145
00:08:55,759 --> 00:09:00,884
decisions and that logic and that SME
knowledge to an external source that's not
146
00:09:00,884 --> 00:09:05,714
human to human communication, and this is
where something like a context graph can
147
00:09:05,714 --> 00:09:07,994
help provide and, and fill these gaps.
148
00:09:08,624 --> 00:09:14,444
It's a way that you can document the
decisions, the processes, the logic rules
149
00:09:14,504 --> 00:09:20,504
that go into why did we choose this, and
how did this customer end up with a credit
150
00:09:20,504 --> 00:09:22,964
line rejection at this point in time?
151
00:09:23,204 --> 00:09:26,354
You can also document things over
a long course of time, right?
152
00:09:26,354 --> 00:09:29,474
Because you can look at decisions
over time and say, well.
153
00:09:30,074 --> 00:09:33,434
Now this customer has actually
improved their credit score.
154
00:09:33,464 --> 00:09:37,784
They've been a longstanding good citizen,
et cetera, and now we can actually
155
00:09:37,784 --> 00:09:40,934
approve that credit line increase
down the road, even though we couldn't
156
00:09:40,994 --> 00:09:44,054
back then because of X, Y, Z reasons.
157
00:09:44,474 --> 00:09:46,514
Now those reasons are no longer valid.
158
00:09:46,574 --> 00:09:49,024
Now we can approve this
credit line increase.
159
00:09:49,324 --> 00:09:52,744
So even just things that change over
time, you can document all of this in
160
00:09:52,744 --> 00:09:57,799
a graph and follow that path and that
journey for understanding when and
161
00:09:57,799 --> 00:10:02,809
where and why a customer might have
access to some things and not to others.
162
00:10:03,049 --> 00:10:07,399
There's also lots of other use case cases
for context graphs, but this was just
163
00:10:07,399 --> 00:10:13,919
one that I think is really relevant and
makes sense that previously you wouldn't
164
00:10:13,919 --> 00:10:18,449
have access or you wouldn't be able to
understand the decisions that went in
165
00:10:18,449 --> 00:10:20,454
behind that logic without an SME present.
166
00:10:20,879 --> 00:10:25,259
And now we're actually documenting this in
the database itself using context graphs.
167
00:10:25,977 --> 00:10:29,847
The blog post walks through a
solution architecture, some of
168
00:10:29,847 --> 00:10:32,937
the technical details, including
things like the algorithms that were
169
00:10:32,937 --> 00:10:35,187
run and the data model and so on.
170
00:10:35,247 --> 00:10:40,707
And then also provides a demo with links
that anyone can go out and replicate the
171
00:10:40,707 --> 00:10:42,271
demo application and play around with it.
172
00:10:42,501 --> 00:10:47,862
Or , just go directly to the hosted
rendition of the demo app, and look at
173
00:10:48,312 --> 00:10:50,622
and understand how context graphs work.
174
00:10:51,155 --> 00:10:55,385
This was a busy week, but I'm
super excited to see where this
175
00:10:55,385 --> 00:10:57,425
month and 2026 is taking me.
176
00:10:57,605 --> 00:11:01,175
Just with all of the projects
and things that are spinning up.
177
00:11:01,325 --> 00:11:04,955
There's a lot of excitement and a lot of
interest and lots of things to work on.
178
00:11:05,225 --> 00:11:06,305
I will keep you posted.
179
00:11:06,335 --> 00:11:08,975
As always, thanks for
listening and happy coding.