RecallGraph Open Source Development

About

In this episode of Open Source Directions we were joined by Aditya Mukhopadhyay who talked about the work he has been doing with RecallGraph. RecallGraph is a versioned-graph data store – it retains all changes that its data (vertices and edges) have gone through to reach their current state. It supports point-in-time graph traversals, letting the user query any past state of the graph just as easily as the present.

Transcript

[Music] hello the internet welcome to open source directions brought to you by open
teams the first business-to-business marketplace for open source support and services open source directions is the
webinar that brings you all of the news about your favorite open source projects my name is Henry Badger II and on the
growth marketer here at open teams I’ll also be your host for this episode and joining me as the co-host is hi I’m a
deacon I’m excited to be co-host for this episode I’m a postdoc at the University of Illinois at
urbana-champaign I work on an open source project called the YT project and I’m based in Urbana Illinois and a
teacher hi I’m an open source developer based in Bangalore and I’m really
excited to be here in today’s open source directions for now today I’m going to talk a little bit about my
latest open source project called Rinku graph awesome well welcome and thank you very much for joining us we’re very very
excited for this episode but before we get into the juicy details of recore graph here are some recent pull requests
or a one pull request that we ditch has been enjoying so what was your recent
pull request that you found particularly interesting Aditya well it has to do with a language
baby which is what trickle graph is based on top of and it adds a new type
of traversal so far Arango released post read first and that first reversals you
travel so that and it’s been sharing in the chat that allows for edge weights to
count as the sorting order so this really comes in handy for a lot of real life use cases for example you’re
planning a trip between multiple cities and each trip has a cost associated with it whether you travel by flight or by
you know any other means and there is a cost associated with it and this way to travel Seoul will directly give you you
know your path sorted by ascending or descending order of the price or any other kind of any other cost attribute
that you may want so I think it’s really useful and really you know create película I hope it gets polished
listen well thank you very much here Brandon has just also shared that in the chat so you can see it there and I think
MIDI can and I have something a little bit different we’re gonna go with the tweet of the week us we’re gonna share
our favorite tweets we saw this week and mine is a little bit of a self a self plug but basically we’ve been filming a
lot of educational video content in the hope that we can share that and and help
educate people about open source but also primarily companies so that we can work towards making open source
sustainable and help open source thrive so I just wanted to share that tweet with you it’s a video we made about a
few reasons why companies should consider using open source so I’d love to if anyone could have a look at that
and we’re very very open to feedback is one of the first videos but there will be a lot more to come and now we have
the Deacon if you like to share your tweet of the week yes of course so mine is maybe a little bit more of a jokes
and our to more professional announcements just before this so I this
particular tweet is a picture of a map and it’s supposed to be like a rail system of the world looks like imagine
what the world could be like if you have this rail system but the map is cursed like the more you look at it the more is
wrong with it so it you know creates sort of linear paths between cities the
cities cities are not even like in order geographically and so I have no idea how
that would work it leaves us like all continents and yeah so I think it’s
hilarious it’s a good example of something that like could look good first look at it but then you know
you’re cursed so I’m sorry of course our entire listener face today oh I’m sure we can
we can move on 2020 couldn’t get any worse anyway thank you very much for
sharing that it’s a recall graph we’re not just going to give you a bit of context and information about the project arbitrary
core graph is a versioning data store for time variant graph data it lets you time travel over historical
versions of your graph and run point in time look backs at reversals and shortest-path queries
it has 225 stars on github and I think we’re gonna ask a few questions and just
see if we can take a little bit deeper into the project just to give everyone listening a bit of context so did you
want to share your screen for this part or maybe maybe in a while so this didn’t
start with like yeah so I’ll just start that quickly you know the what led to me
Boris starting to getting the idea of working with Rico graph so it was just to a curiosity I just have this apes
that I wanted to scratch I had this idea of I’ve worked with graph databases before and they’re studied to some depth
to the internals or certain concepts gate and particular gate itself also you
can only use as passat of tree structure to store its commits and it occurred to
me that it might just you know work out if I use the graph structure itself the
graph search of the car to kind of act as volume control there for the data
that it stores so you know it sure the intent was never to let it stretch
beyond more than you know one or two weeks as just a hobby project or cipher date before I move on to something else
but as I talk deeper that hey think this
is actually really really complex and very challenging problems solve which you know a few people have you know
published people so on it you know a few people have come out with sample or
reference implementations but there still a lot to be done for you know to bring something like this into the mainstream so you know as it turns out
now it’s been one and a half years since I’ve been working almost full-time on this project just still a lot to be done
that’s that’s great to hear and I think yeah it’s it’s definitely something is very very exciting so I can’t wait to
dig a little bit deeper into into this project so can you actually explain a little bit about history of the name and
the logo please oh well the logo is I’m
really bad at designing in fact you coming off it you know good names for open source projects over I
think else for that matter so initially the name for this project was named EB store which is really on
the unimaginative a of you know just you know referencing the fact that it is in
a way an ear in store for growl so yeah it started out has av store over time I
kind of came up with a few use cases for you know the public sector particularly
in the legal or the law enforcement or you know that the public works
departments actually the police force here in India and so I thought okay that’s name it’s civic craft so but none
of them were quite reflective of what this product is at its core so then thankfully mother some of my
friends you know jumped into the rescue we had a brainstorming session for almost half a day and eventually we came
up with this name recall craft which is sort of reflective of you know what this is and the logo is also you know of
thanks to them can you tell us that
there’s any alternative projects that exist out there well temporal databases in general yes
there are several in the relational space any database that implements the SQL 2011 standard or higher these
include the latest versions of SAT Hana Oracle there’s IBM’s db2 i couldíve Marya DB
and a few others and the novel series the there are there are databases that
support various models and I just you know this out in no particular order so there is Mark logics there is sir xtd
there is even so the I think some of
them are document databases on some of them to support the craft database model as well the state hammock which is kind
of like a multi model is that suppose it’s an implementation or reference implementation of the data log query
language and particularly in the graft is base so I quite recently came to know
that there are a few mainstream you know poisons that also opted to be septum
editors out there to name a few the graphics be on
applause there is Chicago there may be a few more but you know that market
saturated us you know the let’s say for example the relational database P there
are very great awesome and what technologies it builds on Oracle girl
for question for most it is not a standalone piece of software it actually
runs as a micro service layer on top of the existing and very well-known and
popular Arango TV so Arango DB has its own framework for building micro services it goes by the name of Fox
basically what it is is nothing but a JavaScript v8 engine the same as the one
used in node tortillas as well as the JavaScript engine for running Chrome in all its derivatives so Fox micro
services are nothing but JavaScript service files that run on the Arango DB
database server itself the only peculiarity here is that it is 100%
synchronous JavaScript so there is no accessible event loop that the developer can leverage okay cool yeah I think this
is the case of all open source technology that we’re all built on you know the shoulders of giants and on the
fix right yes exactly and yeah and that’s what I kind of like
this dependency graph that you can see that I’m I’m good too so can you you
kind of alluded to this a little bit earlier but I who started it is that you
or was there other people involved in and starting the project well it was the
iPad project to start with and I had no idea that people evolved into something this big but you know recently it has
started gaining popularity especially up I made a similar presentation in the air
I would he be open source community pioneers forum as well and it has started picking up some momentum and oh
I think it is at a stage where it is mature enough for Siri to
you know consider using it integrating it into their existing enterprise tech stacks and I hope that through this and
I’ve just recently started you know seriously promoting or marketing this product I really had no idea if across
speak so I hope you know I can start growing a decent user base some of those
users may actually convert it to you know major contributors as well so so
far I have been kind of like the only developer for this project okay cool so I think we sort of covered
the question there who maintains the project then because it seems like it’s you and you’re alone at the moment doing
that which is incredible you’ve got a fantastic job at all by yourself but I guess Esther that’s a benefit of now
gaining users and growing the project is you’ll get more contributors as they start to flood in so you actually tell
us they’re just a little bit about sort of I guess what are the communities to
the users and the content because you know your income but like other contributors out there have have you had any interest from them and what
community manager the users come from
well I mean I guess that the first cohort of users is going to be a subset
of existing Arachne users themselves because this project runs on top of a
Ranga Davies so it will be will have to be a double hell for somebody who is not used to Arango DB or not used to drop it
at BCC so I think you know my first initial marketing at first so be concentrated on
getting some existing and I’m gonna be those who are already convinced about craft databases or at least the fitment
prop databases for their use case and on TV and get some of them to see the value
of prequel graph particularly for for those people who have a need for
retaining as well as query past versions of the data so I think I think that’s
what I’m going to start yeah I think building up this user base is challenging for any new project right
and you know building and trying that community and that inclusive
space so related to that do you have any DNI efforts that the project is working
on to try to bring in interpreters from lots of different backgrounds
um that’s kind of you know something that that’s yet to be seen so based on
whatever limited promotional efforts I have put in there is you know there are one or two you know serious enterprises
or you know trying this out you know working on integrating this into their stack as far as incubation efforts are
concerned well I think I need to get I need to show some demos remove traction
on this project if you know anybody would consider seriously incubating this I need to get you know more users I mean
getting get’em stars is is good but it’s just the first step to getting you know serious adoption see distraction I need
to show you know demonstrable and sizable user base may be more ghetto
contributors on board and then maybe incubation would be the next step
okay we thank you for sharing that it’s great to you know a little bit more about a project and we’re now actually
shift into the project demo sections so you will all get to see some of the cool features of recall graph and and how it
works so while I did she was getting set up we’d also like to take this opportunity to thank one side our
sponsor for sponsoring this episode of open source directions so Quan site creating value from data so when you’re
only a teacher take it away yeah just sharing my screen and if you don’t mind
let’s switch it off my video feed goes limited bandwidth I’m kind of like on ancient hardware so are you able to see
my screen here yes I think
okay I hope for a second know when you can okay alright so what you’re looking
at is the Arango TV web console and the reason why I’ve opened this office
there’s nothing particularly out of the
way as far as you know installing once you install recall that into and allow a TV database there’s nothing unusual
there’s no guru magic going on here you see a bunch of collections and there’s
the you know this there are date there’s some data inside these collections so the demo that I’m going to run here is a
very very simple case of searching for
flights between cities so this database has a bunch of cities this there’s a
bunch of flights all the flights have gone through multiple changes changes to
their price changes sometimes so their departure time and if what you’re
looking at right now is the latest version of the particular flight but you
know or every individual flight entity has a history that has been stored
somewhere in the background in South Dakota so to start with let me just run
a query to figure out to find out which particular flight entity has gone to the maximum changes this is once again done
saying one of Ricola graphs many let’s say aggregation aggregation based
queries which you can turn on the event log we see that a particular flight was
going by named six it’s all clogged up now that’s gone through ten different mutations so what I’m going to try next
is to try and fetch exchange log now the change log basically is similar to get
log in you know pastor you know last few changes that a particular subdirectory
or a particular file has gone through so what you see here is a bunch of
sequentially ordered events and I think these events would be ordered in ascending order of their time so we
start with the first event that signifies that the flight entity was created followed by a bunch of update
events and since the total number of events was 10 I guess there would be nine update events after the create
event now what I’m next going to do is I’m going to run this I’m going to
basically fetch successively older versions of this flight and what I’ll
try is if these of the state is additive tuned so that we can see for ourselves
what really and I’ve set up a few scripts and what is ready it biases so
the flight search it is not so you just
copy this paste this here and hopefully
we will see something has changed and some things are not so right so what we
have here is any line that is highlighted in red the basically
signifies a change and let’s also note that the flight ID is exactly the same
in all three different versions so I’m not really looking at different flight IDs it is the same document ID but
recall graph has managed to store all the historic revisions that this light is gone through most you know most
interesting of which would be that the price has gone through several changes so I believe the latest price entry is
107 US Dollars and all prices here are marked in u.s. dollars the latest entry is 107 US dollars but it had it was
priced at 232 dollars at some point of time in the past and before that it was priced at $324 so this is just an
example of how a recall graph can store and retrieve historic versions so
individual nodes these notes may be particles or edges so recall graph does not really distinguish between that
a second part of the demo would be and I I really don’t you know what to spend too much time on this covered bits of
this Jamo in one of my previous talks and I’ll share a link to that here let me just draw a try and run and open-ended traversal and see if I can
get some kind of work but Jesus refused
to load the visualization okay so here’s travel so such as for outgoing flights
from in the current database from Bangalore International Airport that are
just just file this at a different time
stamp and hopefully we will see some changes something I mean yeah so if you
compare it I mean if you kind of you know got a sense of how many outweigh flights were there in the previous query
and how many flights you’re seeing right now the number of flights has changed
and if we take a look at any one of these individual flights as I did just a while back in the demo some of the other
attribute for that change there as well so this is just a very simple and very
short example of how Oracle graph supports point in time look backs point
in time traversals there is also another part of the demo where and I show point in time mark shortest path queries so
I’ll just you know quickly go through it not from the demo as such we don’t have time for that so basically you want to
find the least expensive path between any two points and depending on what
point of time in the database you’re looking at you’ll have you’ll get a different result so recall graph you know really suppose
all of that and I really encourage viewers who have joined in to take a look at the previous presentation I have
made there and I’ve covered this demo local thoroughly so if you you know if
you guys are okay should I should I take some time to explain a
little bit about you know temporality you know the concepts of temporality as
applies to as they applied to databases for that okay so as far as so you know
firebase version control systems are concerned we only draft their revisions
as soon as we come in to change to a file that is the particular the time of the time at which we commit the change
that is the time from which that that particular division becomes effective but in case of databases that stew you
know real-world business data that one single commit time itself is not really
sufficient that particular commit time when brought into the database concept into the database context is referred to
as the transaction time it’s basically the time on the clock when the server
actually recalls a change in identity whether that change is a creation or an update or a deletion but there needs to
be another time dimension which is called valid time and basically we need
a different time dimension because the timer in is recorded may not be P may
not be equal to the time where that change was effective in the real world so let’s say for example you want to
import data from some legacy database into into a new database so the time in
which importing is actually in the future and the effective time for the legacy data is obviously sometime in the past it could also be the case that the
effective time is sometime in the future for example want to record a a particular employee being promoted or or
getting a raise preemptively but the effective date for that promotion or raise may be you know
a few weeks in the future maybe even a few months so in order for our database to fully capture the essence of both
aspects of time you know it uses two time dimensions one is transaction time
and one is valid time so fully on database that implements both these dimensions is called by temporal so
recall graph as of right now is not fully bitemporal it supports the transaction time data way transaction time dimension fully and I’m
working on making it fully bitemporal so that would help it address a lot more real world use cases but even as of
right now recall graph can work in so called real-time systems very in the tradition time and valid time can be
considered to be the same for all practical purposes so a few things about
recall graph it’s as I said you know it’s a Fox micro service that runs inside a tango TVs embedded v8 engine
and it supports point in time look box traversals and shortest path queries
point in time queries is just one class or one category of temporal queries and there are a lot more that are
particularly useful when you want to run analytics on your graph data when you’re
analyzing changes over an evolving network or changes to an evolving network over time point in time queries
are useful but there are several other kinds of temporal equation which is something I’ll get to next so recon
graph uses the Jason patch r6 9:02 specification for storing deltas between
Jason ripples successive Jason representations of a particular object and this makes it very efficient storage
wise because it does not store an entire copy of the object each time that object
is mutated there are periodic snapshots or taken on the event log so this helps
with efficient state cables because you don’t have to run the entire event log from the beginning to rebuild the state
of an object as of right now so there are periodic snapshots taken and you can take the nearest snapshot from the point
of time that you’re interested in and you can rebuild the entity by running
the event log forward as well as interpose and finally fairly relatively new you as new feature
that I’ve added to recall graph is that I’ve enabled distributed tracing support using the open tracing specification so
whenever you integrate recon graph into your application stack and your application stack uses open tracing you
can get really deep insights into the workings of Oracle grasper so a few more temporal Korra classes
have you know already gone through what point in time is about you basically show the state of an entity as of a
particular point in time T then there are other classes of the temporal query classes so one is a time interval you
where you specify a time interval and you’re interested in finding out all the objects which were alive throughout that
particular time interval there could also be a particular there could also be the inverse or the converse of this that
you’re given a bunch of objects and you want to find the first point in time
where all these objects came alive or the last or you know you want to find
the maximum possible interval during which all these objects had been the light and specifically for you know
graphed reversals there is something called a time respecting path what this means is and this is more to do with
valid time than transaction time in real in the real values cases this is no true bit when you’re traversing a graph every
time you cross an edge the next edge should have a valid time that is greater
than or equal to the validity end date of the previous edge this might be made
more clear clear through an example let’s say you’re planning your trip and there are connecting flights that you
want to take so obviously your second leg of the journey has to begin at a at
a time after the first leg of the journey ends otherwise you’ll miss your flight you’ll
miss your second flight so when you want to search let’s say of flights database
in a temporal context you want to actually travel time respective paths so
that every successive edge it becomes valid after the previous edge has lost
its validity this is you know this is a temporal query that is very very
specific to craft of ourselves these queries together like can you use point
in time with interval lookup or something like that Oh point in time with interval look
up well any combination like I just kind of chose to but can you like join some
of these queries together to do something kind of complex or is that
like in the future or what I mean let’s take an example you find a state
of the subgraph at a particular point in time and that that’s a point in time
query and let’s say you you next want to find out the maximum interval during
which this sub graph was going through a steady phase meaning that none of the entities that comprise this sub graph
have gone to any mutations so it is possible to combine these queries but they may just as well be fired in
sequence rather than having to combine them in any single query they may be fired one after the other
yeah I mean I just started exploring all temporal query classes and you know
depending on requirements and these comments particularly come from the analytics domain not so much from the
transactional or the enterprise domain yeah so any any tableau class any type
of query class that really serves a need for a large number of users it
definitely intend to it about that these are just a few of them cool thank you
for yeah explaining that it is it’s really cool to be able to see these queries and you know your example is a
nice sort of context for them so this is really nice ok well now we’re going to
move on to the roadmap discussion it’s another fun segment of this webinar where we’re going to talk about recall
graph and where it is heading and what kind of future direction it’ll be taking so with that a ditch can you please tell
us a little bit more about the directions that recall graph is heading right so because graph so far has been
built along the line and so for both controlled database basically it’s a
question cut resistant but for data but having come to the where I am right now I realize that
there is a lot of potential for it to become a really powerful tool for dynamic network analysis which is
basically the analysis of evolving networks so one of the big ticket items
on reckon grapple the is to make it fully bitemporal basically adds support
for pallet time following which there will be a bunch of no major and minor
performance and as mates basically make it work with woody big clusters the
reason why I haven’t supported a rangatira clusters here is that you can graph heavily relies on transactions
inside Arango DB and remedy itself hasn’t yet come out with support for more tea collection asset reductions
across clusters so you know as and when that comes up rico graph will also start to fully start supporting clusters then
there is also of course my idea is to
keep recall graph at its core always fully synchronous and fully or transactional but I could add a smart
proxy layer that I acts as a you know as a layer on top of Rico graph then I
could add a few more fancy features I could add access control lists I could add authentication and authorization I
could even add an asynchronous CQRS an even sourcing operation mode async bulk operations and things that I really
don’t want to build directly into Oracle graphs core but things that might you
know they they might still be useful for end users and of course going forward I want to add the most important temporal
query classes that would cater to analytics use cases because my vision
for recall Graham going forward is that it should not only be a useful tool abortion controlling data store for
enterprise you know transactional or you know OLTP
use cases but also a useful temporal analytics tool so whatever is required
in order to get it there including temporal query classes or maybe add a complex event processing module that’s
what I say recover of heading so what are some of the temporal query classes that you would want to implement
do you have any particular ones specifically that you are on your roadmap like first or are you kind of I
am also exploring and trying to figure out you know which particular temporal
query class would be the most useful to start with implementing implement first but I think there has been to some
extent some interest shown in the time point lookup but in given a bunch of
objects you want to find a point in time or maybe the maximum time interval during which all these objects for alive
or doing visually explore in the state so I think definitely our time display
the next things are the ones that I think would you know a large number of
use cases yeah I totally make sense to kind of focus towards large number of
use cases so you can build up your user base and then start kind of customizing some of your queries or build out
theories for maybe more nice use cases after that are there are there any
particular features that you’re like you have a very built out roadmap it sounds
like you’ve got a lot of really good things on the horizon are there particular features that you’re the most
excited about or anything in particular that you like you’re the most excited to
start working on I would say that the the very next feature that I want to
build would be implementation of valid time and I think it’s going to be really
challenging for me to get this thing working in a way that is easy to
understand easy to use and also bring it up to up to par with the other version
control craft database systems out there so that’s the first thing I want to do so there are fully bitemporal graph
databases out there and that’s the thing I want recalled by stone that about Rico they’re up to
took off the cross and it’s quite a challenge quite exciting also I had a
question for you actually related to this by temporal time things can you do queries on both time variables or or can
you only really work on one versus another absolutely you can work on you
can do queries on both time variables so you can say let’s say for example what
was the you know what was the price of this particular product item as it was
best known at a certain point of at a certain point of time in the past so you can you can specify both the transaction
you can do the transaction time point as well as the validity time point this
could be useful in a in a case where let’s say you have an e-commerce store and you have an upcoming flash sale you
want to basically mark down some of your own sale product prices in advance
creatively so you mark them down today but you don’t want them to be effective from today you want them to be effective
from the date of a class scene and you know until the flash sale arrives you might make a few changes to the product
prices until you you know really finalize come on come on to the finalized final portion of it let’s say
you make some changes today you make some changes tomorrow and then the day after tomorrow your sale begins after
the sale ends you kind of want to figure out what was the effective date of this
product price change as of 19th of June 2020 and then again what was the
effective date of the product price change and this effective date is the valid date and as of 20th of June it is
the transaction date so yes absolutely to answer your question you will have both time parameters both time dimension
parameters when you when we’re in your data the only limitation may be that
when you’re updating your data I may put
a restriction that you can only update the lead just versioned off your data rather than you know having the ability to go back
and change the past too much it’s difficult and confusing to comprehend as
well for the end-user I mean it’s easy to get lost into time to time dimensions they may not really have such a
requirement for such a complex such a complex and powerful feature so I might
keep things simple on that front but as
far as querying is concerned yes absolutely full time dimensions will be supported okay cool thank you thank you great yeah
it’s great with where the project is heading very very exciting and I can’t wait to see where it goes future so now we’re gonna answer a few
questions so we’ve got from the audience I’m gonna kick it off oh yeah sure let
me get everything up so can you tell us
what are some of the interesting use cases that you’ve seen for recoil graph I know that you’re a little bit in the
beginning stages but you know what are some of the interesting uses that you know about ah
generally to generally put it out there any scenario where your data is highly
interconnected meaning that it can be represented as a network or as a graph and also it is important for you to be
able to store and retrieve historic versions of your data so you’re not just
interested in your overall network state as of right now all not only the current state but you’re also interested in
historic data states so anywhere that you need version control over your
highly interconnected data is potential use case is a potential is where a
recall graph could be could the above fail just to put a few examples out there anywhere that you need to maintain
an audit trail you could build it you could use it probably social networks you could use it for building master
data management and for the duration management data pieces you know for as I explained in as I in my demo
you could build travel portals ecommerce source but apart from these you know
very common enterprise use cases you could also use it to maybe simulate
something fancy like railway signalling network and see how efficient see of track utilization changes as you change
your signal timing erase so you know you can do or you could turn a lot of interesting experiments that way so that
or in the analysis domain you could probably stimulate nuclear chain reactions and you know a position
you get new bunch of nuclei it’s and you want to you know store their relative concentrations as well as their
relations to you know the relations of every generation to its parent API so you know in chemical as well as nuclear
reactions I think you know look it up database might I don’t think it’s been used this way before oh but it just
might come in handy yeah just a question that I actually have is and you can see that using
blockchain technology at all record off
may be a good fit for blockchain but to be honest I really haven’t studied
blockchain and all that much detail to give really well-informed answer to this so just to be clear is your question
about should Hawaii considered using blockchain into building record off or bill using recover off of the duplicates
is it the policy okay okay yes well no
because I think I think block chains are meant for meant to serve a different
purpose it’s not really and really you know I I don’t come from a very informed
perspective on blockchain so I may be wrong about what I’m saying here but really to be able to query your data and
to be able to you know how to have a query parser to be able to write your
queries to be able to run traversal shortest path queries you know the typical things that I do on a graph not
sure if anybody has ever tried building graph query engine on top of a blockchain are not aware of fact such a
thing it has been done or even if it is doable so blockchain is kind of like an
immutable record that is kept over a distributed ledger and this is probably something that
something different because you have a lot of data that you want to very efficiently and very rapidly be able to quake again but lots of similarities
right I get where your question comes from people start contributing I mean
right now you’re basically the only maintainer and developer but let’s say somebody wants to get involved in the project what sort of things do you need
help with and what would be to get started working on the project I would
welcome Russian sin any form whatsoever but I also realized that – its jump directly into legal products core code
understand it and start making modifications to it maybe a bit of a stretch but there are a lot of other
ways there are some side projects that are built to support yoga for example the street racing that I mentioned I’ve
built you know module on this that also runs on a tiger ii b that helps collect the tracing data and push it to you know
different things right now I have support of support for Tate a dog and you know you to build build out open
tracing crabapple things so any kind so people can start on to building on those for these our code base is much simpler
and open tracing is you know it’s not as as a partial control graph data store
this is a telephone now you know it’s very well known out there you could help me out with testing people could help me
out with getting better coverage better code quality could help with the
documentation if somebody comes in and volunteer status correction sorry too
much capitation websites a mobile welcome so it’s a lot of ways in which people and I think at this one to find
the biggest contribution that you can the biggest way in which you can contribute to recall graph is to
actually just start using it I give me and give me your feedback right your feedback is the feedback is one of the
most important contributions I can get right now which to some extent you know some people have already started doing
and I’ve started making you know a lot of fixes a lot of improvements and
for getting out I’ve started understanding really what is what do users prioritize the most so I think you
know even if you just give me feedback on you know what you want take that as useful and welcome contribution awesome
yeah thank you too much answers questions that were very helpful and useful now it is time for our famous
rant and rave section where we each get a 15-second soapbox to basically ran to
rave about whatever topic so a teacher it’s your soapbox you’re at first ah well I have a rant here and that goes
by the name of the year 2020 I could
stop right here but you know personally in a bit of a tough for me because I had
to be away from my wife and Kate for over you know on at five months because
they kind of yeah for the whole Panama
Canal come after they had left for my in-laws place to spend maybe a we put
and that stretched out the theatre for five months and it is only now that you
know the algorithm stop abate and in a
yeah track and you know it’s not all all rant for me the good thing is you know
we’re all still healthy and people are starting to figure out we put the
pandemic and hopefully you know I I think so though there’s a vaccine that it’s in its third faith or stage of
clinical so going on so you may see walking back say and you know by the end
of this year so there is something there’s light of you know customer that’s taking Europe okay so mine is I
guess a nice building off of your branch so might as a rant and I have a
neighborhood email list so you know people say here’s some free stuff that
I’m getting rid of you can come get it at my front door but since the pandemic started everybody
in my neighborhood has I think maybe gotten bored and so I really am
I’m starting arguments on the neighborhood email list and so it’s turned into a chance
dumpster now I don’t use my neighborhood
email list as much walk it yeah it’s extremely tempting there’s definitely some people so I live in an
academic town and so there’s some people who may be our emeritus professors that have way too much time on their hands
and also enjoy arguing and so I’m learning that some people are you know a
trained to be trolls may be excellent or
terrible it’s actually very well well mine’s a little bit of a rave and it’s
gonna weed one this week but I thought just lately I’ve been thinking obviously we’re in a very tough time coronavirus
but also a lot of other things that are happening and I really have such faith in humanity to be able to bring about
change and positivity and I just sort of wanted to share how excited I was about the future because I think that while
things seem now that it couldn’t get worse I really do believe that we are sort of strong and we are more connected
than we’ve ever been and I think that that is going to put us in the best position and probably we could have even
been historically to come together and fight everything and make sure we get through this time so I thought that was
something I wanted to share it’s about
coronavirus but I said it’s clear that we have time for today thank you
everyone for listening and for watching you can find us on Twitter at open teams
Inc and at one site ai ai teacher where can people find you so I put some links
at the end of my slides and I hope you know once these ones is what this webinar is over my slides will be shared
along with the recording but in general people can find links to reach out to me on the project website which is category
called craft slash the call graph they can also reach out to me directly through email that’s webmaster at at the
Tomoko comm or they can even reach out to recall our gmail.com and you know there are a
lot of other ways to reach out they’re all listed in there they’re listed in the slides
it’s your after that and if you liked what you saw today then please do go to our YouTube channel and like and
subscribe to see more content like this we look forward to also you joining us for the next episode so please join us
for the next episode for a juicy discussion on Julia
[Music]