POPULARITY
Mental models are metaphors that help us understand complex problems we work on. They can be a simplified roadmap over an infinite area of complexity. How does one come up with mental models? How are they useful? Are they primarily a solo thing, or can they be used to communicate with the team? What happens when your model is inaccurate? Today, Joël is joined by Eebs Kobeissi, a Developer and Dev Manager at You Need a Budget, to discuss. This episode is brought to you by Airbrake (https://airbrake.io/?utm_campaign=Q3_2022%3A%20Bike%20Shed%20Podcast%20Ad&utm_source=Bike%20Shed&utm_medium=website). Visit Frictionless error monitoring and performance insight for your app stack. Eebs on Twitter (https://twitter.com/EebsKobeissi) You Need a Budget (https://www.youneedabudget.com/) Skill floors and skill ceilings (https://thoughtbot.com/blog/who-is-empowered-by-your-design) Transcript: JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. And today, I'm joined by Eebs Kobeissi, a Developer and Dev Manager at You Need a Budget. EEBS: Hi, Joël. It's really good to be here. JOËL: And together, we're here to share a little bit about what we've learned along the way. So, Eebs, what's new in your world? EEBS: Oh, a whole lot. I'm a new dad, so I'm getting to experience all those things. But in the developer world, I've recently picked up programming on an ESP32, which controls LED lights. And so I'm having fun lighting up my office. JOËL: Is that like one of those little microboards, kind of like a Raspberry Pi? EEBS: Yeah, exactly. It's a little board that's compatible with the Arduino IDE. And I literally only played with it last weekend, so it's still very new to me. JOËL: Nice. Have you done any Arduino development or Raspberry Pi or anything like that before? EEBS: No, I have a Raspberry Pi that I run like a DNS server on, but I haven't done any actual programming. I did make an LED blink, which is pretty cool. JOËL: What kind of programming is required for a board like that? EEBS: From my understanding, it's either in Python or C. Those are, I think, the two languages that you can program on it. I definitely do not know C. And so I'm just going through a bunch of tutorials and reading some sample code. But I think if I ever end up trying to implement something more complex, I'll probably switch over to Python because that's a little more familiar. JOËL: So the coding feels fairly high level even though you're writing controller code for LEDs. EEBS: I hope so. I'd love to be able to take advantage of whatever abstractions I can. JOËL: Do you have any fun goals you're trying to do with this? Or is this just for the fun of trying a completely different environment than web development? EEBS: No, it's actually rooted in something visual. So I have these shelves behind me that are in my webcam when I'm in meetings or whatever. And so I want to be able to put a light strip across these shelves and have some sort of visual thing in the background. JOËL: Like LED mood ring? EEBS: Yeah, kind of. My eventual goal would be that as I'm talking, a little equalizer display pops up behind me. I thought that would be pretty neat. JOËL: That is amazing. That will give you all of the cred in the meetings. EEBS: Right? I thought that'd be pretty cool. What have you been thinking about recently, Joël? JOËL: I've been submitting to the RubyConf call for proposals which, as of the recording of this episode, has just closed this week. And like many people, I submitted on the last day. EEBS: [laughs] JOËL: And it was really fun trying to take some ideas that I'm excited about and then turn them into a proposal that is accessible to other people. EEBS: Nice. Do you want to share a little bit about what the talk is, or is it under wraps for now? JOËL: I don't know if anyone on the committee will listen to this before the review goes out. This might break the anonymity of the proposal. EEBS: Oh, right, right. JOËL: One thing I will share that's interesting is that there are topics that I'm excited about. It's like, oh, here are a bunch of cool things about something, some technical topic. But talks that are just ten cool things about X are not that great. And so I needed to find some sort of unifying idea that I could use to share that. And that generally is in the form of trying to find a story that I can tell. What unifies all of these things together? What tells a compelling story? Is there some metaphor I can lean into? EEBS: Nice. I think that's a really powerful way of communicating something deeper is through telling something that people can relate to. JOËL: One way that thinking about metaphors has been really impactful for me recently is the idea of mental models and how those can help us in development. I'm curious; we've thrown around the phrase a little bit you and I in past conversations; what does a mental model mean to you? EEBS: I tend to be a visual thinker. And from talking to others, I've heard similar statements. So for me, a mental model is how I think about a particular domain or how I think about code flow or structure. And for me, it's usually either as two-dimensional objects or occasionally three-dimensional objects that I have floating in my visual space. So, for example, if we had two classes that are collaborators in some way, I often think of them maybe as two rectangles that are side by side. And when they interact, there's some little amorphous blob from one of those rectangles that reaches out into the other one or passes a message from one to the other. And I sort of have this idea of how many connections are there between these two physical things. Or, if I'm thinking about code flow and the path of execution that code might take, sometimes I visualize it as maybe a tree or potentially loops if there are such cases. JOËL: So when you think of these concepts, just in general, you're seeing in your mind's eye squares and rectangles floating in the air. EEBS: Yeah, pretty often. Sometimes it takes those shapes, and as I build up a mental model of some code, I'm usually adding new shapes into that picture I have in my mind. I tend to view things sort of top-down. So like, the start of code or the start of execution is usually at the top or maybe the far left or far right. And as execution happens, I usually view that as moving in towards the middle and potentially going back out when a response is returned. If it's a web request, something like that, I view it as this sort of outside in. And there's a bunch of pieces in there that are all talking to each other. JOËL: That's really cool. So not only is there a geometric aspect to it, but there's a spatial aspect to it as well. EEBS: Yeah. And it's interesting, like, I haven't actually thought about it [laughs] in this level of detail before. But yeah, there certainly is a spatial aspect to it. And I have this idea in my mind of like things and domain objects kind of belong at the bottom, and they should have well-defined boundaries. But the pieces that are a little bit towards the outer edges may be a little more fuzzy and may have less definition around them. JOËL: That's really interesting because I also have this sort of in my mind's eye see these things when I'm thinking about concepts like that. But I've talked to other people, and some people don't even have much of a mind's eye at all. They don't tend to visualize things in their mind in that way. EEBS: Yeah, it's really interesting how different people approach this thinking about code. A lot of people write things down. And I write things down, too, and draw little arrows that don't really make any sense. But it helps me do something physically sometimes as well as just thinking about it. JOËL: Have you ever tried to convert these pictures you see in your mind and actually draw them on paper? EEBS: Occasionally. And for the most part, that usually takes the form of some kind of domain modeling, whether it's based on database tables or just domain objects. And sometimes I will try and draw them out and then specify the relationships between them like, oh, you know, this one model talks to this other model in this particular way. And I'll define a relationship between them, which helps me think about them and how they interact. JOËL: I've found that even though for some things I can see it very vividly in my mind's eye, I struggle to then concretely translate that onto paper or digital paper if you will. It's almost like trying to, say, translate an emotion into words and that even though I feel like I see a visual picture, I can't reproduce it by drawing necessarily. EEBS: It's interesting you brought up feeling because a lot of the times, I have this gut feeling about a mental model, like whether I think it is correct or not. And sometimes I have this uneasy feeling of, like, that doesn't feel right to me, but it's hard to articulate why. And I think sometimes that's when I have to pull out something physical, start making those relations, start connecting things. And that's when I might uncover, like, oh, this feels odd because I have a circle here or a cycle or something. Or I've sort of represented the truth of something in two different places. Do you have any techniques for getting it out of your head and into something physical that you could share with someone else, maybe it's text or a picture? JOËL: I think I do struggle with that conversion sometimes. Practice definitely helps. I think maybe there is a metaphor here between converting these, let's call them, pictures that I see in my mind's eye and then drawing diagrams with trying to take feelings and expressing them in words. In the same way that, maybe I might have some feelings, and then I want to journal how I feel, and I struggle to express that. But finding a way to express that gives me a certain amount of precision and a more concrete thing. In the same way, these things that flash in front of my mind's eye, if I can take the time to put them on paper, they're now more real. They're more concrete. I think you can probe the edges, the ways that it kind of falls apart more easily. EEBS: Yeah, that makes a lot of sense. There's a lot of value in writing that down and going through those details in a methodical way because oftentimes, you'll catch inconsistencies, or you'll find better ways to describe it. And being able to share your mental model with someone else is often...well, it can be really tricky. And I think that's why it's important to go through and maybe find a common medium that you can share because I can't see into your brain. You can't see into mine. But if we can share our mental models, then hopefully, we have a better chance of agreeing on the solution or finding inconsistencies. JOËL: Exactly. I think, in many ways, there are almost multiple layers of mental models and that you might have an abstraction or a metaphor for a concept that you're working with separate from the diagram. And then the diagram is yet another metaphor, but now we're going geometric to represent a broader idea. EEBS: Yeah. Are there any other ways that you take that picture from your mind's eye besides written documents or conversations? Do you use any diagramming tools that specifically help with that? Or is it just kind of free-form? JOËL: I do a mix. I am a big fan of draw.io, which allows you to just free-hand or pull shapes together, things like that. There are some more structured tools that I will use. I'll use Mermaid.js. EEBS: Yeah, I've been using that a lot too. JOËL: Yeah, that's great. I've been digging into more structured diagrams recently, particularly the idea of graphs, directed graphs. And those have interesting properties. EEBS: Can you share a little more detail about what you mean? JOËL: So a graph in the computer science sense is a bunch of nodes. They are typically represented as circles and then edges which are the connections between them. A directed graph is now there's an arrow pointing in a particular direction. A really interesting property that you can have with directed graphs is whether or not they include cycles. So can you only by following the arrows effectively create a loop? Or will the arrows always lead you to some kind of terminal node? EEBS: Gotcha. Is that a directed acyclic graph? JOËL: If there are no cycles, yes, it is a directed acyclic graph or DAG, as you'll often see it abbreviated. EEBS: [laughs] How do you relate that graph to code? And what benefits do you get from expressing it that way? JOËL: So this shows up in a lot of places. And I'd even say that thinking of certain aspects of my code as a graph and a potentially directed acyclic graph is itself a mental model or a metaphor that helps bring clarity to the way I think about things. So, for example, code, you know, you invoke some main function at some point to call the code, and then that's going to call out some other functions, which call out some other functions, and so on. You may have heard that referred to as a call graph. But that is a graph of calls. There might be cycles in there for co-recursive functions and things like that. But that is one way you can then sift through and analyze how control flow or how logic flows through your application is through a function graph. You mentioned earlier the idea of objects and how they're connected to each other. That's an object graph. EEBS: Right. Recently, I had to work through a state transition problem where a customer has some billing, and they can go through many different states, whether it's active, or canceled, or past due, those sorts of things. And so actually, I reached for Mermaid.js and built a graph of, okay, they start here in this empty state. And then they subscribe, which then they become active. They might cancel their subscription, which moves them to a different state. And by listing out all the states and the transitions between them, it helped me to understand what methods I might need to define on which objects in order to allow those transitions to happen and what checks I might need to make before allowing those transitions depending on the state of the system. JOËL: I'm hearing the keywords states and transitions. And that's making me think of finite-state machines. Are you drawing a finite-state machine graph or something a bit more free-handed? EEBS: It's a bit more of free-handed. I don't think I've actually drawn out a state machine since college but just representing the different states as different boxes and the transitions that are possible from those states. I mean, I guess that kind of is a state machine in some way. So graphs are great visual approaches. Are there any non-visual approaches that you take? JOËL: That's a great question because not all mental models have to be visual. I think the power of a mental model exists in a metaphor. And one that's kind of broad but that I've applied to a lot of different areas is the general idea of something being parallel or in series. I think I first came across this concept talking about electric circuits. And are we talking about two little light bulbs that are in parallel, and if the electricity to one is cut, the other one still lights up? Or are they chained together in series? EEBS: Yeah, like my LEDs. JOËL: Exactly, going back to Arduino, but it can also be applied to a bunch of other things. We can talk about code being in parallel or in series. We can talk about work being in parallel or in series. Interestingly, I took that mental model as a sort of quick shortcut when I was digging into some functional programming ideas. Monads and applicatives are the fancy terms here. EEBS: Oh boy, I'm ready. JOËL: In general, and there's a hefty asterisk here, I think of monads as being serial, so you're chaining something; one thing happens, then another. So you can think of, for example, chaining promises in JavaScript, promise one, then promise two, as opposed to applicatives which are parallel. So you might think of maybe zipping two lists or two arrays in Ruby. The two arrays, there are no dependencies between the two of them. They get processed side by side as you're traversing both of them together. EEBS: Interesting. I've heard the term monad a lot, but I haven't heard the term applicative. Are there any other details you can share about them and what makes them different or how they might be seen in our code? JOËL: I think that the key difference is that distinction in how they're processed. Applicatives are a way of combining two independent, let's call them data sources, and then you find a way to combine them together. So it could be two independent arrays, and you're zipping through them. It might be two independent HTTP requests, and they can both fire in parallel. But then you want to combine their outputs. So you say wait until both are successful and then combine their output. EEBS: Oh, okay, gotcha. JOËL: It could even be nullable values. So you say do this thing if both values are present. But you're not...the value of one or the fact that one is null or not is not dependent on whether the other one is null or not. They're independently null or not as opposed to something...Monads are, again, a different way of combining. You might call them data sources or operations. But in this case, there is a clear dependency one, and then its output influences the next one. You might say check the value is null or present or not. And then, if it is present, take that value and then put it as the input of my next operation. And then, if it is null or not, do another thing. See, now you have a sort of chain. EEBS: Where do you see these chains happening in code? Or is it everywhere? JOËL: Once you know that pattern which, again, could be thought of as another mental model, you start seeing it everywhere. So promises in JavaScript chaining together that's effectively monads. Don't @ me, all the functional programming people. EEBS: [laughs] JOËL: I know that's not quite true. Anything dealing with multiple operations that could succeed or fail depending on, again, whether you're treating them as dependent or independent, that's probably going to look very similar to either monad or applicative. EEBS: So the first thing that actually comes to mind here is things like background jobs. Using Sidekiq or Resque or other job processors, you can have a queue of jobs that need to be executed, and they might need to run in serial, or potentially you have multiple workers pulling from a single queue, and thus the work is happening in parallel. Is that a reasonable analogy? JOËL: I think it's good for the serial versus parallel, but it's not necessarily a good analogy for understanding monads and applicatives. EEBS: Gotcha. JOËL: So with two workers, you can process a queue in parallel, and a bunch of things happen. EEBS: But there's not necessarily anything that is bringing those two workers together to produce a single output. JOËL: Yes. And there's no dependency between the tasks in the queue. EEBS: Right, right, gotcha. JOËL: So if you have a task that says execute this task and then only if this task succeeds, then do the second task, now you've created a dependency. And you couldn't process that in parallel because if task one, which has to be executed first, is executed by worker one, task two should not get processed unless task one is successful. You can't just say, oh, I've got another worker free. I haven't processed task two because it's waiting to know does task one succeed. EEBS: Right. So an example in code would be a user creates a new order. And when they create a new order, we send them a confirmation email. That would be an example of that happening in serial or a monad-like thing. [chuckle] JOËL: Yes, I found that thinking of things as serial or parallel is a good shortcut for thinking about monads and applicatives. I don't know that the reverse is necessarily true. They don't necessarily transfer one-to-one with each other. And maybe that's a danger of mental models, right? You find a mental model that describes a situation, and then you try to reverse it, and then you make false assumptions about the world. MID-ROLL AD: Debugging errors can be a developer's worst nightmare...but it doesn't have to be. Airbrake is an award-winning error monitoring, performance, and deployment tracking tool created by developers for developers that can actually help cut your debugging time in half. So why do developers love Airbrake? It has all of the information that web developers need to monitor their application - including error management, performance insights, and deploy tracking! Airbrake's debugging tool catches all of your project errors, intelligently groups them, and points you to the issue in the code so you can quickly fix the bug before customers are impacted. In addition to stellar error monitoring, Airbrake's lightweight APM helps developers to track the performance and availability of their application through metrics like HTTP requests, response times, error occurrences, and user satisfaction. Finally, Airbrake Deploy Tracking helps developers track trends, fix bad deploys, and improve code quality. Since 2008, Airbrake has been a staple in the Ruby community and has grown to cover all major programming languages. Airbrake seamlessly integrates with your favorite apps to include modern features like single sign-on and SDK-based installation. From testing to production, Airbrake notifiers have your back. Your time is valuable, so why waste it combing through logs, waiting for user reports, or retrofitting other tools to monitor your application? You literally have nothing to lose. Head on over to airbrake.io/try/bikeshed to create your FREE developer account today! JOËL: Another mental model that is not necessarily visual that I like actually comes from the video game community, and that's thinking of skill ceilings and skill floors. So in, I think, particularly the MOBA Community, that's a Multiplayer Online Battle Arena, they'll talk about characters as having a high skill floor or a low skill ceiling. And generally, what that means, and again, the meaning varies a little bit by community, is that a character with a low-skill floor is an easily accessible character. They might not have a lot of skill shots, like, you press a button, and things happen around your character. You don't need to aim, things like that. A high skill ceiling means that there's a lot of room for you to grow, and as you get more skilled, you can get significantly better with that character. EEBS: Gotcha. So the opportunity is greater with a higher skill ceiling. JOËL: Correct. And depending on how the character is set up, you might have a very narrow range that could be in the low range where it has a low skill floor and a low skill ceiling, which means that the character is easy to learn. But once you've learned it, there's not really a lot you can do with it. It's a fairly basic character. So getting better at the game is not necessarily going to make you that much more impactful. And then you could have one that's the opposite that is high both skill floor and skill ceiling where a character is very hard to learn. But once you learn it, that's kind of all there is to it. And then you might have one that has a large range somewhere; maybe it's easy to learn, but it's hard to master, or there's a lot of room for growth. And so, taking this framework for analyzing characters and video games, I think we can apply that to technology in general. This could be language design. This could be just API design. And you might say, well, I want this to be very accessible. People can jump in very easily. You might say I want this to be very powerful and have a lot of high-end features that make your power users very happy and very productive. EEBS: That's interesting. When you first were talking about it, I was actually less thinking about it from a user's perspective of what maybe they could do in the application but potentially from the standpoint of a developer writing the system itself. One of the pieces I always come back to in software development is that change is inevitable. And so, making something easy to change often pays great benefits down the road. And so I wonder how that fits into this idea of a low skill ceiling or a high skill ceiling in terms of perhaps flexibility or being decoupled such that you can take one idea and easily extend it or easily get more from it than you originally set out to build. JOËL: There's often a trade-off. So you make something easy to change. It's highly decoupled. But you maybe introduce more indirection to the system. So while it's easier to change one single piece, it's harder to understand the system as a whole. EEBS: Yeah, that's true. And sometimes, you bake in assumptions that you make about the future, which turn out not to be true. JOËL: [laughs] Yes, that is definitely something I'm guilty of. EEBS: I think we all are. JOËL: One thing that I find interesting is as you evolve the design of an architecture pattern, a system, a whole language, you might want to move one of those if I think of them like two independent sliders on a one-dimensional scale. So maybe you want to move the upper boundary a little bit and say I want a higher skill ceiling for this, but they don't actually move completely independently. So introducing some advanced features might inadvertently also raise the skill floor. And conversely, making the language super accessible so that it has a low-skill floor, you might have to decide I will not introduce certain features. EEBS: One thing I wanted to ask you about is, do you view different languages as having different skill floors and ceilings? And, you know, I love Ruby. I know you love Element. I've played with Element. It's been a great learning tool for me. How do you view those two languages in terms of skill ceilings and skill floors in terms of, I guess, what you can do with them? JOËL: That's a great question. And I think you can definitely apply that to languages. Admittedly, I think you could probably start a lot of flame wars with that. EEBS: [chuckles] Let's not do that. JOËL: I wrote an article a while back where I applied that mental model to look at the F# programming language. And there was a debate in that community about certain features to add and whether they would allow advanced programming but potentially at the cost of accessibility to newer members of the community and how to balance those. And so I thought, hey, let's throw this video game metaphor at the problem and talk about it through that lens. EEBS: That's really cool. Did you draw any conclusions, or was it as a way to start a conversation? JOËL: It is a way to start a conversation. I don't think there is a single correct or best distribution of your skill, ceiling, and floor. It has to match the goals you set out for your project. Just like in games, people love to rank which characters are best and not. And sometimes you can show that, in general, this character is better. But oftentimes, in a balanced game, you can talk about this character being easier to get started with or this character working very well if you're a pro. But the fact that you have a higher or lower skill ceiling or floor doesn't necessarily make the character better or worse. EEBS: So, this conversation about differing mental models, I think I hadn't realized that there can be so many different types of mental models. And some things that I do in my thinking I haven't classified as a mental model. But now that you bring it up, I think one that I think about fairly often is this idea of two objects that are collaborators and reaching into the internals of one of those objects from the other object. So A and B are two separate things. And if A reaches into B's bucket and messes with the state of B, I view that as sort of a bad practice. You're not really adhering to maybe the public API that that object is exposing. You're kind of reaching in and going around behind its back and changing some stuff that it may not expect. JOËL: Would you refer to that maybe as tight coupling? EEBS: Yeah, it's definitely tight coupling. It's not just tightly coupled; it's almost worse than that. It's almost like going behind somebody's back and making a change without them knowing. And so when I see that in code or when I write code that does that, I have this really intense desire to separate that and to say, no, no, you can't go in and update this record directly in the database. You have to send it a message and say, "Hey, I would like you to be aware of something," and then it goes and changes its own internal state as a response to that. And so I have this very vivid sort of mental feeling of it being wrong, of it being like, I'm being sneaky, or I'm not being gracious to the person I'm interacting with as though I were one of these objects. JOËL: That's fascinating. You've practically anthropomorphized these objects. EEBS: I do. I view them as little people. JOËL: You describe this interaction as going behind someone's back. That is the thing that I, a person, do to someone else. It's not a function making a direct call. And yet, it's such a strong...we use a social mental model to talk about objects and interactions. EEBS: Yeah, I almost want them to be friends. And I think that applies to real-life relationships, right? If you have a nice dialogue back and forth, there's an understanding. There's commonality that you can find. But if I were to go do something behind your back without chatting with you about it first, you might not be so happy with me. JOËL: I'd feel betrayed. EEBS: Right. JOËL: I feel like there's probably a really fun conference talk to be done about that. We often use that metaphor; I think when talking about objects sort of subconsciously but making it explicit and just being, hey, let's talk about these objects as if they were people. Why don't we want to do this? Because this one here is betraying the other object there. This one here is being impolite. EEBS: We could have two people get on stage and talk to each other. And I might then go and reach in your pocket and pull out some change without you knowing, and you might be upset with me. JOËL: That would be great. Get a little skit going up on stage. Or even if you're artistically inclined, you could probably draw some really fun little characters to illustrate this. EEBS: That would be really cool. I, unfortunately, don't have the artistic talent to do that. JOËL: Well, free conference talk idea to all listeners of the podcast. I expect to see this for RailsConf 2023, maybe. EEBS: I'll be looking for it. So I've shared a mental model that I didn't really know was a mental model. Are there other mental models that you want to share that I may not be thinking of? JOËL: Here's one that I've just come to realize recently that I'm actually quite excited about: when you think about the word refactoring, how would you describe that idea? EEBS: Well, refactoring to me is changing the implementation without changing the behavior. JOËL: Yes, I think that is the classical definition. You should be able to change the implementation of a method, and the tests without changing are still green after you've done that. EEBS: I guess, mentally, I think about that as perhaps drawing a box around some of the objects that are floating in my mind's eye, rearranging how they exist within that box, and then the box dissolves. And the tests still pass, but the structure of the objects or the code has changed in my mind. JOËL: I love that you immediately went to a visual approach there. And I think I have something similar, but I'm coming at it from a slightly more domain modeling perspective. So thinking maybe less from an individual method approach but looking at maybe a larger system, what you're trying to do is use code to describe some version of reality. So it might be a business process that you have. It might be trying to describe some aspect of your customer's life that you're trying to automate for them. Oftentimes, this thing you're trying to describe in code terms is going to be a simplification because life has a ton of edge cases, and many of them we don't care about. So if we go with a visual metaphor here, you're trying to draw some kind of shape using only straight lines to approximate some weird curve. And so, let's say you draw something with only four lines. It's really simple, how you have a diamond. That's the shape you're trying to create. And then you're going to fill it in with little other shapes that approximate a diamond. And those are your different models and functions and all the other components that we use to build software. At some point, your understanding of the underlying reality might change. Maybe you need more precision, or maybe the actual feature requirements have changed. The thing you're trying to approximate with your code is not a diamond. Maybe you've added a few more sides to it. It's a pentagon. So we've gone from four sides to five. And the little components, and modules, and things that you have there approximate that diamond work. They still mostly approximate your pentagon, but it's really clunky because the initial design was to approximate something else. They were really good for fitting in really tightly and being very loosely coupled to each other when we were trying to do a diamond, but then they don't work as well in the pentagon. EEBS: So maybe some of the internal shapes need to change or adjust to fill the space that the pentagon has now created. JOËL: To fill the space or maybe even just to fill it in a way that's less clunky. And so the idea here in this metaphor is that the reality we're targeting in software is always changing. And so the underlying reality changes, and so we're changing that shape that we're creating all the time. But also, we're getting more precision as we decide; oh, we care about this edge case now. We didn't in version one, and so as part of that, we're constantly having to take the modules that maybe were very well designed initially but then restructure them to fit the new requirements because now there's a fourth object coming in, and it's kind of clunky with our current configuration. EEBS: That's interesting. One of the first things that jumps to mind is that maybe there are better ways or worse ways to do that refactoring to fit that new shape. Do you think there's any truth to that in the sense that you might initially design a system that perfectly fits that diamond or very closely fits that diamond but then as it changes to a pentagon, do you need to simply add a new piece to fill in that empty space? Or do you need to restructure everything within the diamond now to fit the shape of the pentagon? JOËL: Oftentimes, you do need to restructure. And I think there's this wonderful little phrase from; I believe it's Kent Beck that says, "Make the change easy, and then make the easy change." EEBS: Yep. JOËL: And so, to me, that makes the change easy is that initial restructuring that you need to do of those first shapes so that you can finally bring in the new one. EEBS: Oh, that's a cool visual. I immediately can imagine the pieces in the pentagon moving around to make space for a new piece that you need to now bring in. And that movement of all those pieces can be really difficult. Have you ever played that game where it's a square, and you're trying to get a ship out of a port, but there's a whole bunch of other ships, and you can only move them left and right and up and down? And you can do that. And that's what I'm picturing right now is moving shapes within that pentagon to then make space for either a new shape or to allow a shape to escape that is no longer relevant. JOËL: I played a version of that that had cars, cars, and trucks. EEBS: Gotcha. Yeah, I think I played that too. JOËL: That would also be a fun conference talk, right? Like, start with that game as your initial metaphor. And then you use that as a way to talk about refactoring. EEBS: That would be really cool. JOËL: I would watch that talk. To anybody listening who wants to give that talk, I want to see you at RailsConf 2023. EEBS: [laughs] Are we just a talk factory now? [laughter] JOËL: I love talk ideas. Maybe this should become a segment. Just have Eebs come in for five minutes once a month and give us a talk idea. It could even be fun to see a talk idea that multiple people implemented differently. EEBS: That would be really cool, actually. I always get nervous about giving talks or being on podcasts like this one. I would love to be the person that gets to sit there and throw out random ideas and have other people fulfill my dreams. JOËL: Well, thank you so much, Eebs, for joining us to talk about mental models. And to all of our listeners, I'd love to hear about what mental models you find are helpful, and so please share them with us. On Twitter, you can reach us at @_bikeshed. EEBS: Thanks for having me, JOËL. This has been super fun. JOËL: And on that note, let's wrap up. The show notes for this episode can be found at bikeshed.fm. This show is produced and edited by Mandy Moore. If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. If you have any feedback, you can reach us at @_bikeshed or reach me at @joelquen on Twitter or at hosts@bikeshed.fm via email. Thank you so much for listening to The Bike Shed, and we'll see you next week. Byeeeeeee!!!!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.
Uno de los videojuegos gratuitos más populares dentro del género de estrategia en tiempo real conocido como Multiplayer Online Battle Arena o MOBA, distribuido por Valve a través de su servicio Steam. DOTA. Síguenos @sonoropodcast en todas las redes sociales.
Vamos falar desse universo que movimenta milhões de fãs e dinheiros! Como esse tipo de jogo movimenta o mercado dos e-sports, dos premios e, principalmente, dos jogadores. Então escolha seu Herói, ou campeão, ou seu personagem, prepare sua build, aperta o start e vem com a gente! Redes Sociais:
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #Strateg --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
I am into Online, and Table Top Role Playing Games, Multiplayer Online Battle Arena games, Strategy, and Simulation Games too. If you're enjoying the stream please like, subscribe, share, and comment? I would love to hear feedback. Check us out on both YouTube and Facebook. YouTube: Roger Hanson (Gaming With Infamous) https://www.youtube.com/channel/UCrBWpPBoaYlzSo6dP5Yu-vA Facebook: Franklin County Internet Society https://www.facebook.com/FranklinCountyInternetGamingSociety Check our podcast out too on any of these available platforms. Anchor https://anchor.fm/roger-hanson Breaker https://www.breaker.audio/roger-hanson Google Podcasts https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy9lNzUzZTVjL3BvZGNhc3QvcnNz Overcast https://overcast.fm/itunes1525023695/roger-hanson Pocket Casts https://pca.st/oikab2vw RadioPublic https://radiopublic.com/roger-hanson-WDVAJV Spotify https://open.spotify.com/show/491HEm7bbx4ccXvoJ4RZJh Support us on Patreon: https://www.patreon.com/rogerhanson1969 #ActionGame #Action #RolePlayingGames #RolePlaying #RPG #TableTopRolePlayingGame #ActionAdventure #StrategyGame --- Send in a voice message: https://anchor.fm/roger-hanson/message Support this podcast: https://anchor.fm/roger-hanson/support
In this episode we are joined by game developer and young entrepreneur — Robbie Singh (@robbiesingh93). Robbie's day job is at the esports betting start-up, Midnite, but in his free time he has co-founded Omeda Studios and is planning to take the Multiplayer Online Battle Arena video game genre by storm with the brand new Predecessor Game. Give this episode a listen to hear Robbie's tips for working at a start-up, managing a side hustle, finding the right team fit and his key to building a genuine network in your career. Follow us and find out more on our Instagram @makingitbigpodcast
Digital content is a part of our everyday life. Media and marketing is in almost everything we interact with, especially on social platforms. Almost each piece of shared content is a remake, recycled, or originated somewhere else (meme). Games also fall victim to this dilemma. Companies such as Nintendo and Activision re-introduce their own concepts with a new shiny label makes their content outdated compared to other smaller companies looking to break ground with hot or “new” concepts. We discuss our diverse opinions.
Sega and Sonic are a staple name in the video game industry for many people, especially our core gamers. The team is here to talk about Sonic’s new movie and how well it did at the box office. Additionally, we take a deeper dive into Sega as a company and discuss Sega’s current and future position in the gaming market.
Is it time for Nintendo to Switch it up? We’re here to discuss our point of view on Nintendo’s latest and greatest console. We’ll take a look at some of the reports and speculations about Nintendo’s current console and potential future console in the gaming market. Will the Switch adapt to the market or repeat the Wii U?
We discuss and debate one of the oldest video game companies in the industry: CAPCOM. Not only has Capcom influenced our gaming history, it is one of the companies we collectively love regardless of their business choices.
We discuss the video game industry and games coming out in 2020. We explore our predictions, rumors, wants and wishes for 2020. We also debate over which company will kill it in 2020. The team connects their personal lives with the products they love.
MrAdaminski and Phrog explore and chat about their current games they are obsessing over. We take a deeper dive into their lives and discover how they like to relax when the time is right.
MrAdaminski is no stranger to the NAMM expo in Anaheim, California, but this was BigCat’s first year attending the event. Half of our crew experienced this year's music merchant expo and they are both here to talk about their experiences at the show. Both had completely different reasons for why they attended, but both had a fantastic time - cue the music!
Activision Blizzard games are a staple name within the industry, and are especially known for games like Call of Duty and Diablo. They consistently produce entertaining games and always top sales charts across the globe. Take this journey with us as we discuss one of the most successful and controversial giants in the industry.
We explore the mystical industries of retail and service with Gedon17 and Phrog. We travel down memory lane as both gamers relive the nightmares from working at GameStop during the tough times and best of times. Along the way, we discover a bit more about Matt and what makes him tick. Prepare to relate!
We analyze the Game Awards 2019! The show launched 12/12/19 and it was very exciting! Listen to our reactions and thoughts on the 2019 award show!
Happy Holidays and a Happy New Year! Generations is taking a well-deserved break this week. Instead of a full episode, we are providing an update to our show with a few small announcements and a bright look into the near future. We're looking forward to sharing more!
We take a deeper dive into BigCats life and work as a marriage and family therapist. He shares what he is currently working on and passionate about. We discuss his integration of technology with Play Therapy. We find out what drives BigCat to do what he does best. And we hope you’ll learn something new along the way!
Negative reviews impact more than how a game sells. It impacts how other people perceive a product or service. As a social norm, consumers believe in reviews made by real people as a good judgment of a product or service which then influence buying habits. These reviews can also create a bandwagon effect, which can hurt a product or service’s credibility. The more people voice something is bad, the more people believe it is true.
The brothers, Jason and Adam talk about one of the video game companies they love most: Bethesda. We discuss current Bethesda games, future games and how the company has impacted our lives. We nerd semi-hard on topics relating to Elder Scrolls, Fallout, and Doom. Lastly, we debate what Bethesda is doing right and wrong. Take this journey with us as we explore Bethesda.
Google Stadia Launched November 19th, we’re here to review its launch. Currently, multiple features were not implemented during its launch or are not correctly working or missing; for example "Crowd Play." Stadia did deliver on some of what it promised but unfortunately lacks critical aspects which separatists itself from the competitors.
We have a casual talk about the holidays and the games that are coming out in a few months. We travel down memory lane as we relive why the holidays are a special time for us and our families.
We explore and discuss Gaming Addiction in a special two-part episode. We scrutinize published articles relating to Gaming Addiction. Online articles from; The Guardian, CBC.CA, and BBC. These hot issues surround an already controversial topic in the gaming industry. We have a very biased opinion regarding gaming addiction and it's loosely labeling of a mental disorder.
We explore and discuss Gaming Addiction in a special two-part episode. Gaming Addiction is a controversial topic not only for parents but for the gaming industry as well. Our group has an admittedly biased opinion regarding gaming addiction and it's labeling of a mental disorder. Embark on this quest with us as we discover the difference between hardcore gamers and a legitimate Gaming Addiction.
Video games have helped us train our cognitive and emotional skills which have spilled over into our personal lives such as work, family, and life in general. In this episode, we discuss the games which aided in developing our cognitive and emotional skills. This is currently a controversial topic in the mental health field. Some see the benefit in technological apps like breathing apps etc but are still coming to understand how games like smash brothers, first-person shooters, etc are therapeutic. The easy answer is that video games are rich in storytelling and metaphors which is how we help kids heal.
Do gamers prefer couch gaming with friends or do they want the online multiplayer experience? Do younger gamers know what couch co-op competitive play is and what it truly means? We explore the roots of our multiplayer gaming and how we experienced these fantastic games growing up, on the couch. Then we dive into how online multiplayer gaming has evolved into our lives and families' lives. As an exciting addition, we have a special guest appearance on the show, enter The Chaz. Enjoy!
We talk about the games that make our blood boil, make us say bad words, and punch carpet! That's right, we're talking about frustrating games that piss us off! We journey back to old school games such as Street Fighter 2 and recall current games like Call of Duty. We ponder about past and evaluate the present while connecting our emotional bonds with stressful and frustrating games.
We take a high-level view of the next generations of video game systems. Our predictions/wants for the next generation of gaming by each company which include: Google Stadia, Nintendo Switch - Pro, Playstation 5, Steam, Xbox Scarlet and others such as, Apple Arcade and Oculus Quest.
Michael aka BigCat, provides details on how he combines play therapy and technology for his clients during their therapy sessions. Each host discovers how play therapy can be used with their everyday life and family. We explore games as a mean of being therapeutic and how important playing games were to us growing up.
Introducing your hosts/gamers from oldest to youngest: Jason, Adam, Matt, and Michael. Our team covers a wide spectrum of gaming interests, but above all we're regular gamers just like you. We debate and explore the current issues of the gaming industry and how it relates to our lives.
Join the Acquired Limited Partner program! https://kimberlite.fm/acquired/ (works best on mobile) Ben & David cover the creation of the gaming world’s equivalent of the 70’s rock supergroup: the 2008 merger of Blizzard and Activision. We tell the story from the Blizzard perspective, tracing the history of one of the most innovative companies in the business from humble beginnings at the hands of UCLA undergrads, to surviving multiple acquisition rollups (including at one point being owned by the French national water company), to joining ultimately with Activision to form the largest gaming company in the world, all while inventing multiple game genres that define the industry as we know it today. Click here to take the 2017 Acquired Survey. It takes 5-10 minutes, and you may win a pair of AirPods (woo!) Topics covered include: Blizzard’s founding in 1991 as "Silicon & Synapse” by recent UCLA grads Allen Adham, Frank Pearce, and Mike Morhaime The team’s first projects making ports for other games, including Battle Chess on the Commodore 64 Early success on the Super Nintendo with Rock & Roll Racing and The Lost Vikings Origin of the Real-Time Strategy game genre (“RTS”) and Blizzard’s fist mega-hit, Warcraft Blizzard’s crazy corporate ownership changes over the years Development of further legendary game franchises like Diablo and Starcraft, along with sequels to Warcraft and the rise of the rise of player modding Emergence of the Multiplayer Online Battle Arena genre (“MOBA”) from the Warcraft III modding community, and its growth into one of the biggest sectors in the games and esports industries today Blizzard’s role in developing the concept of online gaming, from early hacks to play against friends to World of Warcraft and Massively Multiplayer Online Role-Playing Games (“MMORPG’s”) The 2008 merger with storied gaming company Activision Growth and success since the merger, including the launch of new game franchises Hearthstone, Heroes of the Storm and Overwatch The Carve Out: Ben: Dick Costolo on Vanity Fair’s Inside the Hive podcast David: Nellie and Joe's 100% Natural Key Lime Juice (tip: buy in bulk from Walmart/Jet) Sponsor: Thanks to Silicon Valley Bank for sponsoring this episode. If you'd like to learn more or start a banking relationship, you can get in touch with Shai Goldman here.
MOBA ou Multiplayer Online Battle Arena pertence a um mundo mega viciante dos games. Nessa edição do Projeto X Podcast, confiram Tenshi, Mugi, Jin, Lucas e Gisa comentando tudo sobre esse tema. Boa diversão a todos.
Double digits! We did it! This episode, we talk about a ton of things, including The Beginner's Guide, Pocket Mortys, Cloverfield, The Hateful Eight, Sex Criminals, and One-Punch Man. Also, stay tuned after the end music for a dozen minutes of Marshall complaining about the Apple Pencil and being wrong about adapters (check the post-show notes below). We had a blast discussing this stuff and hope you enjoy listening! If you do, we'd appreciate a rating on iTunes. If you'd like to chat, you can find us on Twitter at @vicarious_fm, or you can join our Slack team! Bryn Jackson is @uberbryn Joshua Sortino is @sortino Marshall Bock is @marshallbock ###Sponsor Hired is a free, no-obligation job search service. If you or someone you know is looking for a job in the software engineering or design field, check out Hired. Use our special link to get a $2,000 bonus when you sign up and accept a job, or get $1337 for a successful referral. Many thanks to Hired for sponsoring this week's show! ###Show Notes 3:29 - The Beginner's Guide 3:33 - The Stanley Parable 3:41 - Davey Wreden 6:56 - Impostor Syndrome 8:36 - Editor's Note: Here's the context. Marshall tweeted about never being 100% happy with his work, and Gabriel Valdivia sent a reply with a link to a video called THE GAP by Ira Glass. 9:16 - Editor's Note: Join the Vicarious channel on Slack for a chance to win a copy of The Beginner's Guide. 9:48 - Editor's Note: It's available on Mac and PC. 10:24 - Pocket Mortys 10:26 - Rick and Morty 11:26 - Pirates of the Pancreas 13:09 - Heroes of the Storm 13:17 - Editor's Note: MOBA stands for Multiplayer Online Battle Arena. 13:21 - League of Legends and DOTA 2 13:23 - Blizzard 13:28 - Hearthstone: Heroes of Warcraft and Magic: The Gathering 16:01 - Destiny engram stress balls 16:09 - Destiny 3D printed Ghost 16:40 - Editor's Note: Bryn is referencing some OCD shit Josh accomplished in the game Agar.io from last episode. 17:07 - Batman: Arkham Knight and Tomb Raider 17:35 - The Man in the High Castle and It's Always Sunny in Philadelphia 18:14 - Wade Boggs Told Charlie Day He Drank 107 Beers in a Day 18:27 - 10 Cloverfield Lane trailer 18:43 - All Trailers are the Same!!! 19:47 - Cloverfield 20:01 - The Cloverfield monster hidden in the DVD cover 20:17 - The Cloverfield monster 20:22 - Editor's Note: According to JJ Abrams, the monster is "...a baby. He's brand-new. He's confused, disoriented and irritable. And he's been down there in the water for thousands and thousands of years". 20:42 - TJ Miller 20:57 - TJ Miller at the Crunchies Awards 2015 21:13 - Transformers: Age of Extinction 21:22 - TJ Miller discusses working with Michael "Hitler" Bay on Transformers 4 21:51 - Editor's Note: For the record, Marshall loves that Bryn came up with "MichaeloBayniac." Genius. 22:12 - Deadpool 22:19 - 13 Hours: The Secret Soldiers of Benghazi 22:28 - Pain & Gain 22:51 - The Hateful Eight 23:01 - San Francisco | Alamo Drafthouse Cinema 24:24 - The Big Short and The Revenant 26:11 - Bruce Dern was in Nebraska with Will Forte 27:55 - Tim Roth 28:43 - Making a Murderer 28:51 - Serial and Undisclosed 37:36 - Daredevil 37:58 - Marvel TV Comments on "Punisher" Series Rumor 38:07 - Jon Bernthall 38:31 - Josh Hutcherson 39:08 - Watchmen: Graphic Novel vs. Movie comparison 39:22 - Man of Steel 39:42 - 300 39:49 - Legend of the Guardians: The Owls of Ga'Hoole and Sucker Punch 40:00 - Batman v Superman: Dawn of Justice 40:10 - The Justice League Part One 40:16 - The Game 40:27 - David Fincher 40:47 - Sex Criminals 41:28 - Sex Criminals Snatches a TV Deal 42:57 - Matt Fraction 43:45 - One-Punch Man 44:45 - Example of an awesome One-Punch Man fight 45:18 - Fullmetal Alchemist: Brotherhood 45:37 - The Sword of Shanarra novel series 45:46 - The Shanarra Chronicles TV series 45:49 - The Knack - My Sharona 45:54 - Game of Thrones 46:47 - Under the Dome 47:07 - *Editor's Note: Marshall is referencing how annoyingly critical the music website Pitchfork is. 47:47 - The Shawshank Redemption 47:55 - The Usual Suspects 47:59 - The Iron Giant ###Post-Show Notes 49:38 - Apple iPad Pro, Smart Keyboard, and Pencil 51:02 - Old-school elbow/overhead projector 52:36 - Procreate 53:35 - Lynda.com 53:47 - Pencil Unicorn 54:24 - Editor's Note: Marshall tried it. It doesn't work. 54:43 - Manettino dial 57:26 - Editor's Note: Marshall is an idiot, and realized after the recording that his Pencil came with a female-to-female Lightning adapter. Did we mention that Marshall is an idiot? 57:34 - Conductive wireless charging 57:44 - iPad Pro dots 58:30 - Pencil by 53 58:58 - Carpenter pencil 59:26 - Editor's Note: Again, Marshall is an idiot. This adapter DOES ship with the Pencil. He didn't notice due to the fact that he's an idiot. 59:31 - Alexa Grafera's Pencil charging dock
In case you've lived under a rock, the MOBA, or Multiplayer Online Battle Arena games, are all the rage right now. This was sort of news to both Graham and Will, who have never given these games the time of day. Well fret no longer! We dig in on League of Legends, DOTA2 and Heroes of the Storm. Do our intrepid hosts come out alive? Listen to find out.