Coding Blocks - Programmer Questions and Answers

Episode Date: October 26, 2014

We’re very excited about ASP.NET vNext, we’ve never been seen together, and a cute little ninja was MEAN to Allen. All that and more in this week’s episode where we attempt to answer some ques...tions.

Transcript
Discussion (0)
Starting point is 00:00:00 Why do Java programmers wear glasses? So they can find the classes. Because they don't see sharp. Ah, nice. And with that, you're listening to Coding Blocks, episode 18. Subscribe to us and leave us a review on iTunes, Stitcher, and more using your favorite podcast app. And go to the site at codingblocks.net where you can find stuff like show notes, examples, and great comments. Send your feedback, questions, and rants to comments at codingblocks.net where you can find stuff like show notes examples and great comments send your feedback questions and rants to comments at coding blocks.net and follow us on twitter
Starting point is 00:00:29 at coding blocks or head to www.codingblocks.net and you can find our social links at the top of the page and with that welcome to coding blocks i'm alan underwood i'm joe zach and i'm michael outlaw and today uh we've got some news for you. So first off we went to, all three of us actually made it out to a meetup which never happens, but we actually, not at the same time, yeah. Right. So we went to this. How do you know we're not the same person? That's right. We've never been seen before at the same, when we went in place at the same time. So I'm Superman, which one of you guys is Clark Kent? I guess I'd have to be me. All right.
Starting point is 00:01:06 Well, anyway, it was a meetup on ASP VNEXT, and it was a great topic, and the speaker was actually really phenomenal. And his Twitter name is JeffA00, so you should go follow him. We'll have a link in the show notes, but we'll also have a link to the actual meetup. But I was really amazed at all the things
Starting point is 00:01:22 that are coming down the pipe, not just with ASP, but kind of the the overall kind of vision is really interesting and it almost seems like Microsoft is moving towards a more um pluggable kind of platform agnostic kind of open web thing I thought that looked really interesting and it it was a great presentation. I mean, how awesome is it going to be to write your C Sharp app and run it on Linux? I would love that. That's going to be fantastic. Yeah, we talked about the hosting being cheaper for Linux and that being kind of a barrier in our last episode. Actually, that's this episode, but, you know. but yeah i mean it seems like they're trying to draw more people into user development tools and
Starting point is 00:02:08 get them hooked into the microsoft world as far as productivity but then open it up so that you can deploy it anywhere right so that that was i'm totally stoked about this i can't wait it sounds awesome i love the fact that it say what you will about a lot of things out there, but I love the fact that things like Node.js and these technologies that exist are pushing companies to start thinking a little bit differently about their products, right? Yeah, and how about Visual Studio possibly bundling Node.js up inside it? That's pretty interesting. I know WebEssentials does that sort of thing for running some of those, you know, less files and whatnot. But the thing about actually shipping is...
Starting point is 00:02:47 What's that? It's no comment. But along those lines, I think we'll probably just dedicate a show to this stuff, right? I mean, there was a ton of information about ASP Vite Next. Yeah, I definitely would like to take
Starting point is 00:03:04 a deeper dive into that. Yeah. So on another note, so I'm feeling mean. This is the topic I put in there. Last night I decided to – Somebody treat you bad? Somebody make you sad? Maybe.
Starting point is 00:03:22 So last night I decided to sit down after the last uh show where we were talking about different technology stacks and going against all the sound advice that you guys gave me to use stuff that i'm familiar with i decided to try and set up a mean stack which if you haven't heard of it it's mongodb uh express js angular js and node js so it's basically i don't know js sounds like a whole lot of javascript it's a lot of javascript and here's what here's what was in this this is where things get frustrating just about always when you're dealing with linux right so i've got a i've got a linux vm running on my mac box so i'm running ubuntu uh 1404 and i'm so glad you specified that i was gonna ask if you get if you go to mean.io on the website it's got this nice little thing it's like
Starting point is 00:04:14 hey all you got to do is this right and you'll be up and running oh yeah go do anything on linux and see if it's as simple as they try and tell you. Right? Like, I was frustrated. So now we're going to hate on Linux? Hold on now. No, no, but here's the thing, right? Like, as I mentioned, like, cost is always a factor. So I was like, hey, I like JavaScript. I'm going to go ahead and do this on Linux. Dude, how difficult could mean be, man?
Starting point is 00:04:35 It's got a cute little girl ninja on it. Come on. I know. Sudo apt-get install. And she's got a little... That's what you would think, right? Like, so first off, like... Well, actually, according to their, you know, little instruction here, it's npm, but sure. It is... No, that's what you would think right like so so first off like well actually according to their you know little instruction here it's npm but sure it is no that's no package manager so that's a
Starting point is 00:04:49 little bit different yeah we're talking so so first you have to install i'm not going to go through all the garbage that happened but basically it's like yeah you just do this this and this okay so there were like four steps about 20 steps later i finally had the thing running and i mean there's garbage like, for instance, on Ubuntu, for whatever reason, they decided that Node.js wasn't going to be Node space in a command. That conflicts with some other package that you may or may not have installed. So in order for it to run Node.js, you actually have to type Node.js. So all the grunt files and everything else that reference Node don't work.
Starting point is 00:05:23 See, listen, this is where your problem is. Because the oatmeal.com had this great little tutorial on how to fix any computer. And since you were having so much problems with Linux, I'll get to that one in a moment. But just to be thorough, we'll start with all of them. So if it's a Windows box, step one, you did that fix it no proceed to step two step two format the hard drive reinstall windows lose all your files quietly weep simple that's how you fix every windows box it's pretty accurate on a mac you know step one take it to an apple store did that fix it no proceed to step two buy a new. Buy a new Mac. Step two, buy a new Mac.
Starting point is 00:06:05 Overdraw your account. Quietly weep. Hey, just so we're clear here, I'm not reading this. That was a good guess. Now, since you were having so many problems on Linux, okay, this one's for you, okay? Step one, learn to code in C++, recompile the kernel, build your own microprocessor out of spare silicon,
Starting point is 00:06:24 which you have laying around, as you do. Recompile the kernel again. Switch distros. Recompile the kernel build your own micro microprocessor out of spare silicone which you have laying around as you do recompile the kernel again switch distros recompile the kernel again but this time using a cpu powered by refactored light from saturn grow a giant beard blame sun microsystems turn your bedroom into a server closet and spend 10 years falling asleep to the sound of whirling fans switch distros again okay because you said you were only on ubuntu abandon all hygiene write a regular expression that would make other programmers programmers cry blood learn to code in java recompile the kernel again but this time while wearing your lucky socks okay that's how you fix your problem did that fix it did that fix it no proceed to step two revert back to using windows
Starting point is 00:07:01 or a mac quietly weep, that's fairly accurate. So what Mean led me to believe was going to be a five-minute process ended up taking me about an hour and a half. In fairness, that's one of the reasons why I love Visual Studio, because I feel like I can be up and running in no time using their tool set, right? So I put it upon myself to hurt myself, to put myself through pain. But at the end of the night, I did have an up and running mean application that had a login and all kinds of stuff.
Starting point is 00:07:31 So it's pretty interesting. I'm going to continue down that path and we will update this at a later time. Okay. So it was interesting. So going along with the previous stack. You think you'll push distros by then? Probably. Yeah, I was actually uh i decided the other night
Starting point is 00:07:45 i was going to run through an angular tutorial and the first one i find is like it starts off like download this project now do these 20 steps and here's a video i was like oh man i just kind of hope i could just you know read step one two three and then do my own thing but i have been looking at ember a little bit though and what i like about i don't know if it's this is true or not but from just looking at a couple examples it's kind of like they've got these things set up on the main website where it's like, how do you do this? You do it like that. And I like that I didn't have to install.
Starting point is 00:08:11 I didn't have to set up my directory structure in a particular way. So it looked like the kind of thing that you could, you know, sprinkle in a little bit easier than Angular. Now, I'm probably wrong about that, but it looks that way. At least it seems like they're maybe marketing that way a little bit. So I thought that was interesting. You are wrong about sprinkling it looks that way at least it seems like there may be marketing that way a little bit so i thought that was interesting you are wrong about sprinkling it in but from what i understand though what you are right about is ember kind of forces you down a path where angular lets you kind of hang yourself depending on how you go about doing things so ember is a little bit more uh opinionated in how you have to do things so it's it can be good but dude now that
Starting point is 00:08:46 i've gotten pretty deep into angular it's not for the faint of heart i mean like seriously it doesn't just like give you the rope to hang yourself it's like here's the noose we've already prepared it you just got to insert your head here in this hole right yeah yeah we'll take care of the rest don't worry at least you know that you're not stumbling around trying to find that noose at that point right so it's it's pretty interesting um but yeah i do plan on on going down this path a little bit further just to kind of see what this is all about because you know document databases scare the crap out of me for some reason they just don't make sense they seem so foreign but i think i want to play with it more for that than anything else. The next thing, Vlad also replied to us on episode 17,
Starting point is 00:09:27 the one that we were just talking about, and he made a couple of good points. So we were talking about server costs and all that, and he brought up Azure and he is, if you don't remember Vlad, he was on episode about aspectacular and had a great time talking to him, but, but he's basically just tinkering around with Azure on his own projects.
Starting point is 00:09:49 And he said he's approaching a car payment a month just messing around with Azure services. And that is kind of one of the frustrating things about dealing with cloud services nowadays is unless you have something making money, it's kind of hard to just learn it, right? Unless you're working in a business with your hands on this kind of stuff or whether or not you have something that's making money on a side project, I mean, you've got to invest some money in it.
Starting point is 00:10:13 Well, I like the way of saying that. That's something I could sell to the wife. Like, hey, I can't go out tonight because I'm going to work on a side project because I want a free car. Don't you want a free car? Who doesn't want a free car? Yeah. I think we were talking car payment yes yeah like you like up the ante a little bit there yeah i'm
Starting point is 00:10:33 working on getting into management oh okay this is how you do you're doing well um yeah and and uh just to clarify uh if you wanted to go back and listen, we had a lot on episode nine when we were talking about aspect oriented programming. And he had a framework specifically for it. Which may have been named by Outlaw. Maybe, maybe not. I don't know. We believe it was. There might be some dispute here.
Starting point is 00:10:58 There was some drama at the local meetup. I'm just saying. But on top of that, another thing that he mentioned. So Joe said that if he was going to program something, he would do a service. I'm just saying. But on top of that, another thing that he mentioned, so Joe said that if he was going to program something, he would do a service. And basically his point was he doesn't want to deal with UIs. Well, Vlad brought up a valid point that is one of the reasons why I have abandoned so many projects I've decided to start
Starting point is 00:11:18 is because one of the frustrating things for me is, hey, what platform do I want to program for? Do I want this thing to install on Windows? I have a Mac. I kind of like it to run on a Mac right and then you're like well what about linux then and so then you start looking around there's not much out there that you're going to do cross platform development on you're not going to code once and run everywhere and in the meantime six months have passed since you started that conversation exactly and that's the whole thing so um he brought that up like he was really hoping silverlight was going to be the answer and it died a pretty fast death actually so yeah i did like his uh javascript zombie comment yeah or this just that just that he referenced it as a zombie i
Starting point is 00:11:57 thought it was a pretty humorous i mean and he also brought the fact that you know a new javascript library comes out every year i think he might be a little bit off on that. It feels like every week. Right. But, you know, so it was a great reply. So you should head over there, join in on the conversation because there's a lot of viewpoints there. And that's www.codingblocks.net slash episode 17. Yeah.
Starting point is 00:12:19 And so with that, you know, we got some more reviews in. So I'm not sure about the name on this one though. I kind of wonder if this isn't just a made up name cause it still feels a little funny if his parents named in this, but, his name is or her or her. You're, you're right.
Starting point is 00:12:35 New Belkin user writes in and says super informative and great content, uh, would certainly recommend to any.net developer. So awesome. Thank you thank you uh we got another one on stitcher uh from i'm just going to pronounce this as cash that says this is a solid podcast and i can only assume that he's referring to the solid principles it is um and he says after powering through their entire backlog i would recommend this podcast to any developer who's passionate about software development one of the best detailed technical podcasts out there. So
Starting point is 00:13:08 again, thank you guys for taking the time to write the reviews. We really appreciate it. It really does go a long way to help other people find us as well. It helps us to show up higher in rankings and everything. And we greatly appreciate it. Yeah. And while you're doing those reviews, don't forget to send us like we've actually gotten quite a few emails about, hey, these are some good topics we'd like to hear about. And if you're thinking about it, then there's probably a lot of other people as well. So definitely drop us an email at comments at CodyBlogs
Starting point is 00:13:36 or come up to the site and leave it on the contact form. Definitely just get in touch with us and let us know what you want to hear about. And also wanted to mention, there's in the states here there's actually a lot of whining about kind of holiday creep so the christmas stuff starts happening around october the thanksgiving stuff starts happening and you know whatever july yeah july and uh forget about valentine's it starts in december too so um one season that i'm not i'm not disappointed that it's starting
Starting point is 00:14:06 early is actually gaming season so typically around the wintry christmasy kind of hanuki months there is a just a glut of awesome games that come out trying to get your heart and harder in dollars and it's looking like it started early we had shadows of mortar just come out which i've heard is fantastic and uh i can't really go into too much i've actually i've got it i've installed it oh really yeah oh man i want to hear about it i know i'm lame i'll i'll give you the full review also defense grid 2 came out which if you played the first it's like a tower defense game but i've been having a lot of fun online with that uh really fun also new civilization space themed interesting yeah so i mean sci-fi and
Starting point is 00:14:49 civilization together hallelujah but you know here's my problem so every one of them that you just mentioned are pretty much pc dude where are the ps4 games i am so irritated that i bought this thing one year destiny dude oh god that'm a little hurt that you didn't mention call of duty man advanced warfare yeah but like every november but hold on like that's the whole problem right like it's the same game with new maps and new guns and a new power up or a new ranking up system fun as heck but i mean it's kind of hard to get like stoked about about something that you've really played for 10 years in a row now. I mean, dude, it's got Kevin Spacey on the trailer, man.
Starting point is 00:15:29 How can you go wrong when you've got the president right there? That's a good point. Oh, you just gave me... I don't know what you're talking about. Spoiler alert! Hey, man. But, yeah, I mean, I i'm seriously seriously aggravated by the lack of games i've had my ps4 for going on a year now and there still is not like that one killer gotta
Starting point is 00:15:53 have game that's the one thing why i haven't i haven't decided to break down to buy either hold on playstation playstation 4 nor the xbox one and and it's mostly because like why bother yeah hold off i mean seriously the the only game that has just got an outstanding review on the playstation 4 that there's a couple but the only one that got like a 10 anywhere was the last of us that's on the ps3 oh that was a good game though it is a good game but like seriously all they did was bump up the graphics on it and you know it's. That's what I'm saying. It's so frustrating. They haven't really brought anything to the table yet, which is irritating me.
Starting point is 00:16:29 Yeah, I've just been holding it. I am more leaning to the Xbox One now. I don't understand that, but whatever. It's got less processing power, dude. If you're already into the Xbox community, right, why not? Well, have you guys heard of No Man's Sky? No Man's Sky? No Man's Sky. No. The description is a science fiction game set in an infinite procedurally generated universe. Oh, screw that.
Starting point is 00:16:51 Oh, man. That's my heaven right there. That's perfect. So you like, oh, man. What's that? The medieval game where it's like 600 plus hours. I prefer if there's aliens. I always prefer aliens over orcs
Starting point is 00:17:05 But you want something that just literally generates itself So there can't be a storyline Oh story I don't want story man You just want to roam around Like playing Grand Theft Auto though You don't get tired of running over people for like 30 minutes No man because you know the best thing about Grand Theft Auto Is you try to see how high can you get your wanted level up
Starting point is 00:17:23 And then bring it back down Yeah you gotta hot seat that one like you die you hand it over man that's that's the fun like i get tired i'm like oh man i feel obligated to go do this stupid quest and i don't want to do it i have more fun playing grand theft auto not doing what i'm actually supposed to do in the game well that's what i'm saying but after you've done that like after you got that for hours on end man really i just drive around like a madman hold on trying to see if i can evade them i like to race so you got to keep that in mind too well no no let's clarify something are you one of those guys that likes to play nazi zombies on on call of duty no okay all right that's just
Starting point is 00:17:57 mindless repetitiveness i can't take it like i need something new no No, but again, like, in all honesty, like, racing games, racing simulation games are my favorite games on any kind of platform. And while in Grand Theft Auto it's not simulation, it's just another – it's fun how some of the cars handle. And so, like, I'll just have a blast driving around trying to see how high can I get the wanted level up, and then can I get it back down? It becomes a challenge to see if I can bring the level back down. I get it. If I can outrun them enough to bring it back down. I get it, but I bore after about 30 minutes of that. That's how I kind of want to play games now, too.
Starting point is 00:18:36 It's kind of strange how my preferences have changed. Just mindlessly wander the map? Yeah. An infinite world just seems overwhelming to me. Yeah. All right. And so with that, let's get wander the map. An infinite world just seems overwhelming to me. Yeah. All right. And so with that, let's get into the show. Today's show is going to be Q&A.
Starting point is 00:18:52 Your questions and Joe will answer. I'll try. We've actually got a lot of comments and questions kind of emailed to us. And some of them kind of involve more research. And so we don't want to just kind of give you something off the cuff, but didn't want to kind of mention and respond to a few of them yeah so one of them that i i actually really liked was from jason yarber he asked pluralsight versus lynda.com so we talk a lot about pluralsight on the show for good reason i and i've also had some experience with lynda.com
Starting point is 00:19:21 i think you have also outlawed and probably you too joe yeah so it my take on it is this lynda.com i think you have also outlawed and probably too joe yeah so it my take on it is this lynda.com is an absolutely fantastic resource and it the way that i see it though is it's more of a broad spectrum of technology software how to's like that's usually my go-to source for hey how do i do something in final Cut or how do I do something in Photoshop? It's funny you mentioned Final Cut because I was actually thinking of Color. Yeah. Which is no longer around for Final Cut Studio. Yeah, so, I mean, they have a lot of stuff.
Starting point is 00:19:56 Now, they also have programming things, but they are not programming-centric. So, if you go to something like a plural site i mean just about and they do have things that are outside the realm of programming but 90 of what they've got on plural site is is hardcore programming whether you're talking about dot net or you're talking about sql server this question a step further though right so i mean specifically it was plural site versus linda yeah but what if you were to just say, like, how do you stay current? Like, what's your training go-to? You know, like, how do you get your learn on?
Starting point is 00:20:33 Codingblocks.net. No, really, though. Not really Codingblocks, but really podcasts are my preferred way. Like, I can listen in the car, and I just seem to really get out of listening. But I have a hard time sitting and watching a video. That said, I do subscribe to Pluralsight, and I really like it. But the reason is I'll basically play a video game on one screen, something like maybe Minecraft or something that doesn't require a whole lot of interaction.
Starting point is 00:21:01 And I'll have Pluralsight on the other screen. I'll just kind of be learning about something new and random. Well, in fairness, like the way that I do Pluralsight is I pay for the higher cost subscription on there and then that way you can download it to your phone. No, but I mean, that's really, there were two reasons I did the $50 a month one was because- You wanted to take the test. No, I don't care about the test, right?
Starting point is 00:21:21 Like I seriously, I don't want to take tests, but you can download the code, which is awesome for being able to follow along with whatever they're talking about. And second, more important to me was being able to download it to your phone so that just like I listen to music or a podcast in the car, I can listen to an entire course while I'm driving. Granted, I'm not looking at the screen, but a lot of times you can pick up what they're talking about, you know, as you're going along. So that's kind of how I do it now with lynda.com. I have found that is very much more you're sitting down and watching this. And it, again, this is usually how you're dealing with software as opposed to how to program. I haven't done many of their programming courses, but I've used them both separate, excellent resources, both of them, in my opinion. So I'm going to be the old school one here to say, you know, crack open a book.
Starting point is 00:22:08 Yeah. You know, here's my problem with books is you don't know how good it is till you buy it. Now, granted, you can look at reviews, right? And that's helpful. But, dude, I don't know. I would rather listen to somebody talk about it or watch something. Yeah. And actually, just for fun, I Googled. I searched on lynda.com for BizTalk, which is something I recently started watching on
Starting point is 00:22:32 Pluralsight. And, Lynda, I'm not seeing any search results, but Pluralsight had like 30-plus hours of BizTalk videos. What about SharePoint? Oh, they both have a lot of SharePoint. The point that I was going at, though, is that I love podcasts you mentioned, Pluralsight. I love those type of resources, but I think when I want to go into real depth with a topic, then that's where I prefer to read about it. I would agree. I feel like if I'm actually stopping to actually read the words on the page
Starting point is 00:23:06 and I'm not counting Audible or something like that but if I'm actually taking the time to read the words on the page then I'm more focused in on it. So if I'm trying to get deep on a topic then I like the book. See I'm bad when I read about
Starting point is 00:23:21 skipping ahead and being like blah blah I got it and then I miss important details. See I'm actually bad the opposite way of that because even if this is like oh my god how many times have i got to read this again i'll keep reading it just to get through it just in case there's some little gem that i'm like oh well i'm glad i read that a book has to be really enticing for me to go with it and i'll give you this one reason because my 50 at plural site i can go pick any course i want and watch it listen to it as many times i want a book i'm spending 50 on one writer and i'm and i'm hoping that he gives me everything i want right so that's kind of how i equate it like if i was going to spend 50 a month let's say on whether
Starting point is 00:24:01 it was going to be a book or one of these course type things, I would go with the course site because your, your, your breadth of, of topics is just massive. Don't get me wrong. I love Pluralsight. Right. And, and I, I have, I think the same, um, you have the same plan, same plan as you have. Yeah. Sorry. But, uh, you know, it's awesome. And I love it. And I, and the thing that i like about it is that it's easy to reconsume it yes right like like you can go through it it's kind of like like i said it's not you're not trying to go as deep with it so you can you know have it going on in the background like you mentioned while you drive there are times where like i'll have it while i'm coding yeah i'm like oh wow i can do that too and then that way i'm actually picking up the shortcut as i'm actually working and you can speed it up right like it's just like a podcast
Starting point is 00:24:49 you can listen two times that's craziness everybody but one point speed but yeah you can speed it up and listen to it consume it faster than what you could even potentially read right so there's definitely something to be said like books are fantastic references right and and i do love books but i find that i would much rather go to one of these other sites initially and then if i want to dig more into a topic then i would go get the book yeah okay i'll give you that and best part is uh both pearl site and linda offer like a preview plan so you can watch videos and kind of see which one's right for you. But I have a feeling if you're listening to the podcast,
Starting point is 00:25:27 you're probably going to end up going with Pluralsight. It just seems to really be targeted towards developers. If it's for programming. If you are specifically going for programming, then Pluralsight. If you are hitting on a bunch of things that might relate to graphical type things or just using other pieces of software, Lynda is a great resource for that kind of stuff so uh the next one that we got also from jason yarber was base types versus
Starting point is 00:25:51 dot net types and outlaw you got a little something to say about this uh yeah so so um in the c sharp language specification specifically there's a statement in there that each of the predefined types is shorthand for a system provided type. So for example, the keyword int refers to the struck, uh, system dot in 32, but as a matter of style, use of the keyword is favored over use of the complete system type name. So what that's basically saying is when it gets all chunked down to IL code, it's the same stuff. Yeah, but you know, the thing is, though, so this question came up, and I could have sworn that I remembered reading
Starting point is 00:26:40 the preferred way was that you should use the uh the system the type name for it rather than the keyword so i got into the habit of using of always using the the name and now like capital now after reading this i'm like oh crap i'm doing it wrong so in other words like i would specify int 32 if i was god forbid not going to use var then maybe it was in a method signature you never know well string is the one you usually see people do the capital yeah string all the time yeah and it still seems kind of gross to me to to do the lowercase and then like just doesn't format yeah yeah I I again, there's no wrong way of doing this. They all compile down to the same.
Starting point is 00:27:27 It's not wrong, but what I'm saying is that in the specification, it states as a matter of style, use the key word. Yeah. So this, you know, thank you, Jason, because now I realized, oh, crap, I'm doing it wrong. Yeah. Like all these years. Again, they equate to the same thing.
Starting point is 00:27:45 Yeah, but the best reason, I think, for using the actual aliases is that So like all these years, again, they, they equate to the same thing. Yeah. But the best reason I think for using the actual, like the aliases is that you don't have the rest of reference system. So if for some reason you've got a class that doesn't need it, maybe it's nice and solid. Then, uh, you don't actually have to use the, the system namespace.
Starting point is 00:27:58 So if you, all the others, like in 30, integer 32 string, all those actual, like the classes, the, the non alias, all are live in that system namespace.
Starting point is 00:28:07 So you have to be using it. Okay. So hopefully that answered that question. And then another one. Sorry, one other thing I did want to mention too. There's actually a whole lot of stuff out there about.NET types and the unified type system. And we talked a little bit about value times reference types. But there's also this notion of things that are cls compliant which is a common language system which means
Starting point is 00:28:29 things that are in c sharp that work specification specification that work in all those languages so there's actually a lot of really cool stuff there so i'd like to really expand on this in a future episode and wanted to thank jason for kind of bringing this to our attention it's something that's really interesting and actually a really big deep topic. Yeah, thanks Jason. I gotta go change all my types. Now that's going to be a fun Reg X. And then we also have one more question from John Panning
Starting point is 00:28:53 and he was asking about one of Joe's very favorite topics. Which is? Oh yeah. So he was asking about basically best practices for unit testing and integration testing. Stop. I totally want to do this one. It's a dedicated episode.
Starting point is 00:29:09 Me too. Actually, I wrote notes for it when we first started talking about doing the show because I'm kind of a nut about talking about testing, even if I don't always do it. So, definitely want to talk about this in depth and we want to acknowledge the email, John. So, thank you very much. We are definitely going to do it. I think you brought up some
Starting point is 00:29:25 other really interesting things too with like solid and kind of how these things kind of tie in together and so I thought that was really cool and we're definitely going to talk about it so thank you John yep and so now getting into the show for the week if I can find my notes here so this is going to be a bit of a water cooler topic type thing because there are things that come up all the time in our programming daily lives and so here's a couple things that we've actually had extended conversations over lunch or whatever one business logic where do you put it do you put it in the database where basically everybody can benefit from it or do you put it in your application? Oh, and you say it like that. I might have leaned towards something,
Starting point is 00:30:12 but I actually have arguments against what I seem like I was leaning towards there here in a second. Okay. Well, wait a minute. Because when you say business logic in the database, I initially took that to mean like, are you referring, when you say business logic in the database, I initially took that to mean, like, let me rephrase, let me rename that to be the data logic. Yes, the data logic, absolutely. Because not necessarily the business logic as to how something should be done, but it's just that if you want this data, then this is the data, how it's represented.
Starting point is 00:30:42 Yeah, how it affects these 10 other tables. Yes, and that's what I'm talking about so so the the data the business layer revolving around just how the data interactions occur right yeah so let's just call it data logic okay fair enough so where would you do it and why I know where I do do it and it's in the code. So why? I have a hard time thinking of reasons or things that I would put into a single procedure or a store procedure just because I don't really do it that often. There's definitely times,
Starting point is 00:31:13 but usually that's some sort of weird case where I need to do something with a store procedure. That's almost like a requirement of what I'm doing. But just by default, I end up doing things in code. And I'm actually having a hard time thinking of an example when I wouldn't do it in code. Are we talking about I delete from table A and it's got to delete from its children?
Starting point is 00:31:30 Yeah, or let's say in order systems, right? If you place an order on something, then you're going to decrement some available quantity of something somewhere. You're going to stage things to be shipped out. There's a lot of table interaction that happens, right?
Starting point is 00:31:46 I think some of that depends, though, on the type of information and the sensitivity of the information because you might have that abstracted away through maybe your more sensitive data. Like an application layer. Because it's sent in the database because at rest you don't want it to be available. So you want to have some other control mechanisms around it. So maybe that has to go through some kind of a service to even get to it. But because of the example that I was thinking where you might do this is that –
Starting point is 00:32:20 well, I didn't have a specific example. Well, I was thinking around customer information that you might end up pulling that from multiple places. But as far as your code is concerned, you don't want your code to have to care about that that might have come from multiple sources. But as far as how you might want your data structured, maybe you want some stuff separated out. But it's one of those things so for instance one of one of the arguments that always comes up and this is what's always kind of crazy to me is it's people that advocate that it's done at the um at the application they're like well it should live in the application that's that's what's touching it right well my thing is okay so yeah
Starting point is 00:33:02 you got this application today but now you want a mobile version of that what are you going to do yeah how many applications are touching a database right you know a certain table it's going to be like every application right well i mean we've talked about this before but um you know there were some years ago where i was on a project that everything you did everything whether it was read or write all your correct operations were done through store procedures and the part that i really liked about that you know architecture decision was that um you know we could make changes to the underlying schema and it affected zero code right ever because as long as we took the same parameters in and the same parameters out everything continued to work.
Starting point is 00:33:50 And I love that about it. And if we needed to have any of these rules around. So you mentioned, you know, if you delete from here, do I need to delete from over there as well? You know, anything like that could automatically be handled through the store procedure. So for that, I loved it. But in nowadays with frameworks like Entity Framework, as an example, it wouldn't be as friendly to use a sewer procedure only mechanism. So I'll take this one step further, and I don't know which one of you just mentioned it, but services. The way I see this is if you have one database, right? Personally, I think that a lot of that logic should exist in the database, in a stored proc, simply because it keeps it closest to where the data is stored, right? Yeah, there's value in that. It's definitely the closest to the actual issue, the subject.
Starting point is 00:34:39 Now, what I will say, though, is, and I'm not against the application thing, but I think it's at least flexible. But I think if that's what your goal is, then in today's world of service oriented architectures, I think you create a service. You stand up a service that is now a layer between you and the database. And then that way, if you do happen to have that and you don't want to keep it directly in the database,
Starting point is 00:35:04 because then you'll have other people, well, what if you need to move from SQL Server to Oracle? I would venture to say that happens less frequently than changing programming languages, right? Like, already BMSs tend to hang around for a long time. Yeah, you better have a really good reason for switching. Yeah, so in that regard, though, if you stand up a service that any application can then call, then you get the best of both worlds. Like what Michael was talking about where now you have a separation of maybe sensitive information, like keys for passwords are stored in one system,
Starting point is 00:35:36 and then your actual passwords in your hashes are in another. Then a service can talk to the two of them more transparently, and now you have your logic in one place that a mobile app can use, that your desktop app can use, whatever. So this whole argument... But the question becomes, where do you draw the line for those services there? And that's a tough thing, because there's a lot of overhead in building a service. There's a lot of work that has to be done.
Starting point is 00:35:59 There's a lot of things that have to happen when you build these services. But I think... And there is a line, but I think that the application is almost always the wrong choice, in my opinion, on where you store that kind of logic. Because then it's all buried in your app. And as soon as you ever decide to move to another platform or you decide to add another supported platform to your current existing tools now you've got to replicate that somewhere and it's all baked into your application and it's not reusable right and that's where the advantage of you know where we had it all in store procedures it didn't matter what language we used as long as everyone understood the rule of you always call the stored procedures, and the stored procedures were very clearly named just for what kind of actions they did,
Starting point is 00:36:50 so it took some diligence there, but then it didn't matter what language we used. Everyone could use any language they needed for whatever kind of report they wanted to do or whatever app that they were spinning up, but everything worked the same. Everything had the same data to work with consistently. I'm actually a fan of that approach. Assuming that you are on one database server, as soon as you start spanning across multiple systems and you have to pull data in from various different places,
Starting point is 00:37:15 that breaks down a little. Well, I will say, though, in that particular case, though, we didn't have sensitive data to worry about at all. So you mentioned passwords I mentioned customer information like we didn't have any of that to deal with at the time which greatly simplified the discussion yep yeah actually what you just touched on there is I thought was really interesting I think a lot of times consistency is really powerful so I've seen some like
Starting point is 00:37:43 not so great code that was consistent, and so at least I was able to kind of dive in there and see what was going on, and it was in a good pattern. And having that pattern to follow, and follow when you're doing something new is really good. And so I just wanted to be the first to actually coin the term consistency-driven development. So you guys heard it here first?
Starting point is 00:38:02 CDD, huh? Yeah, because you ever go into a code base, and it's really nasty and messy, but you're not about to start changing the naming conventions for variables or anything like that, right? You want it to kind of blend in. Right. Yeah, there's a lot to be said for that. And at least then if you do pick one, whether it be the database or –
Starting point is 00:38:18 again, I advocate that you never do it at the application level, simply because that is almost – you can almost consider that lost code at that point because you can't reuse it anywhere, right? And I've definitely had heated arguments with other people about that, but it feels to me like that's the most disconnected place to put it. You know, I used to think the whole source code thing
Starting point is 00:38:41 is kind of a big deal, being able to kind of see those changes. With the database projects and stuff in Visual Studio there's tools around that sort of thing that make it bearable but I don't know if anyone actually really likes using the database projects in Visual Studio so it's kind of nice for tracking changes
Starting point is 00:38:56 on stuff like that but I don't want to have to search two code bases and I definitely don't want my database in my normal solution. What's our next one that we had? Oh, I just had a kind of general secret question that I put here. And this is actually a question for me. I didn't write it in.
Starting point is 00:39:15 Sorry, maybe I'll send an email. But I was just wondering... No, you got to send it to comments at CodingWise. That's right. I'll email Rob to the show. Pause. Yeah. All right, we're back.
Starting point is 00:39:24 We just got this email from Joe. And Joe writes in. Yeah, I wanted to know if there was a good, useful tool for auto linking foreign keys. If you've ever done a new database, right, and you're kind of green filling, you do all this stuff, and you have things on the tables like, say,
Starting point is 00:39:40 modify by or create by and date times, and all this stuff is default values and all your integers to be uh you know auto incrementing and yeah that's a lot of stuff to to type especially like if you have you know create and modified users in every table and you want those to all link to the user table like oh my gosh they have the same name or you know there's a pattern to actually be able to kind of like rightclick and just hook up all those forward keys for me. You know, especially if the names are exact,
Starting point is 00:40:08 like there's a product ID here and there's a product ID over there. Like, oh my gosh, please let me click a button. Product ID. Yeah, I have not found a good way of assigning keys. You know, the easiest way I think is to use the diagram actually and drag things and so you can kind of drag the lines and save it all at once. But that's still a lot of clicks, right? It's a lot of clicks, and it's easy to kind of drag something to the wrong column and
Starting point is 00:40:29 not realize it. That's actually a really neat idea, though, what you're asking for. I've never seen one. That would be a fairly easy utility to write also with schema querying and all that. Yep. Hmm. Everything that ends in ID should be cross-linked. There you go.
Starting point is 00:40:47 You just name it consistently. I was joking, man. Don't. No, man. Alan's over there thinking like, hey. One ID to rule them all. That's actually a pretty cool thing. I never really thought about it like that because, I mean, yeah, when you create a table it's a lot of extra overhead writing that your foreign key constraints and all that all of a sudden all
Starting point is 00:41:07 your patient ids match up to the health code id and yeah you know what's funny is i actually ran into this very problem recently because i'm i'm playing with postgres right now and because you hate yourself no by the way by the way look look if it's good enough for Instagram, it's good enough for a little old man. Hey, I was just joking. But I will say, like, their tools suck. Like, they are terrible. I've been using PGAdmin 3, I think. I don't even know. They put a 3 on there like it was something important.
Starting point is 00:41:35 I don't like it. Like, setting up even just. You should have seen 2. Dude, adding a column. You know how, like, in Management Studio and SQL Server Server You just go down to the next row and you start typing This is the problem with This is the same thing with Visual Studio All of the Microsoft products
Starting point is 00:41:50 They're nice They're good at what they do And they get it done Now you want to start using other tools Now you're like, hey man Did you know if you wanted to do this in Linux How much more difficult it is to install a new NIC? But, dude, no, seriously, come on.
Starting point is 00:42:08 Hold on. Let me talk about this one UI problem. And being a UI guy, like, UIs that don't work. No, I don't call you a UI guy. No way, dude. Mr. Keyboard? What do you mean? Go on.
Starting point is 00:42:22 Okay, so I like using shortcuts. But, no, i'm very much passionate about bastardize everyone else's uis that they create because you refuse to use your mouse yeah whatever so but no like this this thing okay what what do you have a lot of in a table in a table schema i'm not talking about data what do you have a lot of in a table, in a table schema? I'm not talking about data. What do you have a lot of typically? Columns. Columns.
Starting point is 00:42:49 To add columns in PGAdmin 3, you have to click this button to pop up a window. Oh, no. So you can then type in the column name and then choose the type. Oh, no. That's what I'm saying, dude. A lot of times I create the columns first and I go back and then it's string, string, string. That's what I'm saying, man. Oh, no. That's what I'm saying, dude. A lot of times, I create the columns first, and I go back and then int, string, string, string, or mark our.
Starting point is 00:43:08 That's what I'm saying, man. Oh, no. OK, so check it out. This actually drove me to where I was creating my tables using SQL. I was like, create table. I started typing it out because I was like, I can't use this UI. So I don't even know what tangent threw me off. so yeah this auto linking thing so after adding like five columns to a table and that taking me 10 minutes i was like i can't take this anymore and then i saw the foreign key
Starting point is 00:43:34 tab and i was like oh no because you all this i think you said it wrong i am oh no yeah i know exactly how you feel. Yeah, I recently did something. I created, I don't know, it was like 50 tables or something. And man, oh, that means there were 100 create and modify by users. But it kind of really makes the question, though, if you did do all your creates in a textual format to begin with, then you'd have the ability to easily copy that and reproduce it somewhere else,
Starting point is 00:44:06 version it if you wanted to. But even the pasting with the foreign keys, they each have their own name. You have to rename them and all that. I could totally see writing a tool and this probably wouldn't even take that long. I think I'm actually going to dream about this tonight.
Starting point is 00:44:22 We could make those scripts and then step three, i don't know i mean it's beautiful think about it though like seriously what he's talking about you have you have id columns on these things you say hey hook these up right just got that wait what did you say i totally missed it we had that tweet uh that it was like starting a project it's like step one procrastinate step two go step one but uh i was just joking that like we you know step two is like create this tool step three i don't know step four profit we all retire yeah we're there you get a database you get a database see that's the problem though like right we we all start
Starting point is 00:44:56 these and joe and i were talking about this before the show like he said that he was sitting there and started messing with something and all of a sudden he's dragging some buttons around yeah oh man and i did the same thing but i was sitting there i don't know how many database tables i've made in my lifetime but the other night i'm sitting there i'm like man i'm creating a schema and like two tables later i'm still staring at it like an hour and a half later i'm like why why am i doing this so anyways uh yeah so that's a really cool idea uh moving on to the next one uh what do you do with unexpected project handoff yeah so uh I recently had an issue where I kind of like in the middle of something it was it was kind of like hey uh we need to kind of drop this hand it off to someone else this has happened lots of times but um you know I kind of it got
Starting point is 00:45:43 me thinking like you know what's nice to have? And so I kind of wrapped up the database and the project and kind of wrote up just a few minutes. So, like, here's how you kind of start it and install it and put it on a thumb drive. But then I started thinking, like, oh, I should mention that class that I really don't like. It's got a bad name. I've been dealing with it. But I don't want them to think that I think that's okay. And so I started writing all the stuff I don't like about the project, which just kind of seems silly, you know?
Starting point is 00:46:05 I know there's always dirty things in every project, but then I started getting a couple of cases like, okay, I've listed like five things I wanted to mention about names I didn't like or things I wanted to change that hadn't got around to changing. And then I'm like, wait a second, what about all the things I didn't mention now
Starting point is 00:46:18 that I just forgot right now? Does that mean if he sees something stupid and it's not on my list that it meant that I meant to do it? Or am I just living in my head too much? I think it might be part of that. Well, I was going to say, like, you know, because as far as the unexpected project handoff, as the receiver, you just hand it back.
Starting point is 00:46:39 No, thank you. Got my own. That, friends, is solid advice. Yeah. But you know what? Actually, I've been handed off projects from Joe, and he actually goes over the top with it, which is pretty good because it makes it easy for a developer to pick up. However, we all know this. You can be told a thousand times how something works, and until you actually get your head in there, it's impossible.
Starting point is 00:47:03 Now, it is nice to point out the the gotchas right like i would completely agree with that and even having like maybe a wiki article or something together that's like hey to even get upset to get set up and run this thing these are the kind of steps you need to go through and then i definitely think probably in times you're overthinking because yeah you're like oh you need to watch for this you need to watch for this and again there's there's only so much detail you can put into that before people actually start looking at the code yep I saw back is there's one thing I was like I was kind of deprecating a project but I just hadn't done it yet I just kind of decided I wanted to do things a little differently so you know I kind of moved
Starting point is 00:47:40 a few things over but I just hated like when I handed off like oh and there's this weird project that I'm kind of getting rid of but i haven't gotten rid of yet but you should totally get rid of it and oh and over here is the forest of interfaces though don't go in there that's interesting i mean nobody likes getting handoff type stuff anyways because that usually means that you know you're getting it for some reason's like, I got to do all the fun stuff, now here you go. Right. It's on you now, sucker. Right.
Starting point is 00:48:09 This question has actually come up on Stack Overflow, too. There's a checklist that they provided, and obviously the community has agreed on the appropriate answer for that. And they state that the important points to document are the interfaces the build process other tooling what's not done and other resources that are involved yeah that makes a lot of sense there's also some kind of weird emotions that come into play there because like on one hand you're kind of handing something off like you're there's always a fear like they're gonna get in there and be like, you're an idiot. I just kind of erased all this stuff and got it done in a day.
Starting point is 00:48:48 There's definitely that feeling like, that's my baby. Yeah. I'm not done with my baby, and now you're going to get in and mess with my baby. You can't touch my baby. No, but there's two ways, right? What you're just talking about, that happens when you actually had time to put into it, right? But I've definitely had those situations where they're like yo we need this done yesterday well no but this is i'm talking about like as the person doing the project handoff right right i'm i wasn't done with it which is why
Starting point is 00:49:13 i'm handing it off and now i'm like oh no but that's what i'm saying there's two approaches that's one because you actually had the time and the love and and care to put into it i've definitely had ones where like seriously you know i they're like hey we need this now and so you end up hacking together a solution to make it work and then you hand it off like you hand it off don't judge me bro no seriously like those are what you every i know you've done things yeah every every sentence you start with is like look dude i understand this is not right listen yeah i've seen things yeah but i mean that's frustrating so there's both sides of the equation and i think both actually what you just those those guidelines kind of that you had up there
Starting point is 00:49:55 those will have a link to that in the show notes too uh from stack exchange those are really good things so yeah that's a really good question and oh i did want to mention one other thing too there's also the sense of validation too if you're like having a tough time with something and someone's fine like just hand it off and you need to work on something and the second person has problems with it too and it takes them a long time then you're like yes it wasn't me it's actually hard i told you guys you didn't believe me i told you but dude that's not fair when you gave it to an intern. Come on. Yeah, but I do understand what he means, though.
Starting point is 00:50:30 It's almost like you drove an 800-mile trip, and someone else has to park it into the driveway, and you're like, oh, come on. Yeah, yeah. Anyone could have done that part. I was so close. Why didn't you let me finish? Yeah. Well, any problems they have, they get to say, like, well, when you gave it to me, it was
Starting point is 00:50:44 all messed up. And on the other hand, you hand it off, you get to say like, well, when you gave it to me, it was all messed up. And then the other hand, you hand it off. You get to say like, it was 99% done when I gave it to him. I don't know what happened. He jacked it all up. Yeah.
Starting point is 00:50:53 Yeah. So try not to be that guy. Make sure your stuff works. And it seems like it's, it's so easy to, for the, for kind of like what you were alluding to there, the blame game.
Starting point is 00:51:02 So I try to catch myself to like, not want to be like that right what are the other persons like that and you're still trying not to do it so you're like oh what a mess they just gave me and you're like you screwed it up but I don't want to say it yeah but I mean
Starting point is 00:51:17 I guess because more often than not though a lot of situations where I've seen has been like you know someone you know someone someone you know goes leaves the company and goes somewhere else so then uh you know like whatever that is people are like oh well someone so did that you're like well i don't know that that's necessarily the reason so here's my advice go to lunch with the person don't talk about the project that's my advice.
Starting point is 00:51:48 You'll have this weird trusting going on. Your advice is don't talk about it. Yeah. Never talk about the project. That's how we do it in my family. Never talk about the code. Right under the rug. We talk around it. There's a lot of hidden emotion deep inside you.
Starting point is 00:52:02 Oh, that's excellent. All right, so what's up with the witch host thing who put that there which host who did that did i put that i'm gonna say alan did it i don't remember typing that too my go-to is blame alan did i really type that which host i didn't type that one of you guys did all right so let's talk about it anyways. Which host is the best looking? Oh, yes. Different host. We're talking about different hosts. Sorry. I don't even know what we're talking about.
Starting point is 00:52:32 I thought we were talking about us. What are you guys talking about? Are we putting up a poll? What else could this possibly mean? Which one of these sweet, sexy voices do you like the most? I've got a buttery smooth southern accent. That's right.
Starting point is 00:52:47 Rasping accent. That's right. So I assumed one of us. So there's certain jobs that you don't want to have hear a southern accent on, right? So there's the joke about you don't want to hear your surgeon talk with a southern accent. All right, what are we going to do? We're going to run around in there with a stick what had happened was so i saw the word host and i immediately thought of myself because i'm self-centered
Starting point is 00:53:14 michael thought about operating systems i had a feeling that alan might have been thinking web hosts hosting companies right which is why i knew this one was alan's and it was dude i absolutely did not recognize it that is totally your handwriting in the google doc by the way uh so i should have said hand typing it would have been even better well this completely came off the tracks uh i have no idea what this is if we're talking about web hosting maybe i did put the i don't remember well we do have an advertisement on our website for web hosting, so that's the one I'm going to pick.
Starting point is 00:53:48 Actually, SmarterASP has really good.NET hosting for like $3 a month to host a site on, which is really nice. AWS and Azure both have free tiers for micro boxes, but if you're running just a small website, then you're going to be paying... Or you're leaving out Google Compute.
Starting point is 00:54:04 No one uses that not not in our listeners not not the the uh dot net heavy static program language users what about our java listeners what are they using uh aws so here's the thing right like um yeah i i'm a fan of digital ocean right for the for the price it's hard to beat for the computing power you get. Now, you do have to understand a little bit about Linux to get things up and running smoothly. And then there's Shared Host. If you're going cheap or whatever, there's so many of them.
Starting point is 00:54:37 We've used Bluehost. I've used iPage. I've used a bunch of them. HostGator. HostGator's one. I've used FatCow. I've used, I can't I've used a bunch of them. I host gator host skaters. One, uh, I've used fat cow. I've used,
Starting point is 00:54:49 I can't even remember what other ones. Well, I think the right answer to this question is just not good daddy. They've had a lot of security breaches over time. I just, I don't even know why I say that anymore. I just, I remember people telling me like never go with the good daddy hosting. And I don't,
Starting point is 00:55:03 I don't know why that would have been, but they definitely had some security problems in the past. It's probably because they upsold you on it and you accidentally ended up signing up for something that was way more expensive than you would have and it doesn't quite do what you want. The GoDaddy scandal, or not scandal, but shoot, what was it? It was something that came out.
Starting point is 00:55:21 We were just talking about this, where they took a stance that was against what the rest of the internet. Oh. Oh, what was it? Net neutrality. Yes. Was it net neutrality? I thought it was something else.
Starting point is 00:55:33 Yes, it was. No, it was. I don't remember. It's also a lie note. So, yeah, we just kind of answered a question that we didn't actually ask. So, sorry about that, listeners. Yeah, no idea what we were going for there but if it's the handsomest host that's obviously me if it's hosting who knows yeah i
Starting point is 00:55:54 don't know that's and uh send us your best looking host two comments at oh no don't do that oh dear god wow suddenly that confidence just uh got shot down no you guys saw the is you've heard about the one plus or the yeah the one plus phone that they just recently did some sort of oh where they the stupid marketing campaign where they said hey ladies this one's for you send us a photo where you've written one plus somewhere on a part of your body and we'll vote the picture up and whichever picture gets the most then we'll send you an invite to buy the phone we're not trying to be those guys yeah apparently like they went down in flames on that one that wasn't even their first stupid marketing uh uh scandal but yeah they um they got some thinking to do before
Starting point is 00:56:41 they open their mouth yeah i would have anyway, and we all know it. Fair enough. We'll just call that one a win for me. All right. Well, so with that, let's go ahead and get into the tips of the week and resources we'd like. Yep. All right. So I'll start off with my tip of the week, and here's one.
Starting point is 00:57:00 I found this. I absolutely love it. This one is a Visual Studio tip, but if you use multiple monitors, right, we've talked in the past about how I like to use all of my monitors for a single instance of Visual Studio by just tearing off the tabs and throwing them onto other screens. So like for example, my current setup, I have three monitors. So I'll have one main screen that I'm coding in. I'll have another screen off to the right that I might have code that I'm referencing. And then I'll have half of that screen taken up with like output or if I'm in a debug session,
Starting point is 00:57:37 it'll have locals and things like that, any watch variables, things like that. And then on the third screen, i guess it technically the first screen because it's over on my left i'll have um things that like the to-do explorers uh from resharper so any notes that are in the code um and i'll have uh any uh test case coverage you know um test coverage uh from dot cover and resharper open over there. And then I'll have a small little itty bitty window that'll be used for like showing interfaces that, you know, maybe I'm for whatever code I'm working on. Sometimes I just like to have a copy of that interface definition handy so I can see it just as a reference point. So that's a lot of windows I
Starting point is 00:58:25 have spread out across these three monitors, right? And it's so frustrating when I'm on a laptop and I want to take that laptop to maybe go do a presentation or whatever. And now I'm down to the single laptop display. I feel like I just stepped back in time because I only have the one display and it's little and I'm like ah so there's this great add-in for visual studio that I found called layouts orama and what it allows you to do is you can create layouts for your different window positions for whatever your choice may be for me I have a layout for single monitor and i have a layout for triple monitors and i can just instantly switch between i can open up the little layouts uh layouts orama windows select which layout i want to switch to and boop it just automatically
Starting point is 00:59:18 changes visual studio and it is so fantastic now i know what you're saying but michael you could already do that there was already an import export settings option that you could do within visual studio what a hassle that is because yes while you can do it that's also doing a lot more than just moving around your windows so you know you might have changed some stuff that you know since the last time you saved those settings that maybe you don't want to be reverting all your settings for visual studio around like that oh you change settings no but what i'm saying is like if you use the import export settings you it does the entire list of settings you could potentially be doing more than just moving the windowing around right not to mention it's a hassle to do that because then you have to go through this wizard driven in order to switch layouts.
Starting point is 01:00:05 Whereas Layouts-O-Rama is just simply an indie video window with whatever layouts you have listed. And you highlight the layout that you want to switch to and then click on a little action button to switch it and done. Right? Yep. So simple. That sounds perfect for your back cave setup. Oh, it is so fantastic. We'll have a link to that in the show notes, but I love it. Yeah, that's pretty neat.
Starting point is 01:00:31 Very nice. So my tip of the week, this is an oldie but a goodie, and I'm always surprised when I see someone who's not using it because it's been around for a long time, but I think it's just kind of been forgotten, but desktop connection manager this is like a window that keeps track of all your remote desktop settings so if you're running or running into different boxes all the time you can actually keep them there you can organize them into folders you can save the passwords best part is you could right click and say connect to all or disconnect all just make sure you don't click log off I'm sure you guys have found I don't know where this book came from but at some point there was a
Starting point is 01:01:11 bug in it I don't know if they fix it cuz I won't try it again they have not fixed it this this program it hasn't been actively developed in a while yeah it works so fantastic except for if you click log off the box instead of disconnect, it logs off your computer. Yeah, things start closing and you're like, well, no. That's not what I meant. Who would do that? Do you guys have a good way of stopping that when it happens? No.
Starting point is 01:01:37 Sometimes I've noticed that if I'm quick enough, I can open up Notepad and type some stuff and it'll do the whole like, do you want to save this file? I'm like, cancel. I just panic. That's basically what happens. hear me over there like screaming I just throw stuff I just throw stuff it's done but just I don't know that Joe did it justice so you can organize everything but the beauty of what what he's talking about with that program is you can open up like you can say hey connect to these 10 computers right now and it'll give you like little thumbnails of each computer and you can just click into like you can say, hey, connect to these 10 computers right now, and it'll give you like little thumbnails of each computer, and you can just click into that screen and go into each one as quick as you want. So, yeah, that's –
Starting point is 01:02:13 And you can save the file too. Yeah, you can export the connection file and share it with other people who get to those same servers. I mean, there's other tools like this. Like, you know, Apple has its own version of a tool like this available for managing OS X boxes. But I do really like this. One thing that you didn't mention, though, is that in your – so basically on the left-hand side of the screen, you have this like explorer tree view of any of the folders that you've grouped these servers into. And then you'll see the individual folders, I'm sorry, servers listed.
Starting point is 01:02:48 And, you know, in each server, you might have information about like the host and things like that, but you could also have credentials and whatnot. But you can also let those credentials roll up to the parent level. So if you're in an Active Directory environment, for example, and, you know, all of these paths and all of these systems are going to use your AD credentials, you can just let it roll up to the parent. And that way, you're not having to go into 30 configurations and set them manually each time.
Starting point is 01:03:19 Or any time you want to use it, have to go back and save it. You can just do it at the one place. That way, in the selecting the 10 servers like Joe mentioned, and connecting, it already has the credentials that it needs. You don't even have to put them in there. You can actually right-click that top folder and say Connect As. And you just type it in at that time. You could. Which is nice.
Starting point is 01:03:38 Joe's the one who showed me that thing, and I can't live without it now. It's a shame it's not being developed anymore. It seemed to work really well except for the terrible, terrible log off button. God, that log off has hit me a few times, and man, it is so painful. Like, I actually think I remember hearing Outlaw and Joe both laugh at me
Starting point is 01:03:55 as I was over there like, why? It's one of those rare examples when you say don't touch that button, and you really mean don't touch that button. Yeah, so if you get your coworkers using this using this right and all of a sudden you hear like random cries you don't know what happened yeah it's bad all right so my tip of the week this one's actually um i don't know fairly exciting one of the reasons why i went away from windows phone in the first place was because i couldn't listen to podcasts at sped up rates like literally
Starting point is 01:04:25 that was the deal breaker for me the other things on it annoyed me but that was the deal breaker like listening you to 8.1 man i'm here to tell you right now like like even listening to our podcast at normal speed i'm like god that's so slow i can't do this like i have to listen to me and double speed for life yo double speed like we've talked about this is insane but but on windows 8.1 the the phone os that just updated in the past updated no no 8.1 on the phone it just came out yeah yeah okay on the phone just came out um this the speed play option has been in windows 8 for a while but on the phone os it wasn't there until just recently it and it's not everywhere if you go into the podcast player
Starting point is 01:05:11 on the right side of the screen there's actually like a 1x button you can click that and you can choose different speeds so but seeing it'll be a windows phone 10.1 right if they do that right we don't need nine so that that's my tip of the week. If you've got Windows Phone and you're tired of listening to us at regular speed, speed it up. So with that, be sure to subscribe to us on iTunes, Stitcher, and more using your favorite podcast app. And as we've said before, please give us a review. We really appreciate that. It goes a long way to help us out.
Starting point is 01:05:44 And contact us with a question or a topic. before please give us a review we really appreciate that it goes a long way to help us out and contact how about that contact us with a question or a topic leave your name and preferred method to shout out which almost nobody does so if you'd like us to mention you for that you know let us know how you want us to throw your info out there and visit us at www.codingblocks.net where you can find show notes examples discussions and. And this particular episode will be slash episode 18. And send your feedback, questions, and rants to comments
Starting point is 01:06:11 at codingblocks.net. And be sure to follow us on Twitter at Coding Blocks. Oh, I got a joke. I got a good one. Alright, you guys ready for it? Let's do this. They're skipping Windows 9.
Starting point is 01:06:28 They're going straight to 10. That's just how awesome it is. We did just end up on PHP for that same thing.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.