Listen to learn about the latest news, updates and reviews on programming languages, best practices and coding methods aired on leading talk radio shows and premium podcasts.
Deno versus TypeScript
"Well, let's get to the point. How does type script fit into dino? Won't types crew field into dino as more safe way to writer programs way to make things more certain on expected. So you know that when you write with tight script, your force to type everything. So you always know what you're getting so that kind of fail-proof typing is extremely useful for large shallow scripts software. We recently had to write something that was critical in with money. We went with dice grip approach to make things super stable and predictable. I like that that were predictable in script. You always know what you're getting into the Phoenix Dino can ward with type script natively, you can type refile Andino will parse it just like any other showers creep filing dino doesn't care about their whether it's types creep or chevette script. So they is that there are some issues that the team. Found with a script because they were using task for DNA core and also for the user facing Api the cold but they were finding that they compiling the type script cold was taking a long time and it was increasingly getting longer and longer but they. They've found most important was that they didn't have found that tie screed was helping the organizing the code because I one of the issues I mentioned that they ended up with two body classes in separate locations. Also. They were maintaining like two tie script compiler host one for Dina Co the core. And another for the external user code, but both had a similar purpose and go. In the end they decided to go back, just plain chevette script for the core there were still retain the user code will still be typed. Chequered will still run through the type script compiler but they ended up in working with Chavez. creeped on. Leave for. Dinner. Core. And how does the type script support within dino compared to that of node? Well as mentioned, you can write native dino native the Thai script and lauded on Dino. You can get all the definition of the types in India no riding for example, Dino space types you'll need to sit up anything for Deana to understand types. Quit you just ride your program, it doesn't need any compilation. Dino will just run your. File. Wow that's interesting. How is that possible? How can you run type script without first compiling it down? Well the competitor is already integrated on the inner. Oh interesting. So so it's happening. It's just your. You don't ever have to have the the output of the Java script file from type. Script. Expecting interesting.
Amazon Luna cloud gaming service launches with support for iOS
"At the top of show that Amazon got around with Apple App Store with apples help. Let us explain we mentioned yesterday that Amazon launched a game streaming system called Luna and we have a few more details about how that works on. IOS as we told you yesterday. It comes through the browser Luna will be a progressive web app or pwa we've told you about those before it means you can install an icon off Luna on your home screen on iOS run it separately from the rest of your browser. You're not going to see your other tabs or anything. It'll act like its own app, and technically it could even work offline. But since I bought it online game streaming service, that's not really a feature that applies here. It can act pretty much like an app, but without being subject to Apple's App Store rules because it's really just a very robust website that you're saying. Going to your home screen in Apple's recent streaming game guidelines. Apple actually wrote quote. Of course, there is always the open internet and web browser apps to reach all users outside of the App Store. They pointed at that and they said you could just do that if you wanted to an Amazon said, okay, I guess we want to Luna head of engineering and Technology George sip elitists who works for Amazon package said that Amazon worked with Apple's Safari team to make sure quote some of the things that weren't there are there and that allowed us to do kind of get where we are today. So they not only cooperated with Apple Apple Safari team apparently like added some functionality for them with their Progressive web apps you'd think Apple was like try to force them into the App Store know they didn't Amazon also says they're working with apple on a game app and we'll ship one when quote we can come up with a good experience. So Amazon saying like those new guidelines about the native apps didn't really work with us yet, but we're still working we're talking dog. Apple we're not suing them like epic has The Verge is Sean Hollister. Also wonders when Google and video Microsoft might follow suit Google runs stadia in Chrome already Nvidia GeForce need webrtc version for the Chromebook and a Sean points out. Yes. There are issues to web apps like controller support questions lack of all the optimizations you can do on a native app. And of course cos if you're running a progressive web app, it has to run on webkit. You don't get a choice of browser, but Amazon was able to make it work by working with Apple.
Chipping Away at a Monolith with Tori Huang
"Tori I'd like to dig into what your role is at Gusto. So I'm a software engineer on the partners engineering team. My teams basically responsible for building out the experience for accountants on Gusto. So what Gusto specializes in small business, we have this entire platform for accountants that allows them to manage multiple clients and it's it's a pretty awesome platform. We provide a lot of tools to help accounts give personalized advice to their clients. They receive revenue share for clients, neighboring Augusta, and actually just worked on a project that recommends some of our accounting partners to small businesses. So now we're bringing accountants new clients. Just generally, I'm very passionate about the product I think it's were being able to build something and immediately be helpful to so many people especially small business. So essentially, my job is building Gusto for accountants, and I really have a typical product engineering job. So the reason that I brought you into the show is that I came across the excellent article that you wrote under the Gusto engineering blog called chipping away at a monolith. So, there was a period of time where developers were really sheepish about having a monolith however boldly, at the beginning of your article, you stated that Gusto had a monolith problem but it was a good thing. So can you explain why? Yet I would love to. So really you can only have a monolith problem to the extent that Gusto does after years of building your software's first of all, that means you've already been around for a while and in the startup world that is a big success right off the bat. I wasn't around in Gusta those early years when they were known as payroll but from my experience working with start ups right out of the boot Camp I can tell you that you're not worried about creating a monolith I mean you should be focused on launching your product a doing it quickly getting yourself out there finding as many users as possible and beating the competition. So while you might might be trying to build things a scalable way, it's it's really impossible to see to from that short distance where patterns are going to appear in your code base. So I would argue that most of the work you do early on in the life of a company to prevent the creation of a monolith is kind of pointless because you don't really know where the patterns are yet they haven't appeared. By the time you have a monolith problem like I said you've been around for a while so you can start to see these patterns Hopefully by that time, you're in a position where you're mature enough as a company that you have the space to spend some time on tech and addressing those patterns in Europe. So the tr of that is you can't really see these patterns, these domain patterns until you've had enough time to build out your software and that means you're already had some success. Survive long enough to write that much gone. That's a really positive way of looking at it. So from your personal experience windy. No, it's time to build a service outside of a monolith. I think that there are two things that really indicate you should start looking at breaking down your monolith. The first of all is that you're going to see these patterns emerging in your code. You're going to see where these domains should be and where your boundaries should lie. The second thing would be more of a business consideration a that spending time breaking down your monolith spending time separating out your software is going to bring you more benefits than actually focusing on building those new features. So again, early on in a company's life, it might make more sense to spend a lot of time building up this new features because you want to get your product out there quickly. But once you are able to see these patterns that's when you've earned the right to work on this model is problem.
TornadoVM: Accelerating Java with GPUs with Juan Fumero
"What is Tornado VM? What value does it add? Yet. So Tornado VM is a new way to your applications without worrying about Howard details. On. They user at the end of the day, you don't have to worry about this by codes nothing that this is how it works internally. So the value that we are, he's done the implication is something easy to understand your right serial code. So couponing cool and You have to write parliament you have seen in parallel. Mbingwa in Tornado Deride Serial Code each task is a serial. Then, Tornado will paralyze it for you basically. So they using only things only need to think what do I want not how do I want to perform to another will manage how do you want basically TO GET MAXIMUM PERFORMANCE And that's the main value. Yet, another thing is donated can dynamically change device. So because now we have uplift four of multiple devices we have one sip hugh, one view or multiple-use. Perhaps, if Jay, so now we're to run the Colt. The now becomes a mess right because I want to maximize performance but tornado has a mode that can figure out which one's the best achieve Bet Bay performance better performance. And how much better performance are we talking about? This happens on on the device run but typically we're talking about one two or three of magnitude faster than Java. DM compared with C. to grab him for example, the FDA application is A. Petition for digital, processing. Is, very. Simple program is just tune still loops and album of calculations. Square would things like that. And you can get easily thousand, one, thousand, two, thousand and ex compared to Java seat to compiler or growl vm. Most of the performance become. Because of the power of the GPO right of the device in this case. We also, because we scrawl and we comply with crowd, we can optimize things father that you don't see. Kelly like I'm rolling blue and then evaluate constant and so on. So we can get also bit faster in that sense but normally the speedup comes from the device so just to some of your questions. So on GPS, we get around to magnitude on effigies these harder to get performance from conceal. Some cases to about one to two of magnitude in the best case scenario. You mentioned that this is a good fit for pretty much any data intensive applications. So let's have already got a date intensive application written. Is there a way to port it to the Tornado VM? Yet so We're actually working with some of the partners. We haven't the project to do this. They have already existing applications and they were deported to. We have some as soon as you comply with it ornate of the restrictions. We don't support the whole Java. Okay. We'll help support a subset is possible to run it with Tornado. VM. Yes but it it really depends application. So the output of Tornado vm is it a Java Programmer Residency Program? What is the lowest level? Execution Situation? The output of Tornado. VM see program source. Code. Which means that we will need another compiler to compare to the final binary. But because we execute up in Seattle with open supermodel, that's part of the actual driver in. So we pass the Kennel. Generate to the driver, and then we'll do the final compilation. So, that's a branch of the code we have now in public. But now we're working on another. Extension actually. So instead of going to open here, we got pediatrics. Okay. Stay the machine goes simply called. Kind of is an obstacle for NBC devices. Okay Barley security threats. And in this case, we also need the final driver defined by the driver. But it's lower level. So pets close to Saint Louis Assembly code east of secret.
A Dive Into SEO
"What does SEO stand for search engine optimization? Right on. Trying to think are funny funny more. Serious engineers over engineering. ooh. I feel that adds another e at the end, but that's Okay Jeff. Hyphen pitch outs all that's fair. That's true. WHY IS SEO? So important a good question. You know you and I were talking about this Ryan where it's like if you build something awesome what's the point users never come and so search engine optimization is really important because you gotta put your product out there and search engines are essentially the front door to the Internet. That's true 'cause yeah. Like you're not just typing in www dot blah blah blah blah dot com in hoping that it's a great website you're you're having to search for something and usually I don't know how many times you all spend time on the second page of Google I don't think. I make it very far to even the bottom of the first page there's a second page. All these. I've heard that. Yeah. So urban legend I feel like it's even worse on the mobile phone right leg. It's usually like just wanted like on that little bit of a screen I'm like they're done go. Yeah, I. Think it's. It's definitely if you're wanting near website to even get traffic, it's it's super important also very hard like I think that's the thing too is it's it's very important, but it's also something that it takes a lot of work. You know it's not just like put a couple keywords in your get on the top of Google cheers. It is it's it's practically a fulltime job, and that's why like companies will hire dedicated SEO experts or the leaving outsource to another company because it's there's the basics and then there's the things on top of the basics where you're optimizing the pages in the content, and that takes time it's not something you just do instantly it takes this kind of iterating and checking and monitoring, and then iterating from Mare and changing like the algorithms will change and the. How certain search engines rank certain things that algorithm changes and you're not privy to it. So you have to kind of gas, which is why there's these consultancy firms that pop up because they can stay in business because the rules keep changing what it's really interesting to to all that you just said about like having experts or consultants who think about it. And really have to pay attention to those things, but it's also really hard to call. You think you alluded to this but it's hard to measure because of the time too. It's not like hey, after a week, this change will show up it might be weeks it might be a month. So even as you make changes, you're like, did that do something? That's always been my struggle i. hope that did something well, but you don't quite know. Yeah I like the way you phrased that because there is a component of emotion to seo and I know that sounds ridiculous where you're like, why would I be? Why would I care so much about Seo but it's that hard work that you throw out into the world and then you're waiting on that return you're waiting on hopefully. The changes that you make will prop your page up on Google or any search engine like being or even Yahoo there there are other search engines. Now, that's a I've everybody's making good points. We I think Juniors we underestimate the importance vescio added. It's like Oh yeah I like you're saying you build something. Awesome. But nobody knows about it who cares? What was it four? If you're building a consumer product and consumer can't find your page your APP. then. What's the point? So you it's something. We totally forget about that like marketing in Seo actually critical to some of the things we build a lot of things will the the consultant angle is interesting because what I've seen and I have Also experienced, Seo. Practically none. But from what I've seen is a lot of Voodoo magic people claiming things and like Oh you got to do this. We're trick and this and this, and what I've seen is just it's a lot of people guessing. and. They have vague ideas about what the search algorithms are looking for. But they can't really prove it because I'm sure Catholic. NETFLIX's. personalization engine is like pretty secret even even for people were fair I'm sure. Google. Search ranking. Algorithm Patriots like also very. Super Super top-secret not that anybody can understand anymore. It's probably like millions of lines of code but. I it's just like a buyer beware if someone's like, Oh, I can get you to the front page or whatever be careful. A lot of people use dirty tricks and things that will get you. Like band or delisted. To get you to the front page unlike. It's a whole Burki world. There's entire SEO. Conferences. But. I imagine they're kind of bored I I mean I think there's value I. think there's probably good tips that they have right in order to I think you're right those like the bold statement I will get you the top of Google. That's a that's a pretty big statement and not always that simple and yes like. All right, let's say, Netflix Yeah. If you Sir Stranger things net flicks watch on Netflix or something like that. You'll be at the top if that's your keyword. Cheers cheers. Used to be a lot easier actually, what's what's interesting is over time Google has made it harder to game the system it used to be that you could just throw keywords onto your page and clears like. You could throw terms onto your page and Google would pick up on these terms in than. They would see oh, you're pages valuable. Now you've added these keywords sorry cut. Cheers. Chairs. What's funny is when I first started. Seo. We installed scripts on websites where because Google would tell you the search queries. The users are coming in from you would add those to your database, put them on your page, and then you're paid would rank higher and higher. But once everybody started doing that. Then the algorithms became more sophisticated in harder to game affi- and now they're including things that are not even just about content. It's like is your page fast? Can it load fast and it's like? You can't you can't fake that. No you really can't and yet but. Now they're lean into more of the user experience. You should be rank tire if if someone's trying to find something really helpful, they don't want to be sitting there for a longtime specially with mobile like I made the comment to being on mobile but I think it's more and more important being on mobilised. Really quick.
Pre-commit Framework: Git Hook Scripts
"Be looking for employment after that I might turn out in my turn out your program right now you can do it. Awesome. It was always a chance the for sure you've got to give it a shot. That's awesome. Well, let's talk about this project that you've been. Working on for a while, but like I said, has gotten a little bit of traction a lot of traction lately because of tools like black in other things that have made recommit hooks awesome and exciting all the sudden. But before we talk about what you've been doing, let's talk about the idea recommit hoax in general. Sure. What is this for a lot of people who are like? Yeah I kinda what it is I kind of use that or maybe if even used like Zip. Zip and name of a date as a source of. Final one one. But yeah, the idea behind get hooked specifically the because I think that's probably the one that most people get the most interaction with. But there are a bunch of commands in get where you can register call backs as scripts to either do like validation or seen some people use it to like send emails or like close tickets all sorts of other The main focus around get hooks to me is the pre commit hook where you can do glinting. And Code Validation Code formatting you can run tests or other stuff like that I guess the pre push hook is another one that's also kind of big in that same space where you want to do validation of your changes before you send them off to like. Right. So you like maybe reject some kind of reject the get push if the formatting is wrong or the header is missing or something like that, right you can take a lot of those like. Easy validate things and do them in a kind of a quick fast manner before you would do your larger test suite or something catch a syntax era before you spend a bunch of time spinning up systems, right? Well, speaking to see I to me this seems like the next natural progression from having I, do these tests, right so there's different levels. The developer should probably be reading in running tests and making sure that the test passed they should be like formatting their code before they check it in stuff like that but when you work. On a team, my experience has been there's a wide wide range of how much people are willing to do that how much they care about those kinds of things and what that means is maybe you have CI continuous integration that runs automatically during check in once check has done and so then they might check in something might say, Oh, the bill does now broken because you didn't bother to run the test, but you broke the tests but because you didn't run them, you didn't know it. So now tree falls in a forest. Here's right. And that sort of thing, and so then you end up the situation, the people that care about the build, working half the track down the person who broke it who didn't actually care is just these layers of like annoying type of thing, and if you can make the push that validation to the location where the person is and all the people rights even if you care like, you might not want to break the build. You might rather just get a warning or just automatically have it fixed and pre-committed commit hook seemed like that's the natural place that. Kind of mentality I always had is. If I'm waiting 'til CIA to get feedback on nitpicks around commas or white space syntax or whatever that to me is way too late in the process because I've already like out you know I've pushed I've already gone off to the next thing I'm already answering my email are looking and get habitual user. Talking in slack or whatever and like I've already conduct switched to a completely different situation in I could've been. I assume do as good because. In pushed right I never make mistakes. So yeah, exactly. Zero Fault Code get pushed. The final action now you're done, right? Yeah but like it was. Frustrating. To make a push on, then have some either build system telling me that something was wrong or in view someone was like Oh awhile you could have reordered these imports. So they are alphabetical or something it's just like, yeah, this is a big waste time. Let's Kinda. Put this as far towards the developers possible such that we can be a better a better situation. The other thing I think is interesting around these ideas is. There's been studies that have shown that people are more willing to take. nitpicky advice from a computer than from human. There's like, okay. Well, the computer requires that I have this kind of white space for this kind of imitation are like this type of fort like you said, order alphabetical ordering or whatever, and when it comes from a person in a code review, it's like well, that person is just a jerk, right? I, wrote good coach. Taking this flack for this thing. So having this happen like automatically think takes away the need to review the kind of stuff. It takes away the need to complain and be that that person that does that you can even go farther with tools like black where it doesn't just complain a just goes I fixed it for you actually the way that I usually talk about this like the absolute. The worst situation that a human tells you that something is wrong the next situation that like. A CI system tells you that something's wrong better than that. Is that an automated local tool tells you that something is wrong and the Golden Standard is that an automated tool just fixes it for me I. Don't don't have to worry about it all it just makes it happen. Yeah, and it also results. You don't have this sort of like dueling alternate format style, right? Like if I like working pie chart, you'd like to work in vs code our formatting rules vary ever so slightly. Commas between parameters or there to space between the Coal Nana type annotation. We both reformatting document they cycle back and forth right and this way you can sort of just hit it with the same format. Right before goes every time. Of course I'm at also helps with things like get blame really noticing when patches or
New Apple event and iOS 14
"So Apple Event Week one of possibly two or three this fall. Who now this one I think might be most relevant to us though. Probably, it was definitely a pretty substantial like. Sort of changing my plans or like was pretty significant turnaround and I mean, it's it's weird too that we don't really know what else is going to be coming and it was strange to the first event wasn't an iphone event If if depend if you're not listen to this in real time, this was the time flies event where applejack talk introduced The new apple watches their fitness system and the new ipads an apple one. I, suppose the sort of like main things they announced and. Yeah it was. It was kind of a weird weird event. Video just like WGC was and. We got a whole line of new stuff and a whole lot of I suppose as on theme for Twenty. Twenty some unprecedented Changes in the way apple rolls things out. Yeah this is So you know in addition to just you know it being an event where there's no actual in person event those changes the biggest difference for developers is that we got a lot less time than we usually do with the GM SDK and GM. Before released, they announced her enduring the event yesterday that Iowa's fourteen and watch fourteen. We'll be coming out tomorrow, which is today. So we had about twenty four hours of notice and twenty four hours with the official. S. K and twenty four hours roughly to like build test and submit to the APP store. Any anything that uses the new decay. So it's been quite a rush. That certainly is not the ideal sketch for for anything. I don't know why did it this way but I do know it's hardware but. I'm disappointed that this way, but you know for me honestly, this doesn't affect me at all because of where I am in my development and I'll get to that in a little bit How how much? I know you had a very different story here how much did it affect you? I it's so going into the event yesterday. When I started like sat down to watch it in my mind what was going to happen is that they were going to announce the new apple watches. They were going to announce that they were GONNA strip be available for. Ordering or reordering this time this week, and then they would probably ship late next week and then I was fourteen and watch os seven would bend traditionally launch sometime made a middle of next week. So typically like about a week after the announcement. I always launch isn't it hardware launches like maybe a day or two after that? and so that was what I was kind of going into the event expecting and to then sort of like very, you know about halfway through the event see that it's like, no, it's coming out tomorrow like it was a bit of a range of emotions. So for this particular, like launch cycle, I have four different four updates that I was expecting and planning to try and launch relief coincident. With the update and so I have a sort of smallish updates to plus blessings sleepless plus medium-sized update to wash with and I'm launching which Smith with I was fourteen, and so I've gotten those APPs ropes sort of it's a tricky place they were roughly in the place that I was expecting them to be Around launch because the reality is whenever at like in a typical cycle when apple releases the GM after the event and we have about a week before launch. Usually try and submit my updates around the time that the GM comes out, and maybe it's not the day that the it comes out but it's within a day or two because I want him to through APP review if there's any rejections or things that I need to deal with so I was sort of ready but it was definitely a little bit chaotic to then have this feeling of like. I have no idea how fast APP review going to be able to turn these things around I'm going to need you sort of just like really just frantically survived buckle down and get you know sort of download the GM. which was a very strange process in this time because apparently there's two GM's. Very quickly issued a revision. The one that ends an nine is the newest one which I still have yet been able to actually download keep getting the old one for some probably cash-rich reason but anyway, it seems like the O. Eight one worked fine for what I was working on. It seems like it's a TV Os issue that you might need to have one or the other, but it's like I got that down and all my rebuild and just verify that I don't have the newest one I have the oh eight one even though the link said I downloaded it. So That's interesting I mean it's who knows what's going on. I think the reality is that seems like kind of a minor point because the reality is we are GM and then it's just like you know had a few hours of the install install gems. Actual test devices are playing with it. Make sure things seem to work on the side. It seems like the GM didn't change anything developer focused as far as. I can tell like it didn't I mean there's fixes and things in it that I certainly need to verify and make sure maps worked but it wasn't one of those years where like here is like this major change that is coincident with new hardware that we now need to sort of adapter like if they say they added a whole new complication family. For the new. Apple. Watch something like that like when they launched the series four. Apple Watch suddenly there was all of the graphic in like the infographics complication families that were just like appeared and while I didn't strictly need to have them on like for Launch Day. There was a substantial change that needed to adapt at least a burnt any of that but then. Turned around got my update submitted and it seems like a preview was definitely working overtime last night 'cause I submitted all four APPS yesterday evening and they were all approved within the the survey, the existing APPs role approved within a couple of hours then aged Smith, which up brand new APP with recurring a recurring in episode purchase subscriptions and things that you usually take a longer time was approved within maybe like five or six hours. So it's like a bit crazy and hectic but fine
The New Backend Engineering Lead at TextUs - Brittany Martin
"By corner of the world is very different and so I think I've kind of alluded to it on some of the episodes we've recorded up to this one but nick, you are my very favorite co host. So of course, I waited until you were back on the podcast so that we could discuss all the changes but I have recently shifted roles. So I quietly changed my linked in quietly changed my twitter and my get hub but I am the new engineering lead for the back end at text us. Congratulations that is that is huge right I don't even know where to begin but. I guess the best place is at the beginning. So how long ago? Did you kind of find your way into the world of Texas yeah. So ask the listeners know I've been at the trust for about five years, which was fantastic because I leveled up. So much of the trust, a lot of my conference talks that I gave came from the work that. I was doing at the trust I loved those working at a nonprofit affecting the arts and the Pittsburgh community because when I came back from San Francisco, I really wanted to get re-involved with Pittsburgh and there was no better place to do it with the trust being a small nonprofit and you know there was only so many places that I could grow up words. I decided to start considering my options, and so I came across Texas and text. US. Basically is a business class text messaging software and they're built in rails, which of course, is very important to me as the host of this show to continue working on ruby on rails. So you know I have bet my career on it. And the Texas currently serves the ASS staffing recruiting industries mainly though they also serve a lot of different industries but it's a really interesting and complex code base and they use a lot of the dry principles, which is that I was somewhat familiar with, but I hadn't worked one on one with. So how about you neck? Have you used a lot of dry rb? So when you dry principles, do you mean like actually using like dry rb and the dry rb tooling and the ghost? Yes heavily on my goodness. So I have literally just wandered so far as hearing about it in a podcast or you know and I and I, think I follow the maintainers on twitter and reading about five never crossed that threshold to actually using it even in a in a toy up. So House have been. kind of seeing that world is imagine it's quite interesting. Yeah. I'm coming off of a code base where we used a lot of service objects. So in some ways, there are some principles there that are somewhat familiar where you don't stack all of your logic into your models and controllers, but dry principles. It's just it's very clean and I'll tell you that during the interview process with Texas, which first of all was a really fantastic. Interview Process and I hope a lot of companies have processes like this it my process probably took I would say about five weeks and that involved a lot of one on one in conversations with their product manager the CTO, their chief architect, my partner, who is the engineering lead for the front end and just really making sure that it was a good culture fit and then I ended up doing a pairing session with the chief architect and. What was neat about it is that we tackled some very rails lia problems, but then as towards the end of the interview. He gave me some examples of how my code could change to actually reflect those dry principles and how that is how they manage the code in code base and I left that interview just ceiling. So intrigued about how I feel that I knew ruby on rails fairly well, but just seeing it in that sense it got me really curious and I was like this is this is. going. To. Be Great for my career. It must be amazing to get another set of eyes because I have to commend you you know. There's A. Strong trend in tech where people you don't hear the five years that often anymore. I don't think you you see is short as eighteen months to I'd say, even three years I'd look at unlinked and say, wow, that was a while. So so it's definitely you know there's all the. Normal aspects of changing changing a job but I think from a code aspect just saying these different ideas you know and. It's like a super learning experience all over again if you're around a bunch of intelligent people working in this code base and and especially with tooling that you may not have used before so must be. An absolute thrill.
Distributed In Memory Processing And Streaming With Hazelcast
"You hear about all these different data management platforms that talk about these things but Hazel casts advantage is around in memory and in memory isn't a new concept it's been around for a while but there have been some limitations about what it can do in the past and some of these limitations are being mitigated so that in memory speeds are opening up to more and more companies and Hazel cast was founded a little more than ten years ago actually in. Turkey by a couple of very smart engineers and they came to Silicon Valley to start his cast as a former company, and it was all about in memory computing, and so the first product was the I M D product which stands for the in memory data grit. So very much like a database, but a bit more capabilities in terms of distributed computing ways to simplify building applications that could be spread across multiple nodes in a cluster and thus enable paralyzation much more simply and so from the early roots. It was all about trying to get applications that ran faster, but at the same time maintaining some of these enterprise qualities like security and reliability and availability. So ensuring that you're not getting speed at any cost but getting the right amount of speed that you need to address your use cases while also protecting your data and with added on stream processing since and we have a set of technologies that work extremely well together and are fitting in quite well with some types of use cases that people are building today. and. You mentioned that it's not being built at the expense of some of the reliability durability guarantees that you might care about is particularly if you're working on mission critical applications so I'm wondering if you can dig a bit more into some of the benefits and the potential trade offs of in memory compute particularly for data intensive workouts and things that are going to be operating on stateful sets of operations. You have the benefits of computing have largely to do with the fact that you have fast access to data stored in memory, and so I've heard some people say that this notion of in memory computation or in memory processing is redundant. When in fact, if you think about it, the processing isn't done in memory. The processing is done in the CPU or these days increasingly more in the GP and the in memory simply means that all of the data is stored within memory and not necessarily spilled out to disk, and so when you have a system that's designed to optimize that pattern where you have all your data in. Memory that means that you can get fast access to a lot of fast processing and be able to deliver on some of these use cases that have very narrow windows for service level agreements. So you get performance the same time when you have fastest, you need to incorporate some of the typical characteristics of a distributed system like replication in a variety of ways and you need to have consistent replication. So we've after doing some research, some competitive research we've seen at least one technology where at certain levels of throughput, it pauses some of the replication to be able to handle the throughput and so most people won't notice it but. It's one of those things that if you're not watching, then you could potentially have a big problem when your dad isn't replicated and notes go down and you get failures then you might see a lot of unexpected data loss when you thought that all of the data protection capabilities were in place but for us, we don't make those trade offs when we run our benchmark. So we say here's what you get in a true production environment in terms of performance, and you can be sure that we keep everything retained for business news that you would expect, and certainly some of the trade offs are pretty clear if people from there. With these, it's mostly about how much daddy can store. So you wouldn't use Hazel cast as your say your system of record for Peta Bytes of data we're talking more about operational data where you want to process it very quickly. So things like payment processing or fraud detection are good cases where you might have a good amount of data in memory as a cup, but also have the engine processing in parallel and being able to use that data in it almost transient way. So it's it's data that persisted somewhere else, but we put it into our engines so that we can have those very stringent, very data intensive workloads running. My understanding is that the actual implementation is as a library that can be embedded
Naomi Ceder - 20 Years with Python
"Python for twenty years. It's a long time to invest in a singular direction seems very focused and I wonder I have a couple of questions about that. You know. Of course you can predict the future. You can do your best to say I think this has a promising future but. If you're picking language in two, thousand, one in python is still relatively young. I think it was probably six years old at the time Is that right? It's about six years the thing. About ten years old then okay it was. Very. It was very yes. At at Lenox world where I I went to Gaydos workshops there were I think there eleven thousand people at Lenox ruled that that year and I know the more experienced establish python types wondered if there'd be enough to make it worse going out for beer? So it's not very popular. And of course, it's exploded in popularity for variety of reasons but. I'm more interested in what made you have buy in number one and number two. Is it accurate to say that you stayed fully focused on python or would it be more accurate to say that python was kind of the central? The hub and you may have had spokes to other types of technologies, other languages, right? Well. So. I've thought a little bit about about this general question and to be honest I. I do recall thinking in after I'd done python for a few years that. It was really likely that something else was going to come along. That was better more interesting more whatever I, and I would probably switch to another language and it it never happened I mean. Clearly there there are other things that you do along the way. So for example. Database technologies have have evolved and emerged. So they're different flavors of things that you can do with databases. So that's that's one thing you can do Know. Web managing things in the cloud there. There are lots of different areas around that. I think part of it was that python. Flexible. Enough to do all of the things I wanted to do. But I think also it's just that through a series of. Of Happy Accidents I think I would say a python has continued to kind of move and and in effect. I don't WANNA say keep keep up with me. Keep ahead of me. I suppose. So that it's always kind of been there for the next thing that I was interested in doing I you know when I switched to to being a developer full-time we we started using aws and it was a great way to help automate the management of that By then Django is maturing and I was working in an e commerce platform that that was based on Django. So we can do that. They are those things just kind of happened, and then now, of course, with the rise of of data science and I do a certain amount of not data science but data engineering, you know all of the things that data science needs in order to do their things. So. That has been part of the reason why that that's happened I think python really has just kind of seemed to catch one way of after another and you know having been involved a little bit in the leadership of Python. I wish I could claim credit for this but I don't think even Gita would claim credit for this it's just been. It's a good language certainly, but there are other languages with it just seems to have been. Capable and picked up at the right time to pick the you know the next wave. So I think that's part of it. So. Yeah. I. Think the other thing that has helped keep me around to though has been the continuing development of pythons community. Now it's something that. From from Gedo on to everybody else involved with python everybody values in his intentional about fostering community and Not all open source communities have. That going for them all the time. So I think that's been a plus.
AllTrails is All Rails with James Graham
"For the listeners who were not familiar, what is all trails, and of course, I'd love to hear the technical stack. Absolutely. So all trails is a platform that allows people to discover trails near them on adventures that they may WanNa take. We're really becoming a more of a personalized experience when you open the all trails APP. Now you're really greeted with rivers that you can scroll horizontally and vertically that I really personalized to you. You know telling you hear hear a great waterfalls here. A great dog hikes here are just less travel trails especially in this day and age for free to go and explore so you can use the recorder. And download tiles we have a pro feature that lets you download tiles So you can if you're in a low bandwith situation or may not have cell phone service when you're on the trail, you can really feel safe and secure knowing that you're able to go outside and still zoom in on the map and see exactly where you need to go. So what is the current technical stack I know you've hinted around that you've bet on ruby on rails song going to take a guess at Israel's but what else is going on there? Yeah. So our technical stack is is. Ferdie standard from a start up that that has grown where a monolith and we serve a restful API. Review on rails monolith. We also have a react component reserve beyond rails as well. That consumes the rest API. Some legacy instance variables that from the controller that we serve to react but we're slowly factory mates, my sequel database you know reactor cashing a lot of the standard You know pillars that you see your architecture one of the things that we've invested in recently a addressing scaling concerns as you can imagine During the the pandemic, we've seen a lot of growth. So scaling is something that's been really important for us So we've actually docker is start modeling and have spent a lot of. Working on container orchestration type. To help us scale that model. As we need to and and that's been really beneficial to us.
What is Programmatic Problem Solving?
"Really interested to just start off what is programmatic problem solving. I. Feel like that's you know we should start there bit of a definition or what we all think that I feel like there's probably a couple of different answers, Wa. Obviously had the first the same question at first to an all I knew I didn't even know the term programmatic problem solving I just knew it was something that I was struggling with that I was missing skills then So programmatic problem solving expectedly the way that looks while we're actually using it is that it's building an entire plan kind of an approach to a particular problem before you even be in writing code and so there are steps afterwards of course, and that's usually where I find that especially, new folks will jump. In. Right away what I find is that real life problem solving is only slightly different in that programmatic problem solving in particular relies on thinking in the way that a computer with think. So everything is more off on true false. Yes. No, we don't have that same gray area or kind of you have to build in your own fall bax stuff like that. So that's mostly where I tell my students that but yeah, data's the programmatic part of programming and it is one of the most fundamental skills that we can build in. Snug that one and cheers. So. It is one of the fundamental skills that I had seen that new coders are mostly missing in the beginning and I say this also from a personal standpoint because I have a very personal story with programmatic problem solving too. But yeah, in a nutshell, that is but programmatic problem solving is is very separate from actually writing the code itself. It's an entire process I love. You said a new person codeine that's typically how you dive in it. Absolutely I know I I started was like you just started coating to try and solve the problem instead of being strategic. Thinking how's the best way knocking allies still sometimes do that on like personal projects where I'm like Oh just you know figure this out as I go and I end up regretting it ended up just like a would have almost been a little better to just sit back and think a little bit more strategically about what am I actually trying to do and what's the best approach you're not gonna get it perfect like don't get. Me Wrong I don't think you're going to map out the perfect solution but I, think you you end up thinking like a few steps ahead and how you're actually building whatever you're trying to build. I've actually found and where it really hit me in the beginning was something that I call blink screen paralysis. So after you begin to move past working on the institute orioles and kind of using started out with treehouse initially and you. Find that you're using what you learning. You feel you're gaining confidence and that's the important part truly. But once it starts to get tougher, which is where I got bottlenecked. You realize that it really is eyesight. Pro Programming is eighty percent problem solving in twenty percent writing code, and then you can look up so much. There's documentation out there for writing code there isn't documentation for approaching a problem we have to actually use noodle and. We have to be able the to create something that makes sense or else your solution isn't GonNa make sense either it's not gonNa work at all or you'll be solving the wrong problem entirely which I see to like not literally the wrong problem but you miss identify what you need may be as output. So it's Yeah. Those kind of some issues that I see though and people get overwhelmed they get turned off their associating. Negative emotions too closely with the experience of writing code from scratch. So I wanted a way to help people. Will I stop to help myself but also to help other people to navigate that experience to really avoid a lot of overwhelmed too. And It's it's a transformation truly I've worked with people in real life. I've worked with people. You know kind of doing Programmatic Problem Solving Love Group coaching on it because like they bring in problems, it's like, okay let's pick this apart from the beginning and that's the beautiful part. There is no cord a your code in the course I very language Agnostic Kodak. Nas because you don't need. To be able to write code truthfully to learn how to solve problems.
Launching Statamic 3
"Time we were talking, we were talking about how the static three. was imminent it was around the corner. Without an exact date, it was almost there but not quite, and now it is old news. It's all due to it already. Done our traffic is is back to zero. No, it is dude it went. Well, it was a great launch. It was the smoothest launch we've ever had and things are I mean I'm pumped? I've actually slept a couple nights. Yeah. No no crazy emergency disaster scenarios or minimal. No. There was like one issue with a with a database migration that has actually ended up being a red herring. So it kept our site down a little longer than we planned, but there actually wasn't any problems and boom than we were. We were up and running. That's good. So I, mean you said it went well, what does it mean to go? Well, how much? Are you willing for about it. Yeah. So I mean going well would be are going poorly would be, oh, my God is broken. GotTa, know the pricing model has changed and like screw it I want refunds on everything you know like all of those scenarios like falling apart. but we were in Beta for six months. So the code base, there was no surprises area most people had right. That was that was pretty clean. We did Server Migrations and upgrades a month ago ahead of time like and then all the redesign stuff was on a separate branch. So we knew the server didn't need any work. We just had to basically composer install like you know build a new talent stuff. So that went pretty smoothly. And then people were adequately prepared for what was coming and everything worked. So He's Like all the upgrades going going fine Most of them are free because you know we gave them like a grace period upgrade from two to three. They're flooding in and every single time. It's like zero dollars zero dollars zero dollars zero dollars. is like a good feeling and has also like Well Hey, you know that's it. We're a long haul and people are using it in their excited. So to me, that is all I can hope for and it met all expectations. So Nice. Yeah. What's changed? I? Guess in terms of the day to day. In Stein mcclen now, like doing recon having straddle the V Two v three worlds a little bit more before he kind still making that transition in terms you have for sure there'd be. Like their report Super Educates bug for Vito like some I. Feel tape most people don't use and windows like seven like Oh, God I don't want to put up a vm just test this thing like well, the three it's fixed but It's not official yet. So I guess we need to work on that. Now we can say like education. Bugs. Come on. It's a free upgrade wrote for free to do like ninety, nine point nine percent all the work for you if you can play hour of work and you'll get more out of it and it costs you nothing. So yeah, I think most of the time people are are totally and so far they've been totally agree with that like. Yep Dot Click, whatever so that part has changed and then. Yes it's like being able to use v Three's not as a V. Three is Beta. ME. Every single like, oh, we should probably just switch to three I know like it doesn't really look like it's But. I mean it's actually more stable than V two probably is but yes. Yeah. We don't have the hedge our recommendations anymore, and at the same time, we also now can't use it as an excuse for not doing something not that we would like do that actively but every now and then it's like. Yeah. We were kind of working on this other part of the launch right the redesign working on something else and we'll get to that soon but it's Beta. You know. So now is oh, that's important. Let's fix that immediately and so that. You know on both sides of the fence both like freeing us up and also like putting us into a proper responsibilities both of those are are happening and that's that's what needs to happen. Right important.
Report: Algorithm question complicates TikTok sale
"Late last week China updated its export rules that might sound like a small thing but it could have a big impact on the tech industry. One of its changes focused on artificial intelligence technology including things like content recommendation algorithms. It just so happens that an advanced content recommendation algorithm is central to you GUSTA Tiktok. The Algorithm is a big reason why companies like Microsoft Oracle and others are so interested in buying the social media up the new rules from China could apply to any sale of TIKTOK US operations. So deal talks are in limbo and the impasse is raising the question what's TIKTOK WITHOUT ITS ALGORITHM Here to explain as a reporter. Aaron thanks for joining us. Things revved me. So what is it about tech talks algorithm that all these companies are interested in what is the do? It. Surfaces content you know I. It's. It's like any other sort of use suggest auger them. You you see on your facebook news feed or browsing instagram in the search function you know it's just it's just catering in tailoring content for you, but it's pretty remarkable the level of engagement that Tiktok as seen because of the algorithm and they they have they have different algorithms, free country tailored to different cultures and countries and. Regions and they have so many users engaged. They get so much data that they're able to really tune these algorithms for maximizing the kind of engagement they get, and so you know without it it's you know what is tiktok except a pretty basic video app it is really the core of the product. It is pretty essential and TIKTOK has a really big audience. Are they enough to keep some buyers interested on their own? Yes. So if the American companies were to buy, Tiktok with out the algorithm than what they get is is a pretty good video APP with a lot of users, and if the product doesn't work the same way, if it doesn't, it doesn't lead to that kind of crazy engagement they get now the algorithm powering it I think there's a real risk that this audience would leave the platform. Right. Now they've they've around one hundred, million monthly US users you know in these companies would have to develop their own out of the room but that would take quite a long time months possibly years and I think by then it'd be there'd be a big risk of these users leaving the platform, and of course, the stakes are pretty high. The trump administration has said that tiktok either has to sell the operations or face potential ban and. Talk is a lot less appealing to these companies without the algorithm and without its audience. So. Looking foward what's next for this deal? Yeah right now, it's kind of a above the company's heads. You know right now it's this sort of geopolitical tug of war between us and China both governments trying to weigh in on the deal and and decide what how this will be best for each country and the company's inside that country. So right now it's it's really kind of above them and it's waiting to see what the Chinese government will or will not allow to be sold and what? The trump administration deems appropriate insecure for Americans. So all these companies involved in this deal are any kind of wait and see mode in some ways. I mean. They're trying to negotiate these things but they really have to wait for these governments to decide what they'll allow to happen. Yeah and zooming out to that geopolitical level I as a huge engine behind development in right now, and it's the thing that's being restricted here by both the US and China. Why is that an and what could that mean for tech innovation the future? Well I. Think There's been certainly love commentary about the sort of Cold War, going on. In artificial intelligence is very central to that. Certainly, tiktok uses the artificial intelligence technique called deep learning to develop their algorithms are so the results in so much engagement and these same serve techniques a deep learning are being deployed and weapon system. So so whoever has access or the the ability to develop some the best says Systems here I think has a huge competitive advantage. So both sides are trying to keep a very close eye on who has access to that and how it's how it's deployed and and you know China doesn't want to give away the keys to the algorithm especially around Tiktok, which has been there really big global success. One of their first big global successes in the Texan
The Stages Of Relationships With Mistakes
"Here's the thing about mistakes. It is invoke and. It is certainly popular. To accept that mistakes are going to happen. So I don't want you to check out too quickly because you've kind of jumped on that bandwagon this is something that. Has Been discussed a lot in. An podcast like this it certainly has been discussed in plenty of books. We talk a lot about the importance of psychological safety. In today's episode, we're GONNA take. Another step further. And not just talk about acceptance of mistakes. There's more to this discussion there's more to how we should behave or how we can behave. To deal with mistakes better to have a better relationship with them. So hopefully. You'll stick around. As we go through this scale and there's five kind of categories, five points on this scale that you can find yourself on almost certainly, you'll find yourself somewhere on this on this scale. Now, of course, we're going to talk about it in terms of very discrete points on the scale. But this is a continuum. You'RE NOT GONNA act only one way you're not going to fall entirely into one point on the scale but I encourage you to consider how you might react or how you might behave to move to a new point on this scale if you don't like where you're at. All right. So this this podcast, this episode is not intended to. Make you feel bad about where you are on the scale but instead to. Try to provide a clear picture of the full-scale. Altogether. So the is to zoom out of your own circumstance. and Try to imagine what other circumstances. May allow. At one thing that will note in advance before we get into the scale is that there's no point on the scale where you have escaped the relationship with mistakes. In other words, you always have mistakes. There's no point on the scale where you will be able to break away and stop making mistakes so. That should not be a goal as much as we wanted to be a goal, it shouldn't be a goal. And part of the reason for that is because. If. We don't have mistakes than we are probably not learning. We're not pushing past our previous. Barriers not just individually, but as teams, and we're not helping others grow. Okay. Let's get into the five stages of your relationship with mistakes we're going to start at the. least healthy relationship with mistakes. That is the stage one this willful ignorance willful ignorance. You've seen this done before you probably have done it at some point and perhaps he regretted it. But the idea here is that you just ignore the mistake. Whether that's a bug in code or some other mistake, some other faults. You are willfully choosing to ignore it. This isn't because you're not aware of it right It's possible that you're not aware of a lot of mistakes. which this kind of scale you can't really have a relationship with something that you're unaware of. So we kind of ignore that for the sake of this episode but. If you're willfully. Choosing. To avoid any kind of contact with the mistake in other words you're not investigating it. You're not. Trying to change it in any way. You're not trying to understand it in any way. You're just ignore you're going about it. You're going about your job, you're. Writing Your Code is if that bug doesn't doesn't exist at all. You might ship that bug into production knowing it's there. Now why is this important state to bring up? Because this is something that we do more often than we realize most likely we are choosing to. To. Prioritize one thing over another understanding that there's a mistake. That we're not rectifying. and. In some ways, this is actually functional. This is important to be able to do with the right kinds of mistakes but. The part that breaks down and what's unhealthy about this stage is the idea that we're choosing to kind of stick our head in the sand where willfully ignorant. It's a little bit different to be cognizant of the mistake to understand it and to be able to categorize it into a category that says, oh, this is a low priority mistake, right? But that's not what the stages the stage one is willfully ignorant. So you don't know what the priority is because you're choosing not to inspect any further. Now, you can be on the opposite end of the scale and we'll talk about the opposite end of the scale shortly, but you could be on the opposite end of the scale and still choose to ship known bugs into production because they're low priority Maybe you found work around or whatever the case is, but you're not being ignorant on that end of the scale right? We're GONNA. Talk about that in the scale but understand this will ignorance is the idea that somehow you expect the universe or heard some other force To manage the mistakes for you. What's strange is that sometimes that actually happens right sometimes, we ship a bug into production. And then we write code we rip out some Old Code Not even knowing that that co contain the bug that we shipped to production and that bug of course, because it's been replaced with new code and bug goes away so. This accidentally works right. Is Not by design, we're not dealing with our mistakes by design we're dealing with them haphazardly or by chance. Okay let's move on to stage number two. and. This is still not a very healthy stage but at the very least, we're not willfully ignorant. This stage is treating mistakes as anomalies treating mistakes as anomalies. The idea here is when a mistake occurs, we consider it to be. An exception. We considered to be out of the norm. And so we don't plan for mistakes. If we're in the states, right we ended up having to work extra overtime because we expect that we can work at, let's say eighty or ninety percent utilization of our time. and. We'll be fine because we don't make mistakes regularly, and so why would we build in time to deal with them? And this is where we find our problem. Right? Because anytime a mistake occurs not only do we immediately jump into kind of an urgent state. But we also don't plan ahead for them because if mistakes are anomalies than. At on average, we're not going to have them. On the average day, we shouldn't spend extra time preparing for those mistakes. Because, they don't happen often enough to prepare for them. Of course in that stressful state when we've made a mistake. And we're already at our limit. We're having to fix our mistake above our limit. This is a critically important thing for managers especially understand if you push your team to their limit. When it comes to a critical moment. Mike for Example if you ship a bad bug into production. But you're already at your limit your already pushing people to the point that they can't really give any more tired or they're. Mentally burned out. Then you're in a really bad scenario to deal with that mistake. And even though you're not willfully ignoring it. This is still a bad scenario to be in. This is still a bad relationship with mistakes. Because you're already at the limit, you're probably going to make another mistake. And you can see where this goes right as we continue to snowball our mistakes on top of each other rather than slowing down and having the head space to deal with them. Those mistakes continue to compound. Right so this leads to really bad kosher and of course, treating mistakes as anomalies. Makes People feel horrible. It makes people feel bad and not only bad. But also scared they're afraid to make mistakes and we know from plenty of research and we already kind of alluded to this at the beginning. That the opportunity to make mistakes is critical to success. It's critical to having an innovative in healthy team. in in this is something that has been shown in study after study, right this is not novel if we have people who are afraid because they think they're going to make a mistake and it's going to push everybody past their limit because mistakes are supposed to be anomalies. That's a really bad situation to be in both individually and does teams.
How Zero Sum and False Dichotomy Thinking is Distorting Your Decisions
"One of the things that we talk about a lot on this show. Cognitive distortions. These are filters or Kind of lenses they see the world through. and. These have a major effect on your belief structures and they have a of course major effect on the way that you react to the stimulus that you receive in the world. Whatever stimulus is right that's a fancy way of saying. However, you make decisions is going to be largely affected by these distortions and there's a lot that we've talked about on the show. And we've probably talked about this one quite a few times. But I WANNA talk specifically about how this particular distortion limits, what you believe and also what you believe is possible. as engineers we know that. So much of what we might currently believe is distant or close to impossible that engineering and science and that iterative method. Question an inquiry all of these things have made so much that we once thought was impossible possible. And That's the kind of the muscle that I want you to stretch and inspect in this episode. Because, this particular cognitive distortion is A egregiously difficult sometimes to get passed. In the cognitive distortion is kind of a mix of two different things. One is binary thinking. We've talked about this quite a few times on the show. You can also call this. False dichotomy thinking. The idea that any given scenario, there are only two options. There's almost always more than two options. There's almost always more than two answers. Now. What's really interesting about this particular distortion? Is that it's easy to see why our brain does this. It's easy to see that. It's much easier to think about two things than it is to think about three it's easier to weigh the pros and cons between two options than it is to weigh them between three. and. So if we are aware of this, we can see ourselves going to this very easily polarized way of thinking most obviously, it happens in politics there is one side or the other, but we also think this way in sports. There are very few marge scale sports that have more than one team playing at a given point in time most often those sports. Are Single player. So we end up with this easy to understand or easy to comprehend the differences between these two options, and so it makes it tempting to polarize your options so that you can either subscribe or deny. You either. Get behind something or you can push away from something. It's much more nuanced in reality right? A politics are obviously much more nuanced and certainly all the decisions that we make as engineers. If we end up in this kind of false dichotomies world where we put one thing against another. Those very often are much more nuanced as well. It's not one language versus another language it's. All of the options that are possibly on the table. And so our brain works very quickly. To reduce that variability and to try to make the decision easy to try to make the comparison. Easy. This is purely for efficiency sake our brain is an of interested biologically speaking in doing the least possible conserving the most energy for other tasks, and so it's easy to see why false economy could could rise up in that scenario right? Your brain is pushing you to create very distinct an obvious categories. Similarly. This is the second cognitive distortion when these to combine, they can create a dangerous scenario. The. Second cognitive distortion is thinking zero-sum. So what does that mean? You've probably heard of zero-sum the concept zero-sum. The basic idea is that whatever resources are currently available and we'll get into that a little bit whatever resources are currently that's all that will be available. So, we have to allocate those resources. In some particular way and most critically if you take resources from one location and you put them into another location. You're kind of unequivocally taking away from one thing to give to another.
Why you should consider learning Ruby with Jay McGavren
"Of it, what makes ruby so different from the other languages that were around time while you probably heard been classified both parole and Ruby scripting languages, and this has changed a little bit over the lives. Of both languages but at first they were interpreted basically, you load the program in from a plain text file. At the time, you're going to run it and it gets interpreted and maybe portions of it get compile just right there on the spot and what's Nice about that setup is that you can load new code at runtime and interpret it on the spot. So. That enables things like making changes to your model or your controller and a rails APP, and without restarting the APP you can just reload the page and a load, your modified code in and run the new version. It's very tight feedback loop. So you can make changes to your code and see the results very quickly much more quickly than you can with many other programming languages. One of the other things thrive heard about Ruby and why people like it so much is that it is very much like English, and it's just a lot of fun to write and it's a lot of easy. Is really the right word but just something that is more joyful is how I've heard it described. Would you say that's true? Yes. You can definitely right ruby and a very expressive style which if you want, you can make it look a lot like English. So you'll find that ruby code often doesn't have as many comments as code in other languages, and that's because you can make the code itself. So clear easy to read. Can you paint a picture of what coating in Ruby like when you say it's expressive and even words like joyful? What does that mean? What does it look like Dakota? Ruby. I usually referred to it as the language getting out of your way. It's very flexible language. So you can declare new methods dynamically and call them. For example, you can call methods that you have haven't even directly written in Your Code I. Let's using technique called mid a programming. You can actually call these methods and the interpreter will figure out how to turn that into how to access the correct portion of your code based on that method name that you've defined on the fly. So we just a really flexible language. So you used to go to parole now. I think Ruby is kind of your thing what sold to on Ruby. Perl in the mid two, thousand, twenty, ten decade it was starting to sputter a little bit Pearl it'd been on Pearl five for quite a long time pro six have been promised but it wasn't really coming out and. Process has been released now by the way but a lot of folks had to move off Pearl because really wasn't that popular or that actively maintained anymore and Ruby is like I mentioned just very much kindred spirit to Pearl. So it seemed like a natural place ago and again like so many other people rail sold me. It was just really cool framework and I felt. It was something I just had to try so thinking about Ruby and comparing it other languages, Perl Java script and others. What would you say Ruby is best at Ruby is best at starting new applications. So if you need to prototype something or if you need to build a really large complex application, quickly ruby is going to be the easiest place to do that now. The other side of that coin is once applications get really large. Then you're missing out on some of the niceties of compiled and statically typed languages. So you're not going to be able to load up your ID and immediately list all the places that function has called. For example, because of those dynamic functions, it's very difficult to determine where a component of your
Measuring & Managing Community Orgs, Developer Relations and Beyond
"Okay so wide Deverell. Going to be quite controversial here. Don't do it's. We are engineers that talk to other engineers and convinced them and help them to do stuff. Right. So if you're a star up, you need to choose between someone who developer relations and an engineer that is a hard trait, right? That is not easy and you only need to do it if you have to. So if you don't have to if this is a nice to have. Yes. And, we'll have a set of P is or maybe developers will help us then I really strongly recommend not doing any develop relations, develop relations expensive. It creates a lot of maintenance. It's a one way door. It's a decision that you can go back from. So if you open an API and then close it, developers will never ever trust you again. So remember it is a hard decision but. It's very empowering if it really drives your business so I would stipulate that more than ninety percents of startups do not require developer relations. It is required when you are building a platform when developers actually are the creators of the value of your up when they're your users at slack, we started without a develop relations and then we started building and develop relations, and the key here is that. We found out that the platform is the number one NPS net promoter score for using slack people were always super happy about the integrations when we asked him, what is the most important thing? They said they integrations when it wasn't number one, it was in the top three all the time. So the developers were driving a lot of value to our core audience which are paying customers. So how'd You have advocate C., which is the one too many. These are the people like me who speak on stages and say praise the Lord here's our API or here's our token in your case, and here's the use case, and here's the value. These are people who create scalable content they create the articles and all these other things that are super important to inspire developers. Then you have partnership engineering, that's the people who work with one. To one relationship, these are the people that you send to the top clients, the top developers and the first year I actually invested most of my money in partnership engineering I vetted most of my time in people who know how to do these type of relationship with top developers. Then you have enterprise architects. This is if you're doing an enterprise use case, these are people who go and do post sales support and make the usage wider. And then concentrator super important. These are people who write the docs for your developers. It is super critical to right the right docks I measured that's team by meantime to hello world. How fast is it for developer landing on the developers sites to reach success? Right. So that's I think the most important part of that team's job. The also are the voice of the developers develop relations. This is what you do. You Inspire developers you tell them what you've built and why this is important for them. So now they are inspired, then
Sitting down with the Kotlin Advocates
"We are all develop had for Katelyn. Some of us are for areas that are better well known some of us of areas that are less known some of US offer areas that say oh. Oh, you mean that Kotlin is more than just android So talking starve aside talking Kotlin Jaaz stalking everything else that is not android and so I wanted to discuss a little bit. What life is like as a developer advocate at jeppe rains as a cotton develop advocate jeppe brains, how we work, who tells us what to do what not to do well. Before, I I would say that it was mostly we would decide and then sweater you decide now for us right? I wouldn't put it like this. No I'm just kidding. Like I know you're laughing there you're muted it doesn't make sense. I can record my life and you can after add it. On the places that you want. Yeah I'm like are we gotTA have a back? Channel on slack that I keep pressing a button that says you know now laugh and then everyone loves so this is I think to the vision death like long time ago so But anyway. So No, let's let's discuss a little bit like what what color advocacy implies. So especially, nowadays that you know a lot of times when we talk about when we talk about advocacy in general. People immediately associate that with going to conferences and giving talks and. Engaging with people in the community and stuff like that. And you know right now the situation in the world is a little bit. and. So people kind of ask me sometimes, I what do you do all day because you can't really do your work can you and we're GonNa Bust this myth right that developers are more than just about going to conferences. And to bars and to. Having Beers and and the. And the podcast yes. So what do you do? What? What do each of you do on a daily basis try to out a lot with a on on twitter and kind of A feeling for how people feel about technology, it's it's pretty known that that Cutler Jay s for example, has a couple of rough edges them So I tried to kind of see who is trying to adopt the technology try to help them get started and can either be on an individual basis reaching out to people asking them for their feedback to the technology, and then bring that back to the team. But it can also be in the creation of materials than the people can just consume at their own pace. So for example, on play dot, Copter Nine, dot org, we have our section of hands onto orioles, which are kind of long form to`real, you've go through in interactive fashion and we of course, right those we keep those up to date and we always allowed the community. What kind of topics should be covered. And also keeping with the Team that actually developed technology right Shanyou well. As, we know that the Greater China? Region is huge. So for me I think it's more important to facilitates with community. So basically I Love connection with the community leaders. Mostly East our cutting user. Group. Part of. Confront you. And I tried to arrange some Webinar, to invite sound speaker to share their experience about calling. And the in order to. Make more people to learn calling I arranged. Study Group. Study Jen. that. We have on lies degen that Basically teach people how. Write calling coat. And we also have their coating practice. that. Encourage. People to use calling in different way. For example, we use calling in beckon you can have a new can learn how to write calling. Using Kato War or even in Spring boot. You can use calling in enjoy can use calling in data signs. Et Cetera so we provide. The possibility to poke to calling is everything. So that's why we do every for every day.
Nicole Archambault: Bringing the right tools to the table
"I'm interested in your. Perspective on what it means to bring the right tools to the table and specifically because a lot of that wrote early stage program programming learning, and the you mentioned, for example, object oriented patterns. A lot of the earliest things that we learned though are not about those patterns they're just about me you know if statements for loops and. Those are all absolutely valid and important contracts to learn. How do we make sure her that were not That were kind of adding to the tool set in the right direction. What's your perspective on the es you know as you're talking? And really, you're hitting on all these key words, dot I, taught i. Put into my course I heard valuable feedback that it was helpful for people and I feel so confident now that I've included the right topics because you keep referencing them. So it's I have an entire section in my course dedicated to your toolbox. You need to know what you are working with in order to be able to solve the problem. Now, we're not always going to have the answer as far as capability that is the point there but again, that should be such a small issue for example, and I also really enjoy Ruby I was going through kind of the manic learning to code face when I started and was exploring rails because I had hit that wall and I had to. Reevaluate effectively how I was looking at my problem and how I was interpreting it. So, I was kind of in that manic phase going from language to language I. Had realized that you know I think I hadn't realized yet. The problem solving was at the core of my issue that it didn't matter which language I went to I was still going to run into problems And so knowing the tools. For that pertain, the capabilities of that particular language was less important than understanding the tools in. So I walk through a completely code language agnostic explain like I'm five type stuff I walked through every component from you know variables functions for loops, the different type of loops and I explained to that your capabilities language are going to vary they are you know they're gonna not just very a name, but it's they're gonNa vary ability you just might not be able to do. It might be three steps to do something and every language has its own quality of life. You know if they have areas where they really. Where they really thrive, you know working with different types of data structures may be a no python very popular for working with data and so understanding at least what you're trying to do. So I could say, add this to this. You know add this name value pair to this object or something, and like you said in Ruby. If we were to go through that, they had this beautiful quality of life feature for being able to retrieve that information or to add information, and then it knows have just a stop if in you'll get an arum sure because dot will trickle down tear expected output, which won't be accurate. So really you're looking at that entire set-up there of it's just such an important an important stop. Is determining what those what those actual things are that you can use? It is literally a toe bots. Now, if I were to go in it, and some of these are so easy to find on stack overflow or twitter just as I want to do this I art but the key is you already know what you WanNa do right I want to do this how do I do this in Java script also, you should have great Google Google skills. By that point, you should be able to see if he can find something on. Stock overflow because you can't be the first person ever that is going from that language shall dot language and just want to know how to kind of transpose that ability now. So it's I. Think the people really do put an especially new coders. You know if they don't get caught up in that manic kind of cycle there really is an when you learn the foundational skills in the foundational tools you know how to iterating through something for example, I'll have in there and four loops and you know some languages might have switch statements for. Example others might not. It might be called something completely different. If you're able to do that at all, you know actually expressing certain cases for different input and so yeah that that functionality is definitely going to vary and it's going to vary also you need to have your solution effectively step through so that you know what you're trying to do, that's really the key in every step here every step in the previous steps are informing the next step.
Daphne Koller, PhD: CEO and founder of insitro
"Tell me a little bit about what you're doing at NC tra-. So the premise for what we're doing. Really. Emerges from what I said a moment ago, which is this last decade has been transformative in parallel onto feels very rarely talk to each other. We've already talked about the advancement on the machine learning side than the ability to build incredibly high accuracy predictive models. In, a slew of different problem domains If you have enough quality data on the other side, the biologists and engineers have developed a set of tools over the last decade or so that each of which have been transformative in their own rights. But together they create I think a perfect storm of large data creation enabling large data creation on the biology side, which when you feed it into the machine learning piece, can all of a sudden give rise to a unique insights and so some of those tools are actually pretty special and incredible. Honestly. So one of those. Is What we call in DC pluripotency cells, which is we being the community not we didn't see Tro, which is the ability to take skin cells or blood cells from any one of us, and then by some almost magic revert them to the state that they're in when you're an embryo in which they can turn into any lineage of your body. So you can take a skin cell from US reverted to stem cell status, and then make a Daphne Neuron and that's amazing because that definitely Neuron Carey's might genetics and if there are diseases that manifest in neuronal. In rural tissue, you will be able to potentially examine those cells and say, Oh, wait this is what makes a healthy neuron different from one that carries a larger genetic burden of disease, and so that's one tool that has arisen a different one that is also remarkable is the whole crisper revolution in the ability to modify the genetics of those cells that you could actually create fake disease not disease because it's real. Disease but introduce it into a cell to see what a really high penetrate mutation looks like in a cell and then commensurate with that there's been the to measure cells in many many many different ways where you can collect hundreds of thousands of measurements from each of those cells. C can really get a broad perspective on what those cells look like rather than coming in with I know I need to measure this one thing. And you can do this all at an incredible scale. So on the one side, you have all the capability for data production and on the other side, you have all this capability for data interpretation. And I think those two. Threads are converging into a field that I'm calling digital biology where we suddenly have. The ability to measure biology quantitatively at an unprecedented scale, interpret what we see, and then take that back and right biology whether it's using crisper some other intervention to make the biological system do something other than what it would normally have done so that to me is a field that's emerging and will have repercussions that span from. Environmental, science biofuel bacteria or algae. The do all sorts of funky things like carbon dioxide out of the environment. Better crops. But also importantly for what we do better human health and so I think were part of this wave, the starting to emerge and what we do is take this. Convergence and pointed in the direction of making better drugs that can potentially actually be disease modifying rather than. As many other many existing drugs just often just make people feel better but don't really change the course of their disease
Apple and Google vs Epic and Fortnite: What you need to know
"There's a clash between Apple Google epic, the maker for night over APP store commission fees. So what the heck is going on. I'm ready Chang and this is your daily charge. Joining US insurer editor at large has been covering the drama for us. Thanks for joining us. Thanks for having me. Two weeks back just to kind of review things for our listeners lay the conflict for us. This has been fascinating to watch because we don't get to see stuff like this terribly often. But essentially, what happened is that EPA Games which you mentioned makes fortnight. They decided that they were going to go up against apple in a really dramatic fashion, and so what they did is that they kind of provoked a response out of apple they knew they would get in the caused Lodhran. So apple has rules on their APPs store right? You're there certain things as a developer allowed to do, and there's certain things you're not allowed to do, and one of those rules is that you have to use apple system whenever you're doing purchases through an APP. So if I'm buying extra coins or whatever you want in an APP or even subscription to Netflix. I have to get to go through apple's system and part of what apple gets out of that is thirty percent commission up to thirty percent. Sometimes, it's lower for all of the commerce that happens through the APPS. It's a really problematic thing for of developers. It's become more dramatic over the years even though commissions are roughly what they have been for a long time. It's become kind of a as apple's platform has grown, and especially because a lot of apple users tend to spend more money than Google users, it's caused a lot of consternation. So epic decides they're going to change the way the pay payments are done in the APP. They offer people discount if they pay us through the epic system instead of apples and apple decides no way. They kick him out of the APP store and then epic turns around and sues them and it was an amazing couple of hours to watch because. Epic knew this was GonNa Happen they prepared a lawsuit is extremely dramatic opening to the lawsuit bringing up how apple in nineteen eighty four was all against the corporate machine of IBM and now they become the carpet machine and it was really they really they even posted at. That famous nineteen eighty-four commercial from Apple Right. It was genius. I mean. You know not taking sides here but you have to respect the way they played this game. And as a result, you know free fortnight the Hashtag went to the top of twitter worldwide, which you would kind of expect when there are two, hundred, fifty, million fortnight players out there. But it's been a since then there's just this all of this drama that's happened between apple and it's worth noting by the way that Google was also provoked by all of this and in that same day that first day they actually kicks for night out of the store, just the same and and a fortnight turned around and. Sued them and in the opening to that lawsuit there like in the beginning Google was so proud of being don't be evolved and now they've turned around and so it was it was really like it was pretty fun to watch. So anyway, apple and an epic become the real drama in this CAS apple continues to kind of in a way publicly fight with epic whereas Google an epic We haven't heard much about since ultimately, what what does this mean for consumers especially right now with what's going on and? Specifically for Gamers play for night like what? What has these what does this dispute? resulted in for. Gamers. A really interesting sideshow while we're all board from the pandemic. I think that for most people obviously, if you don't have four nine download to your phone tough cookies, you're not going to be able to download it. Until some point epoch has actually asked the judge in this case to put a kind of rule out that would say epic can have four night in the APP store until this lawsuit is over and there is precedent for that kind of thing mostly in Europe, but it could happen. Otherwise if you have an android phone, right anything this on my phone then it you will be able to download fortnight from epoch directly be can't get in the Google play store. So that's that's kind of how consumers are affected and there are larger implications here by kicking epic out of the APP Store Apple also revoked their developer count and epoch actually make tools for game developers as well. It's called the unreal engine and this is actually in a lot of games you may not even realize. So as a result now, the unreal. Engine is going to be not be able to be changed and updated as as things go on without that developer count, and we may see that suddenly a ton of games might just break on iphone. So that could be pretty bad too but it's GonNa be a while before that happens and Katie Mr examples of some games that use the unreal engine on these APP stores. So the games that are on the APP stores that used the unreal engine you have always heard of a epic actually put out a game called Infinity Blade. Hugely, popular on the APP store a couple of years ago, and it actually had two sequels as so it was really popular. There are outside developers as well who've used it. For example, there was a game called City lockdown that was a again, pretty popular and ended up doing well on the APP store. There's a bunch of other games out there that are more. Usual stuff like pinball games and and racing games and stuff like that But the point here is that a lot of the developers out there increasingly used on real especially in the PC gaming in the end, the console gaming world. So this is something that could be really meaningful as apple and Google try to kind of turn their their devices into these gaming platforms suddenly cutting off one of the main. Gain Development Systems is a pretty bad look
DevOps and Site Reliability with Matt Watson from Stackify
"This sort of field and and what serve inspired you to take the leap from whatever you're doing at the time to say, I want to start I company built a company around. DEVOPS and site reliability. Yes. So I am now thirty nine years old just day was my birthday and happy birthday. So thank you. I actually started my first software company when I was Let's see twenty two years old and. Coming Calvin solutions and that company grew really fast it was actually it's weird to think about now but was really kind of on the forefront of SAS software as a service companies in back. Then crap was hard like if we needed more servers like we're racking servers and stolen vm ware and like dealing with all that kind of crap and you know none of that was fun and none of it was easy and it was before the cloud right before aws azure and all these things, and so did you have a warehouse or something i? Mean how did you see we use? A local data center I mean, it was just a lot of can't city data center but you know so that company really grew really fast and in two thousand eleven we sold it. But when we sold it you know I had about forty people that worked for me and it most of that was software development but we had every challenge in the world from you know how to scale this thing the performance and bugs, and trying to build new features, and like we had all the problems as a startup, right? And you know my goal when I when I left there and started stack by was to build a set of tools and a platform that would help developers better understand how their applications are performing, how to troubleshoot basic problems. View errors view log files know just basic kind of day to day stuff, which is a lot of a devops `sorry kind of stuff these days but the problem I had back then and is it felt like myself and the three or four other. Developers that were the most important people in the whole company spent all day long looking at log files and trying to solve bugs in production. Right when we have like forty other developers, but they just didn't have the knowledge, the tools, the security access you know just didn't have all of those things to really help troubleshoot things and we just didn't have the tool. So that was originally the goal was know how do we build a set a tool sell developers troubleshoot basic problems You know so that the lead developers don't spend all day doing it. Yeah. Yeah. Let's try to unpack. I'm pack you. It's actually there's a lot of complexity around. Just getting. Some diagnostics into your hand, right. So you have this data center. Now most people are using aws. Let's say you've rented out a portion of the data center and you have some servers on it. How do you go from one hundred, thousand, ten, thousand machine serving some website to? Being able to look at something on your computer and say, Oh yeah, this this is bad. This log line is bad. How how does that end to end process look like? Well so all of these things have changed a lot over time right and used to be you know developers and system administrators would would set up all these machines and have a load balancer and you can log into the server and. Of course, you have all the DISA- Curie access, you know concerns with all those things right. But now you fast forward to today and like servers aren't even thing we have containers or we have server less applications and you now you're deploying a container somewhere and there's one many of those instances of that container and yet to your point of like. Well, how do I get the log files off of a container? Break it's it's like there's more and more levels of abstraction from you know developer or anybody on it to troubleshoot these things. There's multiple layers of automation and abstraction and all this stuff which makes it more and more difficult to troubleshoot some of these things because we use Microsoft azure stack by and we were really trying to troubleshoot something and I had to figure out how to SSh into a container that was. Am by the one I I'm an old Microsoft developer basically who eats every hates everything command line related. and. So I'm I'm not an old dog and I feel like an old dog now being forced to learn this Cuban eighties in all this stuff and Lennox. And I'm like God the is. So can I just like already pee into the box and like trouble shoot some things it'd be a little easier but you know the only way we get access to these things today is to get all the data off the servers right so like log data we gotta get the logging data off of the servers containers, the server lous APP whatever type of APP it is wherever it is wherever it's deployed you've got to get that data off of there and get it to you know A. Centralized. Logging solution which there are a lot of those backfires one of them we centralize logging, but there's things. Or all sorts of solutions that you can throw all of your logging data into elastic search, another popular how how does that work? So someone wants to use any of these. Let's say Stack Affi-, they built some docker container that has their their their website business logic, and then how did they connect that to Stack Affi- they? Right As. Part of their code like you have something in every programming language. So using say see boss boss or or no gas or something they have to have some line that says you log this Daca fi like how does it? How does that work? Yeah most developers in their applications use some form of standard logging framework, right? So in dot net that's log for Jay in its nausea since it's Winston, you know dot net it's in log log frenette are. So there you know they use these standard logging frameworks which help you decide if you WANNA logged the disc or log to. SIS LOG or windows event viewer rolling files on Disk, and all these different things right and so most most of the way you do this is they sport different targets or penders that are seeing the call different things. But basically, they're like extensions that allow you to just change your convict file to say you know what I want to send these this logging data to this third party source now, which could be stack or whatever the thing is right so It's usually a small configuration