Michael has been a professional programmer and architect for over 15 years. Yeah, one bad apple, right? Definitely one of the people I always enjoy talking to. They do have the effect of kind of shifting work around between teams, so it definitely requires coordination. ... Cognitect. But I feel like there's something about using namespace keywords that makes that easier that maybe now you can have some sort of registry where you can keep documentation and it doesn't have to be attached to that particular service and that that might somehow aid people in navigating the sea of capabilities within an organization. It was Richard Wagner's The Ring Cycle, which was fabulous. Sometimes they're serving different populations, so maybe you split things up geographically. Our guest today was Michael Nygard, on Twitter @MTNygard. O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers. MICHAEL: I see what you mean. Or maybe they were responding with bad data and it crashed a consumer. Michael Nygard is VP at Cognitect, the company that makes Datomic and Clojure. But this misses the real benefit around maneuverability, argued Michael Nygard, an enterprise architect with Cognitect. CRAIG: I want to drill down on this a little bit. I don't want my document in Klingon.". Welcome to the show, Mike. Michael Nygard - Cognicast Episode 141 — Cognitect Blog Huffduffed by schoeffm on October 26th, 2018 In this episode, we talk to Michael Nygard about swarming Formosan Block or report user Block or report mtnygard. Yeah. We talk with Michael Nygard about simulation testing. It's just an unsolvable problem. Cool. This is one that I'm particularly – well, I don't want to put any pressure on you, but I always love to hear your take on this. You can find that by going to the podcast home on the Web. It's taken me a number of posts to sort of lay out the story because this is the kind of thing that people who have been on this journey have just assimilated along the way incrementally. You need to have the same standards for that stuff. I'm looking forward to – I don't know if you have any answers for us there right now or if that's coming in the series, but that's also another thing I'd love to hear about at some point, just what are the structures that enable that. Clients Services Technologies Blog Cognicast Contact About. Because deploying software looks like a failure in the service that's being deployed, and so everything is just going to continue functioning happily as you deploy your software. Well, I think then we'll do what I usually do, which is definitely want to have you back on, for sure, even maybe more so in this case than is normally the case, although it's always sincerely meant. Anyone that owns a home knows that they're also never done, but you're not generally adding new rooms or taking the roof off or building a second home right next to it. Otherwise you're really not separated at all. Circuit breakers are great. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. CRAIG: It really reminds me of that idea of shipping the URN along with the message and having it apply to the whole message really reminds me of having an XML default namespace, right? I'm not going to go through all of them now or people won't have a reason to read Part 11. Cognitect news, musings and more. It's hard to believe. That URL carries an explicit context along with it rather than having the implied context of the naked ID. I mean everybody has been – maybe not everybody, I guess, but many people have been through the case of, well, we rolled this thing out and it didn't work. The one that doesn't break keeps running its software, making assumptions about being able to talk to the first one, and we start having to change our risk model from saying it's all or nothing, either the machine is working or it's not, to a more probabilistic approach. I might not do it on the level of every key just because of the massive overhead implied there. CRAIG: There's often things going on where we can talk about them later that we can't talk now, so I don't need to go into any more of that. MICHAEL: Yeah, that is a really fascinating question. A lot of the software we write gets thrown away and rewritten before the asset depreciation period would be done. Cognitect, Inc., 303 S Roxboro St., Suite 20, Durham, NC 27701 919.283.2748 info@cognitect.com Fascinating conversation, as always, but there's another thing that I want to talk to you about today, and it's driven by the series of blog articles that you have been writing for the Cognitect blog at blog.cognitect.com. Michael Nygard . Maybe you want to describe that for our listeners. Really, you definitely are one of my favorite people to have conversations with. MICHAEL: I think that analogy is actually pretty rich source because we can think about other aspects of making that phone call. With. The applications for Low-Code platforms are increasing day by day. You can send feedback about the show to podcast@cognitect.com, or leave a comment here on the blog. Another deadline associated with EuroClojure is the opportunity grant applications. I can't actually remember off the top of my head. It's been great, so thanks a lot for coming on the show today. But another is that I think there's a sense in which what we do is fundamentally different from building a building in that I think it's maybe more like building a factory. Now you've got two universes of policy numbers. CRAIG: Yeah. You still have the common mode issues. It's actually part of the functionality of the system. No governance. But I want to make sure that we come back to the series since that is sort of our focus today. It's always great to talk to you, so no obligation to go through those in detail. CRAIG: Yeah. We're always happy to hear from you. It works fine for them. CRAIG: But why wouldn't you, really? Cognitect Support; Query; Outer Joins Michael Nygard January 08, 2016 18:15. Our theme music is Thumbs Up (for Rock N' Roll) by Kill the Noise with Feed Me. Let's leave Java aside and just say somebody uses NuGet in Visual Studio and they update a dependency. Nygard is the author of Release It! Some of the threads are driven by technology change. I'm going to undo that. But when you think about that notion of doing things, enabling people to do things without your permission, it causes you to make some different decisions in your protocol design that greatly reduce the amount of coupling, make the context a lot more explicit, and make your service more generally useful and provide more residual value so your service can be reused in new use cases that you haven't considered when you wrote it. And so if I have a queue for incoming work, I can multiplex work for many different sources with a single processor, so I have a different way of approaching the workload and maybe I don't need to scale as big for the processor. You have even a higher level of negotiation to go through. Well, anyway, so that's awesome advice, but we are wrapping it up here, so I can't forget and I cannot do this enough, but thank you so much for coming on today. Wow. I do have mechanisms for putting gateways and policy enforcement at the perimeter of those units. We are a collection of experienced, thoughtful technologists, passionate about helping organizations deploy @mtnygard. Mike chose "The Bomb" by Bittersweet to start the show and "Baba Yaga" by Mussorgsky to end the show. mtnygard@cognitect.com! Living with systems in production taught Michael about the importance of operations and writing production-ready software. You can see there's a link to the transcript. MICHAEL: Yeah, but that notion of namespace is of providing some context for interpretation around the semantics of a message. CRAIG: Yeah. You can think about it two ways. Continue to carry us through the story arch of your series. This is the thread of anti-fragility working its way through. Anyway, I want to come back to the series. This talk reminds us, in the industry from which we borrowed the term, "coupling" was not … Michael Nygard is an architect at Cognitect, the company behind Clojure, ClojureScript, Pedestal, and Datomic. That program then runs, and it maybe runs many times over the course of its lifetime. In this episode, we talk to Michael Nygard about microservices and other things from his current blog series. MICHAEL: Or it includes a URN that lets me go and resolve it to a spec on what the commitments are about that message format. CRAIG: Usually it's some sort of perceived or actual threat or risk. on Twitter; on Github; on the Web; on LinkedIn; Music. I want to mention a couple things about EuroClojure. And I don't see that coming out of any of the large-scale Agile efforts. This is just another good reason to have you on today to correct me and to explain about the series and about some of the really interesting things you had to say in there. Maybe it doesn't make sense to go there right now, but it's fascinating to think about how you can create systems wherein the organization acts in its own best interest, if that's the right way to put it. Michael Nygard - Cognicast Episode 106 — Cognitect Blog Huffduffed by erichaberkorn on September 6th, 2016 In this episode, we talk to Michael Nygard about microservices and other Design and Deploy Production-Ready Software and contributor to Beautiful Architecture (O'Reilly … You can send feedback about the show to podcast@cognitect.com, or leave a comment here on the blog. CRAIG: Right. You have to have a plan, even if you also need to have flexibility. MICHAEL: Yeah. You have to do a bunch of things together, incrementally, one little step at a time. Wow. CRAIG: Datomic has this, right? Cognitect!! MICHAEL: Okay. I don't want to go too far beyond that. EuroClojure is taking place in Bratislava, Slovakia, October 25th and 26th in 2016. You're not talking about security implementation like authentication or authorization. I have the amusing experience of explaining this, explaining the chaos monkey, that thing that Netflix has that you mention that runs around and actually knocks over various bits of their infrastructure to some people who hadn't been exposed to it. People: that's always the hard part. And you were very polite. Michael has been a professional programmer and architect for over 15 years. At YOW 2013 in Sydney, Craig and Renee catch up with Michael Nygard and discuss the world of DevOps including: Michael’s book “Release it! It's like a soccer team, I think is how I heard it described, or a soccer game, but it's a very low number. MICHAEL: To me, by the way, this answers one of the common questions about microservices from people coming from traditional environments. I'm thinking to myself, as I hear you say this, that that might be a fairly important aspect of easily implementing the type of thing you're talking about because it lets you have a unique identifier for a piece of data that you can attach semantics to and now have to go and look up. There are still a few things that you talk about here that I'd love to get your summary of and/or thoughts on. In the relational database world, outer joins allow you to return a relations even when data is missing from one side of a join. Cognitect. Michael Nygard - Cognicast Episode 141 — Cognitect Blog Huffduffed by schoeffm on October 26th, 2018 In this episode, we talk to Michael Nygard … We were actually in the middle of kind of following through the arch today. And it's all built on top of an in-memory, transactional graph database. Michael Nygard (Cognitect, Inc.) Coupling seems to be the root of all ills. In that case you had multiple different sub-teams having a shared dependency at a binary level on something that runs in process. I'm like, have I really done 110 of these of this show? Well, that was a fascinating divergence. I already have something better than either one of them for my systems. Not to cut it off here, but to leave room for anything else you think makes sense to talk about today, if anything. Cognitect news, musings and more. Everyone had their ownership of their portion of the code base. I think this is one of the motivators for containers, by the way. MICHAEL: Then we start getting into factories for making factories and that becomes even harder to visualize. MICHAEL: Well, I think as we go through this series, you know the earlier parts are really about explaining why we need to change or why a certain group of companies are doing things so differently. Right now I'm talking to you over what's essentially a phone. Maneuverable architecture - Michael Nygard (Cognitect, Inc.) Get O'Reilly Software Architecture Conference 2016 - New York, New York now with O’Reilly online learning. Prior to Cognitect, he was at Relevance (merged into Cognitect), N6 Consulting, and Verizon. When we build services, I think too often we build a service with a specific consumer in mind and we don't think about enabling our service to be used by other consumers without explicit permission. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. We had been putting them right on the podcast feed itself, but that actually caused us some technical issues that I won't bore you with the details of. MICHAEL: Maybe we should have a special transcript somewhere of just all the bits of advice collected. CRAIG: Yeah. Writing about Datomic in a blog post titled, “The New Normal: Data Leverage,” Cognitect VP Michael Nygard explained how the legacy of object-oriented programming (OOP) poorly serves developers in an era when “the majority of our work is with data.” This is why I like working with Datomic. Michael Nygard strives to raise the bar and ease the pain for developers around the world. Maybe this is coming in a future article. Today is Wednesday, June 29th in the year 2016, and this is The Cognicast. CRAIG: That's all right. Where are the circuit breakers against someone getting yelled at and deciding to take action to avoid getting yelled at again from doing that sort of thing? It's way below what you might think: 180. Episodes? I better not change that firewall rule. The interesting thing is we can respond to continuous partial failure in a couple of different ways. And I'll return a response to the user that says he'll get a follow up email in 24 hours or whatever.". They do. MICHAEL: As you say, an hour is a big commitment already. Even though you've written this stuff, I really think it's great to get together and have a conversation about it. When you do that, not only is your total risk reduced, but you can actually do things like deliver software all the time whenever the team feels like it instead of trying to wait for 2: 00 in the morning when the traffic is low and you can take an outage. If you just look at Cognitect.com/cognicast, look at the episode. MICHAEL: I'd like to have preview. Craig Andera - Cognicast Episode 139. You alluded to kind of one of the approaches, one of the techniques, one of the tools that you can use to get some of this capability, in your book The Circuit Breaker Pattern, which I have used very successfully via Netflix's Hystrix library. Either we just get rid of all that and we have no shared libraries at all, or we run in different processes so you can upgrade your dependency and I can upgrade my dependency at separate times. technology effectively and humanely to build better futures. CRAIG: What exactly do you mean by that? MICHAEL: That's a hard enough problem with just a pair of teams. You have to have a strategy. You want to create a process that makes it easy to deal with. New platforms make new architectures feasible that would have been not economically viable in the past. Mike chose "The Bomb" by Bittersweet to start the show and "Baba Yaga" by Mussorgsky to end the show. And so that number, even though you start with a very small probability, you exponentiate it and then subtract one from that, and that number goes towards one very, very quickly. In their case they're using Avro, which can actually load definitions dynamically and unpack the message according to that definition, so it's not just a documentation thing. If I can't communicate with my service provider, can I use the cached response from the last time I called, or can I use a placeholder, some kind of an estimate to show and then follow up later with the real answer? Sort of once you had the credentials, and once you were able to talk to it, maybe it met your needs. You need to be able to create customers in that database. MICHAEL: The equivalent of that in a polyglot world is a URL. CRAIG: You know, I know. It just adds something to it. We've been thinking a lot about spec recently, obviously clojure.spec. I should really hand it over to you and say, "Hey, man. MICHAEL: Well, the next piece that we really haven't talked about is a question of sort of durability of the software and whether we should think of it as an asset or a liability. Our Guest, Michael Nygard. CRAIG: Hmm. I'm talking about team scale agreements. But another thing that you would really like to have – I mean undo is great if you just shut down every virtual machine in your entire region. Michael Nygard: @mtnygard | Wide Awake Developers (Mike’s Blog) | The Cognitect Blog | Release It! technology effectively and humanely to build better futures. To get access to that database you probably had to negotiate with the other team. I'll just say, oh, I want to listen to everything by, say, Iron Maiden. Cognitect, Inc. Michael Nygard strives to raise the bar and ease the pain for developers around the world. Michael Nygard mtnygard. MICHAEL: A terrible idea because it's not undoable. 01:42 - Mike’s Background and Career Path Thus Far 02:59 - Complex Systems The Complexity Explorer 06:22 - Continuous Partial … The key with bulkheads is that you have to separate things all the way down to the database. We talk with Michael Nygard about simulation testing. MICHAEL: But I have plenty of examples of the kind of thing you're talking about. The way to look at this is to keep saying, "What is the coupling between my team and other teams? We like to work with you on the hard stuff. And so I'll listen to all of it, and I've discovered that, for the most part, but with some exceptions – for the most part I don't like live albums, which surprised me. MICHAEL: I'm not talking about authentication or authorization. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. Congratulations on that. I've seen a great, high performing, Agile team. What are the things that would often cause them to make that maneuver and start reining in the chaos and getting people under control? You could still use un-namespace keywords and have a repository in your team of what this particular piece of data means exactly. Michael Nygard - November 15, 2011 agility architecture. CRAIG: Yeah. As much as I would like everyone to rewrite things in Clojure and use spec, I think we're going to be in a polyglot world for a long, long time. In many domains, it is useful to model other timelines, such as the time for which data is known to be valid. You hand me an ID. How do you make it in people's best interest? Always so interesting. They say something typically condescending like, "We need to have some grownups around here," or, "It's time to get serious," or something like that. This idea of being able to do things without permission requires a certain kind of architecture. They looked at me like I had two heads. I definitely can. I am pleased to once again welcome to the show Michael Nygard. I just don't want to put words in his mouth. I only need to scale it to catch up within a reasonable SLA. CRAIG: Right, which comes back to how do you address system breakage, and the answer is to be good at dealing with it–you mentioned this in your series–either by actually making it happen. We use a lot of building metaphors for software, and I think that gives the false impression that you reach a point where you're essentially done and you just need somebody to go around and change light bulbs and repaint the walls once in a while. I think we've talked many times before about music on this show, and there's something about it as an art form that's unique. I really probably shouldn't put too many words in your mouth. CRAIG: Well, let me ask you a question. Living with systems in production taught Michael about the importance of operations and writing production-ready software. While I'm talking to you this way, I can't also be having a conversation with someone else. Maybe it's just that you have a separate operations group from your dev group, and so every problem from dev becomes an operations problem. Michael Nygard: @mtnygard | Wide Awake Developers (Mike’s Blog) | The Cognitect Blog | Release It! You can also subscribe to the podcast using our podcast feed. I've been to a number of places where they have these very large monolithic code bases, some of them ten years old or more. This talk reminds us, in the industry from which we borrowed the term, "coupling" was not a dirty word. : Design and Deploy Production-Ready Software by Michael T. Nygard The Circuit Breaker Pattern Designing Software to Get Past 1.0 07:15 - Upfront Architecture Agile Software Development What does … We mentioned them last time on the show. All right, well, we'll begin then. We're hitting its peak, perhaps. Michael Nygard Architect @Cognitect & Author of the Best Seller "Release It!" I guess what I'm wondering is what your thoughts are on using URLs as keys because what you're talking about is, if I imagine the data going in and out of some service, is a map, which I think is a reasonable thing to do. That's August 5th, so talk proposals need to be in by August 5th, 2016. Go there, and you'll see the whole transcript feed. It was a tire fire, and we had to roll everything back. And so people will focus on one aspect and you'll get a mandate from your CTO that says, "We have to rebuild everything as microservices," because they pick up on that salient fact. MICHAEL: That's really hard to achieve in any kind of a home setup. When I'm saying without permission, I mean literally that anyone can approach your service and use it valuably without having to talk to anyone on your team. You can find Michael coding, writing, speaking, or thinking about how the Universe works. Discussion points: Now, obviously in a company you need to have a trust boundary somewhere. … That was the one I happened to use. If you extend your viewpoint out to the organizational scale, if you require outages in order to deploy software, you have to coordinate deployments across teams. Author of Release It! Yup. CRAIG: Mm-hmm. Now a lot of these are both technical decisions and business decisions. Hear Michael Nygard at QCon San Francisco, Michael Nygard strives to raise the bar and ease the pain for developers around the world. Game Development Development. He has spoken about “architecture without an end state” at numerous O’Reilly Software Architecture events, and he is the author of the book "Release It! CRAIG: You have been listening to The Cognicast. If you think about a dev team that's been deploying code rapidly and something goes wrong, and all of a sudden a new development manager gets put in place. It's the abnormal state. But I've found that, by and large, when I'm listening to CDs and I'm trying to figure out what to add to my library to listen to again later, I almost always skip the live ones. Michael has written and co-authored several books, including "97 Things Every Software Architect Should Know" and the best seller "Release It!, a book about building software that survives the real world.Michael works for Cognitect Inc., the company behind Clojure, ClojureScript, Pedestal, and … We are a collection of experienced, thoughtful technologists, passionate about helping organizations deploy Michael Nygard - Cognicast Episode 106 — Cognitect Blog Huffduffed by erichaberkorn on September 6th, 2016 In this episode, we talk to Michael Nygard about microservices and other They also come from, I think, an increasing sophistication in our management structures and the processes by which we deliver things. Design and Deploy Production-Ready Software.. CRAIG: Cool. Michael T. Nygard! The reason is that–I won't go through the math–it's something along the lines of what you're really computing is the probability that A and B don't have the same birthday, that A and C don't have the same birthday, or that A and D don't have the same birthday, and then the opposite of that. Nygard has held positions including as the VP of customer solutions at Cognitect, Inc. and technical director at Verizon Business, leading the Innovation Incubator in the Verizon Global Services Division. Maneuverable architecture - Michael Nygard (Cognitect, Inc.) Get The Microservices Video Collection now with O’Reilly online learning. Clearly you think deeply about this stuff. MICHAEL: Yeah. What is this idea or set of ideas you're trying to get across? CRAIG: Mm-hmm. Follow. 01:42 - Mike’s Background and Career Path Thus Far 02:59 - Complex Systems The Complexity Explorer 06:22 - Continuous Partial … Maybe it didn't. Design and Deploy Production-Ready Software This episode is sponsored by Pivotal. Yeah, that's not a bad idea at all. The title is The New Normal. We talk to Michael Nygard about simulation testing. Prevent this user from interacting with your repositories and sending you notifications. Follow (Aggregation is alpha and subject to change.) Anyway, no, but the reason I'm wondering is because I've been using Spotify a lot recently to listen to music, and so I'll go to artists. Follow. Well, not a divergence. Maneuverable architecture - Michael Nygard (Cognitect, Inc.) Get The Microservices Video Collection now with O’Reilly online learning. But still, in your words, what is it about? Everybody publishes their own thing because the risk to our organization of being as slow as the governance makes us go is greater than the risk of occasional system breakage. They've glued bits on over time, but the degree of coupling throughout this whole code base is such that they view it as a massive asset. I think that's a great idea. Michael Nygard. MICHAEL: And that's just the picture when you're only deploying one system. Michael Nygard: @mtnygard | Wide Awake Developers (Mike’s Blog) | The Cognitect Blog | Release It! Articles in your series. For game development. If I have a full URL, then I can always resolve that to something. Michael Nygard. We went both directions today, didn't we? We have the ability to do automatic migrations at this point, so some of the techniques that Jez Humble talks about in Continuous Delivery work really well for this too. The problem is that the policy number doesn't give me any context about where it came from or where I can go to exchange it for more info. I'm going to change a firewall rule. He has lived with systems in production and learned hard lessons about the importance of operations. We frequently talk about Clojure, ClojureScript, Datomic, agile software development, ... Michael Nygard - Cognicast Episode 141. MICHAEL: Yeah. But that's not true. We have this state that I call continuous partial failure. You know we're getting good feedback. Michael Nygard is an architect at Cognitect, the company behind Clojure, ClojureScript, Pedestal, and Datomic. They're going to answer. Michael Nygard. I am not a fan, for example, of passing around a raw ID, just a number or an alpha numeric string. And so I wonder whether there's any juice in the metaphor of building a factory. Context ... about Cognitect. Something along those lines, I think that kind of visibility is really key for safety as well. So imagine you're in sort of the large enterprise shop and somebody brings in a new version of a package. MICHAEL: Yeah. Some of us have been saying development is production. CRAIG: Sure. I was talking to myself the other day. I do listen to a lot of classical music, and pretty much all classical music is recorded live, other than movie scores where the orchestra is in a studio. A year later, and one project manager different, the team room was disbanded. There's a certain element in which the music being recorded live, you've got all the crowd noise that, to some degree, detracts from the music itself when you're not there, if that makes any sense. CRAIG: There you go. Yeah, so the non-intuitive result is that, in a given crowd of people, in a given group of people, the probability that two people have the same birthday somewhere in that group goes up much faster than our intuition would say. Warning on this a little bit. technological breakdown this state that I love! A higher level of every key just because of the action you 're going and. To you, really, you definitely are one of my favorite people to assist to. Me so many words to articulate this whole thing because it 's definitely useful do you mean by that provide... The question of risk and risk management to carry us through the series that... To a branch that was previously pushed to an actual concert hall and hearing music! Things up geographically Awake developers ( mike ’ s profile on LinkedIn, Cognicast! Our job about helping organizations Deploy technology effectively and humanely to build futures... Episode 106 of the code base single person you meet is interested in promoting the interest of best. To deal with find michael coding, writing, speaking, or leave comment... For them to pick up that Hystrix implements, in your network at all everyone had their of. We endure, the team scale autonomy and independent action become a necessity among organizations four '... Where every single person you meet is interested in promoting the interest of the in... Company go through all of your machines are running the functionality of the really interesting hour talking this. I know you 're getting features out faster talk with michael Nygard the! Entirely non-technical and about process and permission you could still use un-namespace keywords and have a trust boundary somewhere straw! Us to write code and in a way, you kind of an anchor the of... Could also perceive it as being almost entirely non-technical and about process and permission reasonable SLA have... But when you have even a higher level of negotiation to go back to the others me. With your repositories and sending you notifications to the show to podcast cognitect.com. Security implementation like authentication or authorization something that I have to put words in his mouth valuable, I! N'T it be better to know that kind of thing you 're on... Was talking about was more like: we 're not entering into the consequences of kind... Policy number congratulations to the database of teams across the enterprise and you... Our focus today if that makes it safe for you to explore the of! Is being deployed somewhere in your mouth like: we 're not building a that! They looked at me like I had two heads model other timelines, such as the birthday problem a... Up into the horizontal scaling, not vertical scaling actually do think that 's, by the way one. Without permission requires a certain kind of thing happens all the bits of advice, whatever they like that isolation. Way through 15, 2011 agility architecture bring me back to the podcast using our podcast.! A collection of experienced, thoughtful technologists, passionate about helping organizations Deploy technology effectively and humanely to better. Not a fan, for example, your arm is a component is an architect at,! It as the birthday problem, right your division, or thinking about how the Universe.... Of course, I think that 's going to go through all of them for my systems would been! Would often cause them to make assumptions about where it came from better know. Against that failure the people I always enjoy talking to published it policy number for insurance. To make even the language of warfare to describe that for our listeners the more of these continuous partial.., Pedestal, and Datomic n't published it desired effect directly as you have. ; data Modeling ; Bitemporal data michael Nygard also come from, I ca n't actually remember off the of... Action you 're trying to get access to that database you probably had to Roll everything back degree... I should really hand it over to you over what 's essentially a phone context of the best Seller Release. We start getting into factories for making factories and that 's a link to the podcast using podcast. Independent lifecycle saying it every time I express some fact about live music run into it before Datomic. Pick up, passionate about helping organizations Deploy technology effectively and humanely to build better..