Podcasts about mvvm

  • 84PODCASTS
  • 170EPISODES
  • 45mAVG DURATION
  • ?INFREQUENT EPISODES
  • Aug 26, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about mvvm

Latest podcast episodes about mvvm

healthsolutionsshawnjanet
EP 486: Discussing the History of Traditional Medicine with Doctor Jason Kinley

healthsolutionsshawnjanet

Play Episode Listen Later Aug 26, 2024 50:24


On this Episode 486 of Health Solutions, Shawn & Janet Needham R. Ph. discuss the history of traditional medicine with doctor Jason Kinley. 00:00 - Start 00:58 - Dr. Kinley's Introduction 02:32 - Dr. Kinley's Background 12:45 - Listener Comment / Pertussis 16:57 - The Flexner Report 24:58 - Spanish Flu 28:27 - Listener Comment / Sanitation 30:24 - Fever Control 34:56 - High Cholesterol 35:41 - Tetanus 38:58 - Listener Comment / Genetics 43:16 - Dr. Kinley's Passion 46:15 - Dr. Kinley's Contact Information 48:06 - Listener Comment / Twins 49:38 - Closing Comments Episode Resources Facebook ~ https://m.facebook.com/mvvmdr/ Instagram ~ https://www.instagram.com/mountainviewvitalmedicine/ X ~ https://x.com/MVVitalMedicine Website ~ https://mountainviewvitalmedicine.com/ EP 486: Discussing the History of Traditional Medicine with Doctor Jason Kinley ~ #doctor #doctors #history #traditionalmedicine #MVVM #mountainviewvitalmedicine #podcastshow #podcast #podcastguest #optimalhealth #healthfreedom #MedicalFreedom #medicaleducation #medicalcare #HealthCare #PriceTransparency #freemarket #Liberty #FitAfter50 #FitOver50 #fitover40 #fitafter40 #Boise #IdahoFalls #Tricities #SiouxFalls #Wenatchee #EducateAndEmpower #NeedhamHealthSolutions #TeamNeedham #ShawnNeedham #HealthSolutions #MosesLakeProfessionalPharmacy #MLRX #SickenedTheBook #ShawnNeedhamRPh #ThinkOutsideTheSystem #OptimalHealthMatters #ItsTime ~ *** #BenShapiro & #DaveRamsey Fans. Learn how to be in the driver's seat for your healthcare choices {not the system or doctors!}

Android story
ASP-81: Про Dependency Injection. Сьогодні був інтерфейс. Частина І.

Android story

Play Episode Listen Later Oct 19, 2023 75:32


Подивитись відео на YouTube 00:00:00 - Вступ, починаємо говорити про DI. Оффтоп про чи настільки різні RxJava і RxJava2 і механіків.00:09:39 - Dependency Inversion. Проблема інтерфейсів.00:23:00 - Офтоп про рефлексію і метапрограмування в цілому. Ще трохи болю про інтерфейси та Retrofit2.00:30:17 - Офтоп про митець чи виконавець. Розуміння концептів. 00:33:48 - Офтоп про MVVM vs MVI. Ще про митців і виконавців.00:43:17 - Офтоп про Go, Python, Rust, C++ та JavaScript.01:02:05 - Нарешті про те, що таке Dependency Injection і навіщо воно потрібне (спойлер: не тільки для тестів).Коментарі та побажання можна залишити в нашому телеграм чаті.Support the show

Android story
ASP-81: Про Dependency Injection. Сьогодні був інтерфейс. Частина І.

Android story

Play Episode Listen Later Oct 19, 2023 75:32


В цьому випуску 00:00:00 - Вступ, починаємо говорити про DI. Оффтоп про чи настільки різні RxJava і RxJava2 і механіків.00:09:39 - Dependency Inversion. Проблема інтерфейсів.00:23:00 - Офтоп про рефлексію і метапрограмування в цілому. Ще трохи болю про інтерфейси та Retrofit2.00:30:17 - Офтоп про митець чи виконавець. Розуміння концептів. 00:33:48 - Офтоп про MVVM vs MVI. Ще про митців і виконавців.00:43:17 - Офтоп про Go, Python, Rust, C++ та JavaScript.01:02:05 - Нарешті про те, що таке Dependency Injection і навіщо воно потрібне (спойлер: не тільки для тестів).Згадано в випускуПідтримай нас на Patreon

Android story
ASP-81: Про Dependency Injection. Сьогодні був інтерфейс. Частина І.

Android story

Play Episode Listen Later Oct 19, 2023 75:32


00:00:00 - Вступ, починаємо говорити про DI. Оффтоп про чи настільки різні RxJava і RxJava2 і механіків.00:09:39 - Dependency Inversion. Проблема інтерфейсів.00:23:00 - Офтоп про рефлексію і метапрограмування в цілому. Ще трохи болю про інтерфейси та Retrofit2.00:30:17 - Офтоп про митець чи виконавець. Розуміння концептів. 00:33:48 - Офтоп про MVVM vs MVI. Ще про митців і виконавців.00:43:17 - Офтоп про Go, Python, Rust, C++ та JavaScript.01:02:05 - Нарешті про те, що таке Dependency Injection і навіщо воно потрібне (спойлер: не тільки для тестів).Коментарі та побажання можна залишити в нашому телеграм чаті.Support the show Тут для вас є ще більше нашого контенту Hosted on Acast. See acast.com/privacy for more information.

The iOS Dev Podcast
Stop using MVVM with AzamSharp #4

The iOS Dev Podcast

Play Episode Listen Later Jun 25, 2023 39:10


In this episode of the iOS dev podcast, we spoke with Mohammad Azam, AzamSharp, about his iOS dev journey, SwiftData, MVVM in SwiftUI, and iOS bootcamps. Audio Version: https://podcasters.spotify.com/pod/show/jason-dubon YouTube Video: https://youtu.be/1qQO_6kRR0o AzamSharp's YouTube: https://www.youtube.com/channel/UCKvDySsrOVgUgRLhWHeyHJA AzamSharp's Twitter: https://twitter.com/azamsharp AzamSharp's Blog Post on SwiftUI Architecture: https://azamsharp.com/2023/02/28/building-large-scale-apps-swiftui.html NYC try! Swift conference: https://www.tryswift.co/events/2023/nyc/ Follow Jason On IG: https://www.instagram.com/thedubon/ Follow Jason On Twitter: https://twitter.com/JasonDubonYT Follow Jason on TikTok: https://www.tiktok.com/@thedubon 0:00 Intro 0:30 SwiftData 1:53 iOS dev journey 7:05 The biggest mistake bootcamp students make 9:12 Advice for studying new topic 10:30 Udemy course approach 14:27 Future of VisionPro & iOS development 18:40 Best cross dev platform 20:10 Indie dev: Native vs. Cross platform 21:20 Stop using MVVM 25:30 Architecture for CoreData apps 28:00 Biggest takeaway from 3 years of SwiftUI 31:45 Advice for aspiring iOS developers 32:40 Bootcamp or no bootcamp 35:04 ChatGPT & AI 38:20 Outro #iosdev #udemyswift #azamsharp

Swift over Coffee
S3E1: People want to get together

Swift over Coffee

Play Episode Listen Later Jun 2, 2023 56:33


In this episode: we discuss Apple's incredible new accessibility features, ask how you can keep learning and growing in your career, and share your wish lists for WWDC23. iOS Dev Happy Hour links: https://links.iosdevhappyhour.com Apple introduces new features for cognitive accessibility, along with Live Speech, Personal Voice, and Point and Speak in Magnifier: https://www.apple.com/newsroom/2023/05/apple-previews-live-speech-personal-voice-and-more-new-accessibility-features/ Arnold's Pump Club podcast: https://podcasts.apple.com/gb/podcast/arnolds-pump-club/id1680075779 Deep Dish Swift: https://deepdishswift.com Deep dish pizza: https://twitter.com/twostraws/status/1653069375828553730 Soroush Khanlou, MVVM is Not Very Good: https://khanlou.com/2015/12/mvvm-is-not-very-good WWDC23: https://developer.apple.com/wwdc23

Software Engineering Radio - The Podcast for Professional Software Developers
SE Radio 558: Michael Fazio on Modern Android Development

Software Engineering Radio - The Podcast for Professional Software Developers

Play Episode Listen Later Apr 5, 2023 70:53


Michael Fazio, Engineering Manager (Android) at Albert and author of Kotlin and Android Development featuring Jetpack from the Pragmatic Programmers, speaks with SE Radio's Gavin Henry about how the Android ecosystem looks today, and why it's an excellent time to write native Android apps. They explore a wide range of topics about modern Android development, including when to go native, how to keep a lot of decisions in your back-end API, Kotlin co-routines, Jetpack and Jetpack Compose, the MVVM design pattern, and threads, as well as activities, fragments, Dagger, room, navigation, Flutter, and improvements in simulators. They also examine details such as IDEs, API selection, how to choose a list of support devices, Java vs Kotlin, handset manufacturers, XML layouts, and why Jetpack is a safe bet for all your future Android development.

Fullstack Ruby Podcast
Preact Signals and the Signalize Gem

Fullstack Ruby Podcast

Play Episode Play 56 sec Highlight Listen Later Mar 14, 2023 39:50


What are signals? What is find-grained reactivity? Why is everyone talking about them on the frontend these days? And what, if anything, can we apply from our newfound knowledge of signals to backend programming? Is it possible to use signals in Ruby? (Yes!) Learn all about signals, the Preact Signals library, and the new Signalize gem right here in the latest episode of Fullstack Ruby.Links:Episode 4: Design Patterns on the Frontend, History of MVVM, Web Components, and Youpreactjs/signals: Manage state with style in every frameworkwhitefusionhq/signalize: A Ruby port of Signals, providing reactive variables, derived computed state, side effect callbacks, and batched updates.Become a part of the Fullstack Ruby community and learn how to put your Ruby skills to work on the backend AND the frontend. Know somebody who's a JavaScript developer but is interested in learning more about Ruby? Share the site, podcast, or newsletter with them!Theme music courtesy of Epidemic Sound.

Compile Swift
Where to get started learning Apple development

Compile Swift

Play Episode Listen Later Feb 11, 2023 11:36


I decided it was time to put out an episode answering a question I often get."What do I learn to start coding on Apple platforms and for interviews."So here is my list of recommendations of topics to get started with when it comes to developing on Apple's platforms and preparing for interviews. This is not exhaustive, but a place to start. (00:00) - Introduction (00:27) - New to Apple development (01:27) - MVVM (04:22) - View building (06:08) - Working with Data (07:58) - Web Sockets, Rest APIs (08:42) - App Store flow (10:38) - Rate and review (10:49) - Livestream (11:09) - Buy me a Coffee Subscribe to the videoshttps://youtube.com/peterwithamPlease leave a review and show your support.https://lovethepodcast.com/compileswiftPlease find us on Mastodon@Compileswift@iosdev.space ★ Support this podcast ★

Software Sessions
Victor Adossi on Yak Shaving

Software Sessions

Play Episode Listen Later Jan 2, 2023 110:47


Victor is a software consultant in Tokyo who describes himself as a yak shaver. He writes on his blog at vadosware and curates Awesome F/OSS, a mailing list of open source products. He's also a contributor to the Open Core Ventures blog. Before our conversation Victor wrote a structured summary of how he works on projects. I recommend checking that out in addition to the episode. Topics covered: Most people should use Dokku or CapRover But he uses Kubernetes anyways Hosting a Database in Kubernetes Learning technology You don't really know a thing until something goes wrong History of Frontend Development Context from lower layers of the stack and historical projects Good project pages have comparisons to other products Choosing technologies Language choice affects maintainability Knowing an ecosystem Victor's preferred stack Technology bake offs Posting findings means you get free corrections Why people use medium instead of personal sites Victor VADOSWARE - Blog How Victor works on Projects - Companion post for this episode Awesome FOSS - Curated list of OSS projects NimbusWS - Hosted OSS built on top of budget cloud providers Unvalidated Ideas - Startup ideas for side project inspiration PodcastSaver - Podcast index that allows you to choose Postgres or MeiliSearch and compare performance and results of each Victor's preferred stack Docker - Containers Kubernetes - Container provisioning (Though at the beginning of the episode he suggests Dokku for single server or CapRover for multiple) TypeScript - JavaScript with syntax for types. Victor's default choice. Rust - Language he uses if doing embedded work, performance is critical, or more correctness is desired Haskell - Language he uses if correctness and type system is the most important for the project Postgresql - General purpose database that's good enough for most use cases including full text search. KeyDB - Redis compatible database for caching. Acquired by Snap and then made open source. Victor uses it over Redis because it is multi threaded and supports flash storage without a Redis Enterprise license. Pulumi - Provision infrastructure with the languages you're already using instead of a specialized one or YAML Svelte and SvelteKit - Preferred frontend stack. Previously used Nuxt. Search engines Postgres Full Text Search vs the rest Optimizing Postgres Text Search with Trigrams OpenSearch - Amazon's fork of Elasticsearch typesense meilisearch sonic Quickwit JavaScript build tools Babel SWC Webpack esbuild parcel Vite Turbopack JavaScript frameworks React Vue Svelte Ember Frameworks built on top of frameworks Next - React Nuxt - Vue SvelteKit - Svelte Astro - Multiple Historical JavaScript tools and frameworks Underscore jQuery MooTools Backbone AngularJS Knockout Aurelia GWT Bower - Frontend package manager Grunt - Task runner Gulp - Task runner Related Links Dokku - Open source single-host alternative to Heroku Cloud Native Buildpacks - Buildpacks created by Heroku and Pivotal and used by Dokku CapRover - An open source PaaS-like abstraction built on top of Docker Swarm Kelsey Hightower's tweet about being cautious about running databases on Kubernetes Settling the Myth of Transparent HugePages for Databases Kubernetes Container Storage Interface (CSI) Kubernetes Local Persistent Volumes Longhorn - Distributed block storage for Kubernetes Postgres docs Postgres TOAST Everything I've seen on optimizing Postgres on ZFS Kubernetes Workload Resources Kubernetes Network Plugins Kubernetes Ingress Traefik Kubernetes the Hard Way (Setting up a cluster in a way that optimizes for learning) How does TLS work Let's Encrypt Cert manager for Kubernetes Choose Boring Technology A Linux user's guide to Logical Volume Management Docker networking overview Kubernetes Scheduler Tauri - Build desktop applications with web technology and Rust ripgrep - CLI tool to recursively search directory for a regex pattern (Meant to be a rust replacement for grep) angle-grinder / ag - CLI tool to parse and process log files written in rust Object.observe ECMAScript Proposal to be Withdrawn Ruby on Rails - Ruby web framework Django - Python web framework Laravel - PHP web framework Adonis - JavaScript NestJS - JavaScript What is a NullPointerException, and how do I fix it? Mastodon Clap - CLI argument parser for Rust AWS CDK - Provision AWS infrastructure using programming languages Terraform - Provision infrastructure with terraform language URL canonicalization of duplicate pages and the use of the canonical tag - Used by dev.to to send google traffic to the original blogpost instead of dev.to Transcript You can help edit this transcript on GitHub. [00:00:00] Jeremy: This episode, I talk to Victor Adossi who describes himself as a yak shaver. Someone who likes trying a whole bunch of different technologies, seeing the different options. We talk about what he uses, the evolution of front end development, and his various projects. Talking to just different people it's always good to get where they're coming from because something that works for Google at their scale is going to be different than what you're doing with one of your smaller projects. [00:00:31] Victor: Yeah, the context. Of course in direct conflict with that statement, I definitely use Google technology despite not needing to at all right? Like, you know, 99% of people who are doing like people like to call it indiehacking or building small products could probably get by with just Dokku. If you know Dokku or like CapRover. Are two projects that'll be like, Oh, you can just push your code here, we'll build it up like a little mini Heroku PaaS thing and just go on one big server, right? Like 99% of the people could just use that. But of course I'm not doing that. So I'm a bit of a hypocrite in that sense. I know what I should be doing, but I'm not doing that. I am writing a Kubernetes cluster with like five nodes for no reason. Uh, yeah, I dunno, people don't normally count the controllers. [00:01:24] Jeremy: Dokku and CapRover, I think those are where it's supposed to create a heroku like experience I think it's based off of the heroku buildpacks right? At least Dokku is? [00:01:36] Victor: Yeah Buildpacks has actually been spun out into like a community thing so like pivotal and heroku, it's like buildpacks.io, they're trying to build a wider standard around it so that more people can get involved. And buildpacks are actually obviously fantastic as a technology and as a a process piece. There's not much else like them and you know, that's obvious from like Heroku's success and everything. I know Dokku uses that. I don't know that Caprover does, but I haven't, I haven't really run Caprover that much. They, they probably do. Like at this point if you're going to support building from code, it seems silly to try and build your own buildpacks. Cause that's what you will do, eventually. So you might as well use what's there. Anyway, this is like just getting to like my personal opinions at this point, but like, if you think containers are a bad idea in 2022, You're wrong, you should, you should stop. Like you should, you should stop. Think about it. I mean, obviously there's not, um, I got a really great question at an interview once, which is, where are containers a bad idea? That's probably one of the best like recent interview questions I've ever gotten cause I was like, Oh yeah, I mean, like, you can't, it can't be perfect everywhere, right? Nothing's perfect everywhere. So it's like, where is it? Uh, and of course the answer was networking, right? (unintelligible) So if you need absolute performance, but like for just about everything else. Containers are kind of it at this point. Like, time has born it out, I think. So yeah, I always just like bias at taking containers at this point. So I'm probably more of a CapRover person than a Dokku person, even though I have not used, I don't use CapRover. [00:03:09] Jeremy: Well, like something that I've heard with containers, and maybe it's changed recently, but, but something that was kind of holdout was when people would host a database sometimes they would oh we just don't wanna put this in a container and I wonder if like that matches with your thinking or if things have changed. [00:03:27] Victor: I am not a database administrator right like I read postgres docs and I read the, uh, the Postgres documentation, and I think I know a bit about postgres but I don't commit right like so and I also haven't, like, oh, managed X terabytes on one server that you are making sure never goes down kind of deal. But the stickiness for me, at least from when I've run, So I've done a lot of tests with like ZFS and Postgres and like, um, and also like just trying to figure out, and I run Postgres in Kubernetes of course, like on my cluster and a lot of the stuff I found around is, is like fiddly kernel things like sort of base kernel settings that you need to have set. Like, you know, stuff like should you be using transparent huge pages, like stuff like that. But once you have that settled. Containers are just processes with name spacing and resource control, right? Like, that's it. there are some other ins and outs, but for the most part, if you're fine running a process, so people ran processes, right? And they were just completely like unprotected. Then people made users for the processes and they limited the users and ran the processes, right? Then the next step is now you can run a process and then do the limiting the name spaces in cgroups dynamically. Like there, there's, there's sort of not a humongous difference, unless you're hitting something very specific. Uh, but yeah, databases have been a point of contention, but I think, Kelsey Hightower had that tweet yeah. That was like, um, don't run databases in Kubernetes. And I think he called it back. [00:04:56] Victor: I don't know, but I, I know that was uh, was one of those things that people were really unsure about at first, but then after people sort of like felt it out, they were like, Oh, it's actually fine. Yeah. [00:05:06] Jeremy: Yeah I vaguely remember one of the concerns having to do with persistent storage. Like there were challenges with Kubernetes and needing to keep that storage around and I don't know if that's changed yeah or if that's still a concern. [00:05:18] Victor: Uh, I'd say that definitely has changed. Uh, and it was, it was a concern, depending on where you were. Mostly people who are running AKS or EKS or you know, all those other managed Kubernetes, they're just using EBS or like whatever storage provider is like offering for storage. Most of those people don't actually have that much of a problem with, storage in general. Now, high performance storage is obviously different, right? So like, so you'll, you're gonna have to start doing manual, like local volume management and stuff like that. it was a problem, because obviously CSI (Kubernetes Container Storage Interface) didn't exist for some period of time, and like there was, it was hard to know what to do for if you were just running a Kubernetes cluster. I think a lot of people were just using local, first of all, local didn't even exist for a bit. Um, they were just using host path, right? And just like, Oh, it's on the disk somewhere. Where do we, we have to go get it right? Or we have to like, sort of manage that. So that was something most people weren't ready for, especially if you were just, if you weren't like sort of a, a, a traditional sysadmin and used to doing that stuff. And then of course local volumes came out, but I think they still had to be, um, pre-provisioned. So that's sysadmin stuff that most people, you know, maybe aren't, aren't necessarily ready for. Uh, and then most of the general solutions were slow. So like, I used Longhorn (https://longhorn.io) for a long time and Longhorn, Longhorn's great. And super easy to set up, but it can be slower and you can have some, like, delays in mount time. it wasn't ideal for, for most people. So yeah, I, overall it's true. Databases, Databases in Kubernetes were kind of fraught with peril for a while, but it wasn't for the reason that, it wasn't for the fundamental reason that Kubernetes was just wrong or like, it wasn't the reason most people think of, which is just like, Oh, you're gonna break your database. It's more like, running a database is hard and Kubernetes hasn't solved all the hard problems. Like, cuz that's what Kubernetes does. It basically solves a lot of problems in a very generic way. Right. So it just hadn't solved all those problems yet at this point. I think it's got decent answers on a lot of them. So I, I mean, I don't know. I I do it. Don't, don't take what I'm saying to your, you know, PM meeting or your standup meeting, uh, anyone who's listening. But it's more like if you could solve the problems with databases in the sense before. You could probably solve 'em on Kubernetes now with a good understanding of Kubernetes. Cause at the end of the day, it's all the same stuff. Just Kubernetes makes it a little easier to, uh, do it dynamically. [00:07:50] Jeremy: It sounds like you could do it before, but some of the, I guess the tools or the ways of doing persistent storage were not quite there yet, or they were difficult to use. And so that was why people at the start were like, Okay, maybe it's not a good idea, but, now maybe there's some established practices for how you should run a database in Kubernetes. And I, I suppose the other aspect too is that, like you were saying, Kubernetes is its own thing. You gotta learn Kubernetes and all its intricacies. And then running a database is also its own challenge. So if you stack the two of them together and, and the path was not really clear then maybe at the start it wasn't the best idea. Um, uh, if somebody was going to try it out now, was there like a specific resource you looked at or a specific path to where like okay this is is how I'm going to do it. [00:08:55] Victor: I'll just say what I normally recommend to everybody. Cause it depends on which path you wanna go right? If you wanna go down like running a database path first and figure that out, fill out that skill tree. Like go read the Postgres docs. Well, first of all, use Postgres. That's the first tip there. But like, read those documents. And obviously you don't have to understand everything. You won't understand everything. But knowing the big pieces and sort of letting your brain see the mention of like a whole bunch of things, like what is toast? Oh, you can do compression on columns. Like, you can do some, some things concurrently. Um, you know, what ALTER TABLE looks like. You get all that stuff kind of in your head. Um, and then I personally really believe in sort of learning by building and just like iterating. you won't get it right the first time. It's just like, it's not gonna happen. You're get, you can, you can get better the first time, right? By being really prepared and like, and leave yourself lots of outs, but you kind of have to like, get it out there. Do do your best to make sure that you can't fail, uh, catastrophically, right? So this is like, goes back to that decision to like use ZFS as the bottom of this I'm just like, All right, well, I, I'm not a file systems expert, but if I. I could delegate some of that, you know, some of that, I can get some of that knowledge from someone else. Um, and I can make it easier for me to not fail catastrophically. For the database side, actually read documentation on Postgres or the whatever database you're going to use, make sure you at least understand that. Then start running it like locally or whatever. Again, Docker use, use Docker locally. It's, it's, it's fine. and then, you know, sort of graduate to running sort of more progressively, more complicated versions. what I would say for the Kubernetes side is actually similar. the Kubernetes docs are really good. they're very large. but they're good. So you can actually go through and know all the, like, workload, workload resources, know, like what a config map is, what a secret is, right? Like what etcd is doing in this whole situation. you know, what a kublet is versus an API server, right? Like the, the general stuff, like if you go through all that, you should have like a whole bunch of ideas at least floating around in your head. And then once you try and start setting up a server, they will all start to pop up again, right? And they'll all start to like, you, like, Oh, okay, I need a CNI (Container Networking) plugin because something needs to make the services available, right? Or something needs to power the ingress, right? Like, if I wanna be able to get traffic, I need an ingress object. But what listens, what does that, what makes that ingress object do anything? Oh, it's an ingress controller. nginx, you know, almost everyone's heard of nginx, so they're like, okay. Um, nginx, has an ingress control. Actually there's, there used to be two, I assume there's still two, but there's like one that's maintained by Kubernetes, one that's maintained by nginx, the company or whatever. I use traefik, it's fantastic. but yeah, so I think those things kind of fall out and that is almost always my first way to explain it and to start building. And tinkering iteratively. So like, read the documentation, get a good first grasp of it, and then start building yourself because you'll, you'll get way more questions that way. Like, you'll ask way more questions, you won't be able to make progress. Uh, and then of course you can, you know, hop into slacks or like start looking around and, and searching on the internet. oh, one of the things that really helped me out early learning Kubernetes was, Kelsey Hightower's, um, learn Kubernetes the hard way. I'm also a big believer in doing things the hard way, at least knowing what you're choosing to not know, right? distributing file system, Deltas, right? Or like changes to a file system over the network is not a new problem. Other people have solved it. There's a lot of complexity there. but if you at least know the sort of surface level of what the thing does and what it's supposed to do and how it's supposed to do it, you can make a decision on, Oh, how deep am I going to go? Right? To prevent yourself from like, making a mistake or going too deep in the rabbit hole. If you have an idea of the sort of ecosystem and especially like, Oh, here, like the basics of how I can use this thing, that's generally very good. And doing things the hard way is a great way to get a, a feel for that, right? Cause if you take some chunk and like, you know, the first level of doing things the hard way, uh, or, you know, Kelsey Hightower's guide is like, get a machine, right? Like, so, like, if you somehow were like, Oh, I wanna run a Kubernetes cluster. but, you know, I don't want use necessarily EKS and you wanna learn it the hard way. You have to go get a machine, right? If you, if you're not familiar, if you run on Heroku the whole time, like you didn't manage your own machines, you gotta go like, figure out EC2, right? Or, I personally use, hetzner I love hetzner, so you have to go figure out hetzner, digital ocean, whatever. Right. And then the next thing's like, you know, the guide's changed a lot, and I haven't, I haven't looked at it in like, in years, actually a while since I, since I've sort of been, I guess living it, but it's, it's like generate certificates, right? So if you've never dealt with SSL and like, sort of like, or I should say TLS uh, and generating certificates and how that whole dance works, right? Which is fascinating because it's like, oh, right, nothing's secure on the internet, except that we distribute root certificates on computers that are deployed in every OS, right? Like, that's a sort of fundamental understanding you may not go deep enough to realize, but if you are fascinated by it, trying to do it manually would lead you down that path. You'd be like, Oh, what, like what is this thing? What is a CSR? Like, why, who is signing my request? Right? And it's like, why do we trust those people? Right? And it's like, you know, that kind of thing comes out and I feel like you can only get there from trying to do it, you know, answering the questions you can. Right. And again, it takes some judgment to know when you should not go down a rabbit hole. uh, and then iterating. of course there are people who are excellent at explaining. you can find some resources that are shortcuts. But, uh, I think particularly my bread and butter has been just to try and do it the hard way. Avoid pitfalls or like rabbit holes when you can. But know that the rabbit hole is there, and then keep going. And sometimes if something's just too hard, you're not gonna get it the first time. Like maybe you'll have to wait like another three months, you'll try again and you'll know more sort of ambiently about everything else. You get a little further that time. that's how I feel about that. Anyway. [00:15:06] Jeremy: That makes sense to me. I think sometimes when people take on a project, they try to learn too many things at the same time. I, I think the example of Kubernetes and Postgres is pretty good example, where if you're not familiar with how do I install Postgres on bare metal or a vm, trying to make sense of that while you're trying to into is probably gonna be pretty difficult. So, so splitting them up and learning them individually, that makes a lot of sense to me. And the whole deciding how deep you wanna go. That's interesting too, because I think that's very specific to the person right because sometimes you wanna go a little deeper because otherwise you don't understand how the two things connect together. But other times it's just like with the example with certificates, some people they may go like, I just put in let's encrypt it gives me my cert I don't care right then, and then, and some people they wanna know like okay how does the whole certificate infrastructure work which I think is interesting, depending on who you are, maybe you go ahh maybe it doesn't really matter right. [00:16:23] Victor: Yeah, and, you know, shout out to Let's Encrypt . It's, it's amazing, right? think Singlehandedly the most, most of the deployment of HTTPS that happens these days, right? so many so many of like internet providers and uh, sort of service providers will use it right? Under the covers. Like, Hey, we've got you free SSL through Let's Encrypt, right? Like, kind of like under the, under the covers. which is awesome. And they, and they do it. So if you're listening to this, donate to them. I've done it. So now that, now the pressure is on whoever's listening, but yeah, and, and I, I wanna say I am that person as well, right? Like, I use, Cert Manager on my cluster, right? So I'm just like, I don't wanna think about it, but I, you know, but I, I feel like I thought about it one time. I have a decent grasp. If something changes, then I guess I have to dive back in. I think it, you've heard the, um, innovation tokens idea, right? I can't remember the site. It's like, um, do, like do boring tech or something.com (https://boringtechnology.club/) . Like it shows up on sort of hacker news from time to time, essentially. But it's like, you know, you have a certain amount of tokens and sort of, uh, we'll call them tokens, but tolerance for complexity or tolerance for new, new ideas or new ways of doing things, new processes. Uh, and you spend those as you build any project, right? you can be devastatingly effective by just sticking to the stack, you know, and not introducing anything new, even if it's bad, right? and there's nothing wrong with LAMP stack, I don't wanna annoy anybody, but like if you, if you're running LAMP or if you run on a hostgator, right? Like, if you run on so, you know, some, some service that's really old but really works for you isn't, you know, too terribly insecure or like, has the features you need, don't learn Kubernetes then, right? Especially if you wanna go fast. cuz you, you're spending tokens, right? You're spending, essentially brain power, right? On learning whatever other thing. So, but yeah, like going back to that, databases versus databases on Kubernetes thing, you should probably know one of those before you, like, if you're gonna do that, do that thing. You either know Kubernetes and you like, at least feel comfortable, you know, knowing Kubernetes extremely difficult obviously, but you feel comfortable and you feel like you can debug. Little bit of a tangent, but maybe that's even a better, sort of watermark if you know how to debug a thing. If, if it's gone wrong, maybe one or five or 10 or 20 times and you've gotten out. Not without documentation, of course, cuz well, if you did, you're superhuman. But, um, but you've been able to sort of feel your way out, right? Like, Oh, this has gone wrong and you have enough of a model of the system in your head to be like, these are the three places that maybe have something wrong with them. Uh, and then like, oh, and then of course it's just like, you know, a mad dash to kind of like, find, find the thing that's wrong. You should have confidence about probably one of those things before you try and do both when it's like, you know, complex things like databases and distributed systems management, uh, and orchestration. [00:19:18] Jeremy: That's, that's so true in, in terms of you are comfortable enough being able to debug a problem because it's, I think when you are learning about something, a lot of times you start with some kind of guide or some kind of tutorial and you follow the steps. And if it all works, then great. Right? But I think it's such a large leap from that to something went wrong and I have to figure it out. Right. Whether it's something's not right in my Dockerfile or my postgres instance uh, the queries are timing out. so many things that could go wrong, that is the moment where you're forced to figure out, okay, what do I really know about this not thing? [00:20:10] Victor: Exactly. Yeah. Like the, the rubber's hitting the road it's uh you know the car's about to crash or has already crashed like if I open the bonnet, do I know what's happening right or am I just looking at (unintelligible). And that's, it's, I feel sort a little sorry or sad for, for devs that start today because there's so much. Complexity that's been built up. And a lot of it has a point, but you need to kind of have seen the before to understand the point, right? So I like, I like to use front end as an example, right? Like the front end ecosystem is crazy, and it has been crazy for a very long time, but the steps are actually usually logical, right? Like, so like you start with, you know, HTML, CSS and JavaScript, just plain, right? And like, and you can actually go in lots of directions. Like HTML has its own thing. CSS has its own sort of evolution sort of thing. But if we look at JavaScript, you're like, you're just writing JavaScript on every page, right? And like, just like putting in script tags and putting in whatever, and it's, you get spaghetti, you get spaghetti, you start like writing, copying the same function on multiple pages, right? You just, it, it's not good. So then people, people make jquery, right? And now, now you've got like a, a bundled set of like good, good defaults that you can, you can go for, right? And then like, you know, libraries like underscore come out for like, sort of like not dom related stuff that you do want, you do want everywhere. and then people go from there and they go to like backbone or whatever. it's because Jquery sort of also becomes spaghetti at some point and it becomes hard to manage and people are like, Okay, we need to sort of like encapsulate this stuff somehow, right? And like the new tools or whatever is around at the same timeframe. And you, you, you like backbone views for example. and you have people who are kind of like, ah, but that's not really good. It's getting kind of slow. Uh, and then you have, MVC stuff comes out, right? Like Angular comes out and it's like, okay, we're, we're gonna do this thing called dirty checking, and it's gonna be, it's gonna be faster and it's gonna be like, it's gonna be less sort of spaghetti and it's like a little bit more structured. And now you have sort of like the rails paradigm, but on the front end, and it takes people to get a while to get adjusted to that, but then that gets too heavy, right? And then dirty checking is realized to be a mistake. And then, you get stuff like MVVM, right? So you get knockout, like knockout js and you got like Durandal, and like some, some other like sort of front end technologies that come up to address that problem. Uh, and then after that, like, you know, it just keeps going, right? Like, and if you come in at the very end, you're just like, What is happening? Right? Like if it, if it, if someone doesn't sort of boil down the complexity and reduce it a little bit, you, you're just like, why, why do we do this like this? Right? and sometimes there's no good reason. Sometimes the complexity is just like, is unnecessary, but having the steps helps you explain it, uh, or helps you understand how you got there. and, and so I feel like that is something younger people or, or newer devs don't necessarily get a chance to see. Cause it just, it would take, it would take very long right? And if you're like a new dev, let's say you jumped into like a coding bootcamp. I mean, I've got opinions on coding boot camps, but you know, it's just like, let's say you jumped into one and you, you came out, you, you made it. It's just, there's too much to know. sure, you could probably do like HTML in one month. Well, okay, let's say like two weeks or whatever, right? If you were, if you're literally brand new, two weeks of like concerted effort almost, you know, class level, you know, work days right on, on html, you're probably decently comfortable with it. Very comfortable. CSS, a little harder because this is where things get hard. Cause if you, if you give two weeks for, for HTML, CSS is harder than HTML kind of, right? Because the interactions are way more varied. Right? Like, and, and maybe it's one of those things where you just, like, you, you get somewhat comfortable and then just like know that in the future you're gonna see something you don't understand and have to figure it out. Uh, but then JavaScript, like, how many months do you give JavaScript? Because if you go through that first like, sort of progression that I, I I, I, I mentioned everyone would have a perfect sort of, not perfect but good understanding of the pieces, right? Like, why did we start transpiling at all? Right? Like, uh, or why did you know, why did we adopt libraries? Like why did Bower exist? No one talks about Bower anymore, obviously, but like, Bower was like a way to distribute front end only packages, right? Um, what is it? Um, Uh, yes, there's grunt. There's like the whole build system thing, right? Once, once we decide we're gonna, we're gonna do stuff to files before we, before we push. So there's grunt, there's, uh, gulp, which is like grunt, but like, Oh, we're gonna do it all in memory. We're gonna pipe, we're gonna use this pipes thing to make sure everything goes fast. then there's like, of course that leads like the insanity that's webpack. And then there's like parcel, which did better. There's vite there's like, there's all this, there's this progression, but how many months would it take to know that progression? It, it's too long. So they end up just like, Hey, you're gonna learn react. Which is the right thing because it's like, that's what people hire for, right? But then you're gonna be in react and be like, What's webpack, right? And it's like, but you can't go down. You can't, you don't have the time. You, you can't sort of approach that problem from the other direction where you, which would give you better understanding cause you just don't have the time. I think it's hard for newer devs to overcome this. Um, but I think there are some, there's some hope on the horizon cuz some things are simpler, right? Like some projects do reduce complexity, like, by watching another project sort of innovate so like react. Wasn't the first component, first framework, right? Like technically, I, I think, I think you, you might have to give that to like, to maybe backbone because like they had views and like marionette also went with that. Like maybe, I don't know, someone, someone I'm sure will get in like, send me an angry email, uh, cuz I forgot you Moo tools or like, you know, Ember Ember. They've also, they've also been around, I used to be a huge Ember fan, still, still kind of am, but I don't use it. but if you have these, if you have these tools, right? Like people aren't gonna know how to use them and Vue was able to realize that React had some inefficiencies, right? So React innovates the sort of component. So Reintroduces the component based model component first, uh, front end development model. Vue sees that and it's like, wait a second, if we just export this like data object, and of course that's not the only innovation of Vue, but if we just export this data object, you don't have to do this fine grained tracking yourself anymore, right? You don't have to tell React or tell your the system which things change when other things change, right? Like you, you don't have to set up this watching and stuff, right? Um, and that's one of the reasons, like Vue is just, I, I, I remember picking up Vue and being like, Oh, I'm done. I'm done with React now. Because it just doesn't make sense to use React because they Vue essentially either, you know, you could just say they learned from them or they, they realize a better way to do things that is simpler and it's much easier to write. Uh, and you know, functionally similar, right? Um, similar enough that it's just like, oh they boil down some of that complexity and we're a step forward and, you know, in other ways, I think. Uh, so that's, that's awesome. Every once in a while you get like a compression in the complexity and then it starts to ramp up again and you get maybe another compression. So like joining the projects that do a compression. Or like starting to adopting those is really, can be really awesome. So there's, there's like, there's some hope, right? Cause sometimes there is a compression in that complexity and you you might be lucky enough to, to use that instead of, the thing that's really complex after years of building on it. [00:27:53] Jeremy: I think you're talking about newer developers having a tough time making sense of the current frameworks but the example you gave of somebody starting from HTML and JavaScript going to jquery backbone through the whole chain, that that's just by nature of you've put in a lot of time right you've done a lot of work working with each of these technologies you see the progression as if someone is starting new just by nature of you being new you won't have been able to spend that time [00:28:28] Victor: Do you think it could work? again, the, the, the time aspect is like really hard to get like how can you just avoid spending time um to to learn things that's like a general problem I think that problem is called education in the general sense. But like, does it make sense for a, let's say a bootcamp or, or any, you know, school right? To attempt to guide people through the previous solutions that didn't work, right? Like in math, you don't start with calculus, right? It just wouldn't, it doesn't make sense, right? But we try and start with calculus in software, right? We're just like, okay, here's the complexity. You've got all of it. Don't worry. Just look at this little bit. If, you know, if the compiler ever spits out a weird error uh oh, like, you're, you're, you're in for trouble cuz you, you just didn't get the. get the basics. And I think that's maybe some of what is missing. And the thing is, it is like the constraints are hard, right? No one has infinite time, right? Or like, you know, even like, just tons of time to devote to learning, learning just front end, right? That's not even all of computing, That's not even the algorithm stuff that some companies love to throw at you, right? Uh, or the computer sciencey stuff. I wonder if it makes more sense to spend some time taking people through the progression, right? Because discovering that we should do things via components, let's say, or, or at least encapsulate our functionality to components and compose that way, is something we, we not everyone knew, right? Or, you know, we didn't know wild widely. And so it feels like it might make sense to touch on that sort of realization and sort of guide the student through, you know, maybe it's like make five projects in a week and you just get progressively more complex. But then again, that's also hard cause effort, right? It's just like, it's a hard problem. But, but I think right now, uh, people who come in at the end and sort of like see a bunch of complexity and just don't know why it's there, right? Like, if you've like, sort of like, this is, this applies also very, this applies to general, but it applies very well to the Kubernetes problem as well. Like if you've never managed nginx on more than one machine, or if you've never tried to set up a, like a, to format your file system on the machine you just rented because it just, you know, comes with nothing, right? Or like, maybe, maybe some stuff was installed, but, you know, if you had to like install LVM (Logical Volume Manager) yourself, if you've never done any of that, Kubernetes would be harder to understand. It's just like, it's gonna be hard to understand. overlay networks are hard for everyone to understand, uh, except for network people who like really know networking stuff. I think it would be better. But unfortunately, it takes a lot of time for people to take a sort of more iterative approach to, to learning. I try and write blog posts in this way sometimes, but it's really hard. And so like, I'll often have like an idea, like, so I call these, or I think of these as like onion, onion style posts, right? Where you either build up an onion sort of from the inside and kind of like go out and like add more and more layers or whatever. Or you can, you can go from the outside and sort of take off like layers. Like, oh, uh, Kubernetes has a scheduler. Why do they need a scheduler? Like, and like, you know, kind of like, go, go down. but I think that might be one of the best ways to learn, but it just takes time. Or geniuses and geniuses who are good at two things, right? Good at the actual technology and good at teaching. Cuz teaching is a skill and it's very hard. and, you know, shout out to teachers cuz that's, it's, it's very difficult, extremely frustrating. it's hard to find determinism in, in like methods and solutions. And there's research of course, but it's like, yeah, that's, that's a lot harder than the computer being like, Nope, that doesn't work. Right? Like, if you can't, if you can't, like if you, if the function call doesn't work, it doesn't work. Right. If the person learned suboptimally, you won't know Right. Until like 10 years down the road when, when they can't answer some question or like, you know, when they, they don't understand. It's a missing fundamental piece anyway. [00:32:24] Jeremy: I think with the example of front end, maybe you don't have time to walk through the whole history of every single library and framework that came but I think at the very least, if you show someone, or you teach someone how to work with css, and you have them, like you were talking about components before you have them build a site where there's a lot of stuff that gets reused, right? Maybe you have five pages and they all have the same nav bar. [00:33:02] Victor: Yeah, you kind of like make them do it. [00:33:04] Jeremy: Yeah. You make 'em do it and they make all the HTML files, they copy and paste it, and probably your students are thinking like, ah, this, this kind of sucks [00:33:16] Victor: Yeah [00:33:18] Jeremy: And yeah, so then you, you come to that realization, and then after you've done that, then you can bring in, okay, this is why we have components. And similarly you brought up, manual dom manipulation with jQuery and things like that. I, I'm sure you could come up with an example of you don't even necessarily need to use jQuery. I think people can probably skip that step and just use the the, the API that comes with the browser. But you can have them go in like, Oh, you gotta find this element by the id and you gotta change this based on this, and let them experience the. I don't know if I would call it pain, but let them experience like how it was. Right. And, and give them a complex enough task where they feel like something is wrong right. Or, or like, there, should be something better. And then you can go to you could go straight to vue or react. I'm not sure if we need to go like, Here's backbone, here's knockout. [00:34:22] Victor: Yeah. That's like historical. Interesting. [00:34:27] Jeremy: I, I think that would be an interesting college course or something that. Like, I remember when, I went through school, one of the classes was programming languages. So we would learn things like, Fortran and stuff like that. And I, I think for a more frontend centered or modern equivalent you could go through, Hey, here's the history of frontend development here's what we used to do and here's how we got to where we are today. I think that could be actually a pretty interesting class yeah [00:35:10] Victor: I'm a bit interested to know you learned fortran in your PL class. I, think when I went, I was like, lisp and then some, some other, like, higher classes taught haskell but, um, but I wasn't ready for haskell, not many people but fortran is interesting, I kinda wanna hear about that. [00:35:25] Jeremy: I think it was more in terms of just getting you exposed to historically this is how things were. Right. And it wasn't so much of like, You can take strategies you used in Fortran into programming as a whole. I think it was just more of like a, a survey of like, Hey, here's, you know, here's Fortran and like you were saying, here's Lisp and all, all these different languages nd like at least you, you get to see them and go like, yeah, this is kind of a pain. [00:35:54] Victor: Yeah [00:35:55] Jeremy: And like, I understand why people don't choose to use this anymore but I couldn't take away like a broad like, Oh, I, I really wish we had this feature from, I think we were, I think we were using Fortran 77 or something like that. I think there's Fortran 77, a Fortran 90, and then there's, um, I think, [00:36:16] Victor: Like old fortran, deprecated [00:36:18] Jeremy: Yeah, yeah, yeah. So, so I think, I think, uh, I actually don't know if they're, they're continuing to, um, you know, add new things or maintain it or it's just static. But, it's, it's more, uh, interesting in terms of, like we were talking front end where it's, as somebody who's learning frontend development who is new and you get to see how, backbone worked or how Knockout worked how grunt and gulp worked. It, it's like the kind of thing where it's like, Oh, okay, like, this is interesting, but let us not use this again. Right? [00:36:53] Victor: Yeah. Yeah. Right. But I also don't need this, and I will never again [00:36:58] Jeremy: yeah, yeah. It's, um, but you do definitely see the, the parallels, right? Like you were saying where you had your, your Bower and now you have NPM and you had Grunt and Gulp and now you have many choices [00:37:14] Victor: Yeah. [00:37:15] Jeremy: yeah. I, I think having he history context, you know, it's interesting and it can be helpful, but if somebody was. Came to me and said hey I want to learn how to build websites. I get into front end development. I would not be like, Okay, first you gotta start moo tools or GWT. I don't think I would do that but it I think at a academic level or just in terms of seeing how things became the way they are sure, for sure it's interesting. [00:37:59] Victor: Yeah. And I, I, think another thing I don't remember who asked or why, why I had to think of this lately. um but it was, knowing the differentiators between other technologies is also extremely helpful right? So, What's the difference between ES build and SWC, right? Again, we're, we're, we're leaning heavy front end, but you know, just like these, uh, sorry for context, of course, it's not everyone a front end developer, but these are two different, uh, build tools, right? For, for JavaScript, right? Essentially you can think of 'em as transpilers, but they, I think, you know, I think they also bundle like, uh, generally I'm not exactly sure if, if ESbuild will bundle as well. Um, but it's like one is written in go, the other one's written in Rust, right? And sort of there's, um, there's, in addition, there's vite which is like vite does bundle and vite does a lot of things. Like, like there's a lot of innovation in vite that has to have to do with like, making local development as fast as possible and also getting like, you're sort of making sure as many things as possible are strippable, right? Or, or, or tree shakeable. Sorry, is is is the better, is the better term. Um, but yeah, knowing, knowing the, um, the differences between projects is often enough to sort of make it less confusing for me. Um, as far as like, Oh, which one of these things should I use? You know, outside of just going with what people are recommending. Cause generally there is some people with wisdom sometimes lead the crowd sometimes, right? So, so sometimes it's okay to be, you know, a crowd member as long as you're listening to the, to, to someone worth listening to. Um, and, and so yeah, I, I think that's another thing that is like the mark of a good project or, or it's not exclusive, right? It's not, the condition's not necessarily sufficient, but it's like a good projects have the why use this versus x right section in the Readme, right? They're like, Hey, we know you could use Y but here's why you should use us instead. Or we know you could use X, but here's what we do better than X. That might, you might care about, right? That's, um, a, a really strong indicator of a project. That's good cuz that means the person who's writing the project is like, they've done this, the survey. And like, this is kind of like, um, how good research happens, right? It's like most of research is reading what's happening, right? To knowing, knowing the boundary you're about to push, right? Or try and sort of like push one, make one step forward in, um, so that's something that I think the, the rigor isn't in necessarily software development everywhere, right? Which is good and bad. but someone who's sort of done that sort of rigor or, and like, and, and has, and or I should say, has been rigorous about knowing the boundary, and then they can explain that to you. They can be like, Oh, here's where the boundary was. These people were doing this, these people were doing this, these people were doing this, but I wanna do this. So you just learned now whether it's right for you and sort of the other points in the space, which is awesome. Yeah. Going to your point, I feel like that's, that's also important, it's probably not a good idea to try and get everyone to go through historical artifacts, but if just a, a quick explainer and sort of, uh, note on the differentiation, Could help for sure. Yeah. I feel like we've skewed too much frontend. No, no more frontend discussion this point. [00:41:20] Jeremy: It's just like, I, I think there's so many more choices where the, the mental thought that has to go into, Okay, what do I use next I feel is bigger on frontend. I guess it depends on the project you're working on but if you're going to work on anything front end if you haven't done it before or you don't have a lot of experience there's so many build tools so many frameworks, so many libraries that yeah, but we [00:41:51] Victor: Iterate yeah, in every direction, like the, it's good and bad, but frontend just goes in every direction at the same time Like, there's so many people who are so enthusiastic and so committed and and it's so approachable that like everyone just goes in every direction at the same time and like a lot of people make progress and then unfortunately you have try and pick which, which branch makes sense. [00:42:20] Jeremy: We've been kind of talking about, some of your experiences with a few things and I wonder if you could explain the the context you're thinking of in terms of the types of projects you typically work on like what are they what's the scale of them that sort of thing. [00:42:32] Victor: So I guess I've, I've gone through a lot of phases, right? In sort of what I use in in my tooling and what I thought was cool. I wrote enterprise java like everybody else. Like, like it really doesn't talk about it, but like, it's like almost at some point it was like, you're either a rail shop or a Java shop, for so many people. And I wrote enterprise Java for a, a long time, and I was lucky enough to have friends who were really into, other kinds of computing and other kinds of programming. a lot of my projects were wrapped around, were, were ideas that I was expressing via some new technology, let's say. Right? So, I wrote a lot of haskell for, for, for a while, right? But what did I end up building with that was actually a job board that honestly didn't go very far because I was spending much more time sort of doing, haskell things, right? And so I learned a lot about sort of what I think is like the pinnacle of sort of like type development in, in the non-research world, right? Like, like right on the edge of research and actual usability. But a lot of my ideas, sort of getting back to the, the ideas question are just things I want to build for myself. Um, or things I think could be commercially viable or like do, like, be, be well used, uh, and, and sort of, and profitable things, things that I think should be built. Or like if, if I see some, some projects as like, Oh, I wish they were doing this in this way, Right? Like, I, I often consider like, Oh, I want, I think I could build something that would be separate and maybe do like, inspired from other projects, I should say, Right? Um, and sort of making me understand a sort of a different, a different ecosystem. but a lot of times I have to say like, the stuff I build is mostly to scratch an itch I have. Um, and or something I think would be profitable or utilizing technology that I've seen that I don't think anyone's done in the same way. Right? So like learning Kubernetes for example, or like investing the time to learn Kubernetes opened up an entire world of sort of like infrastructure ideas, right? Because like the leverage you get is so high, right? So you're just like, Oh, I could run an aws, right? Like now that I, now that I know this cuz it's like, it's actually not bad, it's kind of usable. Like, couldn't I do that? Right? That kind of thing. Right? Or um, I feel like a lot of the times I'll learn a technology and it'll, it'll make me feel like certain things are possible that they, that weren't before. Uh, like Rust is another one of those, right? Like, cuz like Rust will go from like embedded all the way to WASM, which is like a crazy vertical stack. Right? It's, that's a lot, That's a wide range of computing that you can, you can touch, right? And, and there's, it's, it's hard to learn, right? The, the, the, the, uh, the, the ramp to learning it is quite steep, but, it opens up a lot of things you can write, right? It, it opens up a lot of areas you can go into, right? Like, if you ever had an idea for like a desktop app, right? You could actually write it in Rust. There's like, there's, there's ways, there's like is and there's like, um, Tauri is one of my personal favorites, which uses web technology, but it's either I'm inspired by some technology and I'm just like, Oh, what can I use this on? And like, what would this really be good at doing? or it's, you know, it's one of those other things, like either I think it's gonna be, Oh, this would be cool to build and it would be profitable. Uh, or like, I'm scratching my own itch. Yeah. I think, I think those are basically the three sources. [00:46:10] Jeremy: It's, it's interesting about Rust where it seems so trendy, I guess, in lots of people wanna do something with rust, but then in a lot of they also are not sure does it make sense to write in rust? Um, I, I think the, the embedded stuff, of course, that makes a lot of sense. And, uh, you, you've seen a sort of surge in command line apps, stuff ripgrep and ag, stuff like that, and places like that. It's, I think the benefits are pretty clear in terms of you've got the performance and you have the strong typing and whatnot and I think where there's sort of the inbetween section that's kind of unclear to me at least would I build a web application in rust I'm not sure that sort of thing [00:47:12] Victor: Yeah. I would, I characterize it as kind of like, it's a tool toolkit, so it really depends on the problem. And think we have many tools that there's no, almost never a real reason to pick one in particular right? Like there's, Cause it seems like just most of, a lot of the work, like, unless you're, you're really doing something interesting, right? Like, uh, something that like, oh, I need to, I need to, like, I'm gonna run, you know, billions and billions of processes. Like, yeah, maybe you want erlang at that point, right? Like, maybe, maybe you should, that should be, you know, your, your thing. Um, but computers are so fast these days, and most languages have, have sort of borrowed, not borrowed, but like adopted features from others that there's, it's really hard to find a, a specific use case, for one particular tool. Uh, so I often just categorize it by what I want out of the project, right? Or like, either my goals or project goals, right? Depending on, and, or like business goals, if you're, you know, doing this for a business, right? Um, so like, uh, I, I basically, if I want to go fast and I want to like, you know, reduce time to market, I use type script, right? Oh, and also I'm a, I'm a, like a type zealot. I, I'd say so. Like, I don't believe in not having types, right? Like, it's just like there's, I think it's crazy that you would like have a function but not know what the inputs could be. And they could actually be anything, right? , you're just like, and then you have to kind of just keep that in your head. I think that's silly. Now that we have good, we, we have, uh, ways to avoid the, uh, ceremony, right? You've got like hindley Milner type systems, like you have a way to avoid the, you can, you know, predict what types of things will be, and you can, you don't have to write everything everywhere. So like, it's not that. But anyway, so if I wanna go fast, the, the point is that going back to that early, like the JS ecosystem goes everywhere at the same time. Typescript is excellent because the ecosystem goes everywhere at the same time. And so you've got really good ecosystem support for just about everything you could do. Um, uh, you could write TypeScript that's very loose on the types and go even faster, but in general it's not very hard. There's not too much ceremony and just like, you know, putting some stuff that shows you what you're using and like, you know, the objects you're working with. and then generally if I wanna like, get it really right, I I'll like reach for haskell, right? Cause it's just like the sort of contortions, and again, this takes time, this not fast, but, right. the contortions you can do in the type system will make it really hard to write incorrect code or code that doesn't, that isn't logical with itself. Of course interfacing with the outside world. Like if you do a web request, it's gonna fail sometimes, right? Like the network might be down, right? So you have to, you basically pull that, you sort of wrap that uncertainty in your system to whatever degree you're okay with. And then, but I know it'll be correct, right? But and correctness is just not important. Most of like, Oh, I should , that's a bad quote. Uh, it's not that correct is not important. It's like if you need to get to market, you do not necessarily need every single piece of your code to be correct, Right? If someone calls some, some function with like, negative one and it's not an important, it's not tied to money or it's like, you know, whatever, then maybe it's fine. They just see an error and then like you get an error in your back and you're like, Oh, I better fix that. Right? Um, and then generally if I want to be correct and fast, I choose rust these days. Right? Um, these days. and going back to your point, a lot of times that means that I'm going to write in Typescript for a lot of projects. So that's what I'll do for a lot of projects is cuz I'll just be like, ah, do I need like absolute correctness or like some really, you know, fancy sort of type stuff. No. So I don't pick haskell. Right. And it's like, do I need to be like mega fast? No, probably not. Cuz like, cuz so I don't necessarily don't necessarily need rust. Um, maybe it's interesting to me in terms of like a long, long term thing, right? Like if I, if I'm think, oh, but I want x like for example, tight, tight, uh, integration with WASM, for example, if I'm just like, oh, I could see myself like, but that's more of like, you know, for a fun thing that I'm doing, right? Like, it's just like, it's, it's, you don't need it. You don't, that's premature, like, you know, that's a premature optimization thing. But if I'm just like, ah, I really want the ability to like maybe consider refactoring some of this out into like a WebAssembly thing later, then I'm like, Okay, maybe, maybe I'll, I'll pick Rust. Or like, if I, if I like, I do want, you know, really, really fast, then I'll like, then I'll go Rust. But most of the time it's just like, I want a good ecosystem so I don't have to build stuff myself most of the time. Uh, and you know, type script is good enough. So my stack ends up being a lot of the time just in type script, right? Yeah. [00:52:05] Jeremy: Yeah, I think you've encapsulated the reason why there's so many packages on NPM and why there's so much usage of JavaScript and TypeScript in general is that it, it, it fits the, it's good enough. Right? And in terms of, in terms of speed, like you said, most of the time you don't need of rust. Um, and so typescript I think is a lot more approachable a lot of people have to use it because they do front end work anyways. And so that kinda just becomes the I don't know if I should say the default but I would say it's probably the most common in terms of when somebody's building a backend today certainly there's other languages but JavaScript and TypeScript is everywhere. [00:52:57] Victor: Yeah. Uh, I, I, I, another thing is like, I mean, I'm, of ignored the, like, unreasonable effectiveness of like rails Cause there's just a, there's tons of just like rails warriors out there, and that's great. They're they're fantastic. I'm not a, I'm not personally a huge fan of rails but that's, uh, that's to my own detriment, right? In, in some, in some ways. But like, Rails and Django sort of just like, people who, like, I'm gonna learn this framework it's gonna be excellent. It most, they have a, they have carved out a great ecosystem for themselves. Um, or like, you know, even php right? PHP and like Laravel, or whatever. Uh, and so I'm ignoring those, like, those pockets of productivity, right? Those pockets of like intense productivity that people like, have all their needs met in that same way. Um, but as far as like general, general sort of ecosystem size and speed for me, um, like what you said, like applies to me. Like if I, if I'm just like, especially if I'm just like, Oh, I just wanna build a backend, Like, I wanna build something that's like super small and just does like, you know, maybe a few, a couple, you know, endpoints or whatever and just, I just wanna throw it out there. Right? Uh, I, I will pick, yeah. Typescript. It just like, it makes sense to me. I also think note is a better. VM or platform to build on than any of the others as well. So like, like I, by any of the others, I mean, Python, Perl, Ruby, right? Like sort of in the same class of, of tool. So I I am kind of convinced that, um, Node is better, than those as far as core abilities, right? Like threading Right. Versus the just multi-processing and like, you know, other, other, other solutions and like, stuff like that. So, if you want a boring stack, if I don't wanna use any tokens, right? Any innovation tokens I reach for TypeScript. [00:54:46] Jeremy: I think it's good that you brought up. Rails and, and Django because, uh, personally I've done, I've done work with Rails, and you're right in that Rails has so many built in, and the ways to do them are so well established that your ability to be productive and build something really fast hard to compete with, at least in my experience with available in the Node ecosystem. Um, on the other hand, like I, I also see what you mean by the runtimes. Like with Node, you're, you're built on top of V8 and there's so many resources being poured into it to making it fast and making it run pretty much everywhere. I think you probably don't do too much work with managed services, but if you go to a managed service to run your code, like a platform as a service, they're gonna support Node. Will they support your other preferred language? Maybe, maybe not, You know that they will, they'll be able to run node apps so but yeah I don't know if it will ever happen or maybe I'm just not familiar with it, but feel like there isn't a real rails of javascript. [00:56:14] Victor: Yeah, you're, totally right. There are, there are. It's, it's weird. It's actually weird that there, like Uh, but, but, I kind of agree with you. There's projects that are trying it recently. There's like Adonis, um, there is, there are backends that also do, like, will do basic templating, like Nest, NestJS is like really excellent. It's like one of the best sort of backend, projects out there. I I, I but like back in the day, there were projects like Sails, which was like very much trying to do exactly what Rails did, but it just didn't seem to take off and reach that critical mass possibly because of the size of the ecosystem, right? Like, how many alternatives to Rails are there? Not many, right? And, and now, anyway, maybe let's say the rest of 'em sort of like died out over the years, but there's also like, um, hapi HAPI, uh, which is like also, you know, similarly, it was like angling themselves to be that, but they just never, they never found the traction they needed. I think, um, or at least to be as wide, widely known as Rails is for, for, for the, for the Ruby ecosystem, um, but also for people to kind of know the magic, cause. Like I feel like you're productive in Rails only when you imbibe the magic, right? You, you, know all the magic context and you know the incantations and they're comforting to you, right? Like you've, you've, you have the, you have the sort of like, uh, convention. You're like, if you're living and breathing the convention, everything's amazing, right? Like, like you can't beat that. You're just like, you're in the zone but you need people to get in that zone. And I don't think node has, people are just too, they're too frazzled. They're going like, there's too much options. They can't, it's hard to commit, right? Like, imagine if you'd committed to backbone. Like you got, you can't, It's, it's over. Oh, it's not over. I mean, I don't, no, I don't wanna, you know, disparage the backbone project. I don't use it, but, you know, maybe they're still doing stuff and you know, I'm sure people are still working on it, but you can't, you, it's hard to commit and sort of really imbibe that sort of convention or, or, or sort of like, make yourself sort of breathe that product when there's like 10 products that are kind of similar and could be useful as well. Yeah, I think that's, that's that's kind of big. It's weird that there isn't a rails, for NodeJS, but, but people are working on it obviously. Like I mentioned Adonis, there's, there's more. I'm leaving a bunch of them out, but that's part of the problem. [00:58:52] Jeremy: On, on one hand, it's really cool that people are trying so many different things because hopefully maybe they can find something that like other people wouldn't have thought of if they all stick same framework. but on the other hand, it's ... how much time have we spent jumping between all these different frameworks when what we could have if we had a rails. [00:59:23] Victor: Yeah the, the sort of wasted time is, is crazy to think about it uh, I do think about that from time to time. And you know, and personally I waste a lot of my own time. Like, just, just rec

Flying High with Flutter
MVVM - Flying High with Flutter #79

Flying High with Flutter

Play Episode Listen Later Oct 5, 2022 61:07


Hi everyone! We had a great time with Richard Coutts. Richard is an experienced software developer and is currently a Flutter senior software engineer at CMiC. In this episode, he shared with us his Flutter package MVVM+! Listen now and share it with your friends!Resources:https://medium.com/@buttonsrtoys/flutter-state-management-with-mvvm-1b55e6911975https://www.richardcoutts.com/https://github.com/buttonsrtoysCredits:

Angular Master Podcast
AMP:27 Michael Hladky on Advanced Reactive UI Patterns

Angular Master Podcast

Play Episode Listen Later Aug 3, 2022 44:03


What's up everyone, this is Dariusz Kalbarczyk co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to the Angular Master Podcast. Today we've got a special guest from Vienna Austria, performance engineer, trainer and consultant, Enthusiast of technologies such as Angular, NestJS, rxjs, TypeScript. He is also GDE ang MVP. Ladies and gentlemen, Michael Hladky! Topics covered in this episode: ✔ Local vs. global state (when to us what) ✔ Derived state (shared computations, distinct changes, and nullish values) ✔ View vs. ViewModel ✔ OOP Design Patterns and Component state (Facade, MVVM, MVC, Adapter) ✔ Observable Inputs without decorators ✔ Observable HostBindings ✔ Managing async data streams with RxJS flattening operators ✔ How to handle error, complete, suspense, and values in the template ✔ Component lazy loading ✔ Improving UX with Reusable reactive helpers (nonFlickerLoader) --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message

Super Feed
Olá, Mundo - 004: VIPER, MVC, MVVM, MPT, Sei Lá

Super Feed

Play Episode Listen Later Jul 26, 2022 66:49


Bunn e Rambo tentam responder a velha pergunta sobre qual é a melhor arquitetura para desenvolvimento de aplicativos iOS, se é que isso existe.

Code Time
Patrones de diseño de UI - MVP, MVP, MVVM | Code Time (214) - Versión Corta

Code Time

Play Episode Listen Later Jul 8, 2022 102:51


¿Qué hace o qué responsabilidades tiene una aplicación?: 03:46 Model View Controller (MVC): 13:11 Flujo de uso en MVC: 20:07 Variantes modernas de MVC: 30:01 Model View ViewModel (MVVM): 43:47 Model View Presenter (MVP): 01:03:16 Respondiendo preguntas del chat: 01:13:27 Similitudes entre los patrones: 01:27:56 –––––––––––––––––––––––––––––– Para Contribuir PAYPAL : https://www.paypal.me/codetime Mercado Pago $100: https://mpago.la/1Zqo3G9 Mercado Pago $500: https://mpago.la/2MZ3oz3 Mercado Pago $1000: https://mpago.la/333qhPp –––––––––––––––––––––––––––––– Curso completo de desarrollo en Swift 4 desde cero https://www.udemy.com/curso-completo-de-swift-4-desde-cero/?couponCode=YOUTUBE_1 Curso de desarrollo de aplicaciones para iOS 11 desde cero https://www.udemy.com/desarrollo-de-aplicaciones-para-ios-11-desde-cero/?couponCode=YOUTUBE_1 –––––––––––––––––––––––––––––– Medios de contacto: Twitter / Telegram: @DavidGiordana Correo Electrónico: davidgiordana0@gmail.com Grupo en Telegram: https://t.me/joinchat/C-YEzBGu5Jh-mu8ejM2toA –––––––––––––––––––––––––––––– Canciones Utilizadas OP: Adventures by A Himitsu https://soundcloud.com/a-himitsu Creative Commons — Attribution 3.0 Unported— CC BY 3.0 Free Download / Stream: http://bit.ly/2Pj0MtT Music released by Argofox https://youtu.be/8BXNwnxaVQE Music promoted by Audio Library https://youtu.be/MkNeIUgNPQ8 ED: See You Tomorrow by GoSoundtrack http://www.gosoundtrack.com Creative Commons — Attribution 4.0 International — CC BY 4.0 Free Download / Stream: http://bit.ly/see-you-tomorrow Music promoted by Audio Library https://youtu.be/idlqqMHd0W4

Code Time
Patrones de diseño de UI - MVP, MVP, MVVM | Code Time (214)

Code Time

Play Episode Listen Later Jul 8, 2022 139:23


El tema comienza en: 34:00 ¿Qué hace o qué responsabilidades tiene una aplicación?: 37:45 Model View Controller (MVC): 47:10 Flujo de uso en MVC: 54:07 Variantes modernas de MVC: 01:04:07 Model View ViewModel (MVVM): 01:17:46 Model View Presenter (MVP): 01:37:15 Respondiendo preguntas del chat: 01:47:26 Similitudes entre los patrones: 02:01:55 El tema termina en: 02:14:40 –––––––––––––––––––––––––––––– Para Contribuir PAYPAL : https://www.paypal.me/codetime Mercado Pago $100: https://mpago.la/1Zqo3G9 Mercado Pago $500: https://mpago.la/2MZ3oz3 Mercado Pago $1000: https://mpago.la/333qhPp –––––––––––––––––––––––––––––– Curso completo de desarrollo en Swift 4 desde cero https://www.udemy.com/curso-completo-de-swift-4-desde-cero/?couponCode=YOUTUBE_1 Curso de desarrollo de aplicaciones para iOS 11 desde cero https://www.udemy.com/desarrollo-de-aplicaciones-para-ios-11-desde-cero/?couponCode=YOUTUBE_1 –––––––––––––––––––––––––––––– Medios de contacto: Twitter / Telegram: @DavidGiordana Correo Electrónico: davidgiordana0@gmail.com Grupo en Telegram: https://t.me/joinchat/C-YEzBGu5Jh-mu8ejM2toA –––––––––––––––––––––––––––––– Canciones Utilizadas OP: Adventures by A Himitsu https://soundcloud.com/a-himitsu Creative Commons — Attribution 3.0 Unported— CC BY 3.0 Free Download / Stream: http://bit.ly/2Pj0MtT Music released by Argofox https://youtu.be/8BXNwnxaVQE Music promoted by Audio Library https://youtu.be/MkNeIUgNPQ8 ED: See You Tomorrow by GoSoundtrack http://www.gosoundtrack.com Creative Commons — Attribution 4.0 International — CC BY 4.0 Free Download / Stream: http://bit.ly/see-you-tomorrow Music promoted by Audio Library https://youtu.be/idlqqMHd0W4

Side Project Spotlight
#20: MVVM + Core Data

Side Project Spotlight

Play Episode Listen Later Jul 4, 2022 62:44


Progress has been made on the app and as we move beyond simple prototyping into trying to make a functional MVP for other people to eventually use, how we structure our code becomes more important. This week, we discuss the MVVM architecture pattern and how well it does and doesn't get along with Core Data. Then, Kotaro leads us on a UI/UX design discussion, partially inspired by "the most satisfying checkbox." ## Topics Discussed: - PickleJar Update - Testing iCloud Sync - Multiple simulators signed into iCloud - MVVM + Core Data Discussion - CS193p - https://cs193p.sites.stanford.edu - Translating core data models to structs? - FetchRequest wrapper vs View Model - Map Into structs - https://www.youtube.com/watch?v=ehV2gp5uVhs - Sync is hard - Custom environment variables - UI/UX Design Discussion - Tags - Habits (ADA Winner) - https://www.andy.works/words/the-most-satisfying-checkbox - UI Focus - Sprints UI - Timeline Review - iPhone vs iPad vs Mac UX - Next - UI Core Mechanics (Kotaro) - Basic Charts view to explore (Steve) - ViewModel fleshed out (Steve + Aaron) - Tests! Intro music: "When I Hit the Floor", © 2021 Lorne Behrman. Used with permission of the artist.

Podcast DevExperto
Model-View-ViewModel (MVVM) en Android [en 2002] | EP 139

Podcast DevExperto

Play Episode Listen Later Jun 16, 2022 20:59


Podlodka Podcast
Podlodka #272 – Мобильные архитектуры

Podlodka Podcast

Play Episode Listen Later Jun 13, 2022 113:58


Заходят как-то продакт Котлина, автор книги VIPER, любитель Java, developer advocate, iOS Тимлид команды ecomm «ВКонтакте» в бар и… НАЧИНАЮТ СПОРИТЬ ПРО МОБИЛЬНЫЕ АРХИТЕКТУРЫ

Fullstack Ruby Podcast
4: Design Patterns on the Frontend, History of MVVM, Web Components, and You

Fullstack Ruby Podcast

Play Episode Play 30 sec Highlight Listen Later Apr 18, 2022 36:27


Design patterns on the frontend: this is a subject far too little discussed from what I can tell, yet with a fundamental awareness and regular usage of design patterns, you can dramatically uplevel your frontend code. Rubyists in particular will have a major leg up here over devs coming from communities which are more FP (functional programming) in nature, because the view layer of the web is inherently object-oriented.Ruby developers are well-trained in the ways of object-oriented programming and using design patterns. This is probably why many Rubyists instinctively look askance at certain modern paradigms of frontend programming. It's overly complicated, poorly architected, and rarely understood from a proper OOP perspective. You view source on many websites and it's “div tag soup”. It's a nightmare. You look at how people will write heaps of functional React components, and it's a buggy spaghetti code mess.Well guess what? We can change all that.Web components, and simple libraries like Lit—combined with an understanding of how the DOM works natively plus MVVM (Model-View-ViewModel)—lets us reason about our frontend in similar ways to how we reason about the backend using the OOP paradigm. A web component is simply the "VM" of MVVM, and you easily add in the V part via a declarative template library or just manipulate the DOM (that is, the View) directly in an imperative fashion.So Rubyists, stop feeling like the frontend is out to get you, or you need to avoid it, or contain it. Embrace it! The frontend can be just as fun and rewarding as the backend—if you know what to do with it.CORRECTION: in the recording I said Stimulus doesn't provide view bindings. That's not actually true — you can use data-action attributes so that the events triggered get handled by the controller. However, you can't bind reactive data back into the template. You get targets of course, but it's entirely up to you how you make use of those targets to update the DOM via your Stimulus controller.Links:Model–view–viewmodel - WikipediaModel ← (from server connection or client data store) → ViewModel ← (bindings) → ViewKnockout (web framework) - WikipediaWeb Components - MDNLit: Simple. Fast. Web Components.Article: HTML is a Serialized Object GraphBecome a part of the Fullstack Ruby community and learn how to put your Ruby skills to work on the backend AND the frontend. Know somebody who's a JavaScript developer but is interested in learning more about Ruby? Share the site, podcast, or newsletter with them!The Fullstack Ruby Podcast is a production of Whitefusion, a boutique web studio based in Portland, OR.Theme music courtesy of Epidemic Sound.

.NET in pillole
Un pò di funzionale nei nostri progetti con Reacitve UI

.NET in pillole

Play Episode Listen Later Mar 7, 2022 12:11


Capita molto spesso (se non sempre) di dover eseguire del codice quando qualcosa cambia nella nostra applicazione, ed ecco che Reactive UI può darci una mano.Da utilizzarlo come framework MVVM, ad usarlo per eseguire del codice quando una proprietà cambia di valore.https://www.reactiveui.net/https://github.com/reactiveui/reactiveuihttps://github.com/reactiveui/ReactiveUI/issues/979#issuecomment-196735701https://www.nuget.org/packages/ReactiveUI.Blazor/https://www.youtube.com/watch?v=EUOimtP78jQ

Android story
ASP-65: Android Developer Roadmap 2022 (Продолжаем обсуждать...)

Android story

Play Episode Listen Later Feb 15, 2022 62:04


00:00:00 - Быстрый recap предыдущего эпизода.00:01:01 - Design Pattern. Dependency Injection.00:21:40 - Детальней об Observer. Reactive streams. Flow, RxJava, LiveData. Ещё о Dependency Injection. Dagger, Koin, Kodein, Hilt.00:37:49 - Architecture. MVVM, MVP, MVI, Clean Architecture. 00:42:17 - Оффтоп о том, как на хабре писали о способах определить плохого программиста.00:52:02 - Network. Okio, OkHttp, Retrofit, Ktor, Apollo-Android.ASP-34: Design Pattern (GoF) это зло в современном мире? Шаблоны программирования.  - https://androidstory.buzzsprout.com/1086191/7723159-asp-34-design-pattern-gofКомментарии и пожелания можно оставлять в нашем телеграмм чате.

Arch-In-Minutes
Por que estudar padrões de projeto ou arquitetura | Você Arquiteto

Arch-In-Minutes

Play Episode Listen Later Feb 1, 2022 11:42


Uma dúvida muito comum entre profissionais que desejam se tornar arquitetos é o que estudar e os porques de estudar cada disciplina.Neste conteúdo vamos falar sobre:- Os tipos de padrão que existem;- Vantagens em se conhecer padrões;- O que é fundamental conhecer sobre os padrões;- Como recomendar padrões;- Principais padrões de projeto e de arquitetura que existem (GOF, GRASP, MVC, MVVM, MVP, SOLID, N-Tier etc).Vídeo mencionado no conteúdo:https://www.youtube.com/watch?v=YVjsQglQV6k

More Than Just Code podcast - iOS and Swift development, news and advice

We're back for 2022, to follow up on buying a MacBook Pro, and Apple suing NSO Group. Tim and Mark discuss migrating a Core Data app from Objective-C to SwiftUI. We discuss the 15th anniversary of the iPhone announcement, Uber parks its Watch app, and 9 to 5 writes about Watch app abandonment. Introducing Swift for Visual Studio Code. How do Verifiable Vaccination Records with SMART Health Cards Work? Wordle copycat creator apologizes for ripping off the popular free word game. Picks: Swift Playgrounds 4.0, Headfirst SwiftUI, Apple Design Resources (updated), Springboard: the secret history of the first real smartphone.

Arch-In-Minutes
MVVM (Model, View, View-Model) | Prós e Contras | Você Arquiteto

Arch-In-Minutes

Play Episode Listen Later Jan 11, 2022 5:11


Fala ARQ, neste conteúdo eu falo de forma rápida e objetiva sobre os prós e contras sobre MVVM, para ajudar direto você na ponderação dos seus RAs, fica também o convite para você assistir ao conteúdo completo que eu fiz sobre MVVM: https://www.youtube.com/watch?v=YVjsQglQV6kVenha ser VIP na ArcH, me siga no meu novo canal do Telegram:https://t.me/pisanidaarch#arquiteturadesoftware #pisanidaarch #mvvm #modelviewviewmodelMVVM (Model, View, View-Model) | Prós e Contras | Você Arquiteto

Arch-In-Minutes
Arquitetando com MVVM | Você Arquiteto

Arch-In-Minutes

Play Episode Listen Later Jan 4, 2022 25:36


Hoje vamos falar sobre o MVVM (model view, view-model), um SUPER padrão arquitetural para desenvolvimento de aplicações focado na interface com o usuário.Url do vídeo sobre MVC:https://youtu.be/9Ieh0yoiiqI?t=1

Stacktrace
164: “Your wattage may vary”

Stacktrace

Play Episode Listen Later Dec 1, 2021 85:06


It's time for the first ever Stacktrace Headphone Holiday Guide! Along with discussions about writing technical articles, view models and the MVVM design pattern, and using Swift actors to solve race conditions and data races. Sponsored by Shortcut: The project management tool built specifically for software development teams. Start your extended two-month free trial at shortcut.com/sundell Sponsored by Pillow: Pillow is an all-in-one sleep tracking solution to help you get a better night's sleep. Download it from the App Store today. Download MP3 Hosts Gui on Twitter: @_inside John on Twitter: @johnsundell Links NetNewsWire Tilt CloudKit 101 Common pitfalls when using Keychain Sharing on iOS Swift actors: How do they work, and what kinds of problems do they solve? Beats Studio Buds Steelseries Arctis 7X View models SwiftUI's state management system Combine subjects John “The Lost Art of System Design” talk Rambo's “MVC: Many View Controllers” talk Subscribe

Unicode(U+00D1) Podcast
Construyamos algo, pero con planos

Unicode(U+00D1) Podcast

Play Episode Listen Later Sep 16, 2021 42:37


En este episodio nos acompaña Sofía Swidarowicz para hablar de Arquitecturas de Software, qué son, qué beneficios tienen, por qué han tardado más tiempo en adoptarse en iOS que en Android. ¿Debes usar Clean, VIPER, MVVM, MVP, MVC, Reactive? ¿Sirven todas para todos los proyectos? ¿Si empezamos sin aplicar una arquitectura concreta, podemos convertir el proyecto luego? ¿Es lo mismos arquitectura que organización del código? ¿La tortilla de patatas, con cebolla o sin gusto ninguno?Referencias del episodioArquitectura ElmObjectiveC IO, Arquitectura VIPERListado de arquitecturas: MVC, MVP, VIPER, MVI, MVVM, RX, Flux, ReactorKit, ELM, ReduxThe perfect architectureMongoDB/Realm live events page

Dev90X: Zero to App in 90 Days
Day 38: I'm breaking all the rules. Should I stop breaking the rules? Working with... Xcode, Stanford iOS course, Learn to code 2 (Swift Playgrounds).

Dev90X: Zero to App in 90 Days

Play Episode Listen Later Sep 13, 2021 22:42


Day 38. Progress Update: Breaking the rules: learning from multiple courses/sources. Finished lecture 2 of the Stanford course - definitely useful bits and pieces There are 16 lectures in the series - each is about 90 minutes long Learned the MVC architecture is specific to UIKit/storyboard apps whereas MVVM architecture is for SwiftUI apps. Finished the Variables module in Learn to code 2 in Swift Playgrounds. There is a total of 45 small puzzles to solve in the whole sequence. They each probably take about 5-10 minutes on average. Downloaded an app called Handstand Quest that is most similar to my concept, but uses voice control for tracking - I will have a go at using this app and see what I can learn. Started defaulting to the “Unwrap” app on my phone for learning Thinking about doing Paul's course 100 days of swift because I like his teaching style. Life Update: Caffeine withdrawals have landed! Woke up with a headache in the back of my head. Rainy season has landed! Still reading Harry Potter in Bahasa - now up to 58% through the book. Cut back significantly on Duolingo - just one lesson per day to maintain my streak. dev90x.com

Inside Facebook Mobile
31: Intentional Architecture with Yuan and Dustin

Inside Facebook Mobile

Play Episode Listen Later Jul 28, 2021 59:02


“What's Facebook's mobile architecture?” is a question we hear often. Instead of top-down MVC, MVW or MVVM, Facebook delegates the responsibility of choosing the right architectural patterns down to the engineers working on products. This episode's guests Yuan and Dustin pick up where Fabio left us in episode 28 and explain how the Product Foundation org builds abstractions that give engineers autonomy when they want and constraints for features to work cross-app when they need it. Links: IFBM 14 - Facebook iOS UI Infrastructure with Adam: https://pca.st/0qu2 IFBM 28: Modularising iOS Apps with Fabio: https://pca.st/episode/be165e38-74f3-449f-889a-eab14316c6ed Codemod: https://github.com/facebookarchive/codemod Fastmod: https://github.com/facebookincubator/fastmod ComponentKit: https://componentkit.org/ Litho: https://fblitho.com/ React Native: https://reactnative.dev/ Timestamps: Intro 0:06 Guest introductions 2:19 App Architecture 6:49 Codemodding 31:18 Shared Architectural Concepts 33:06 Building for Newsfeed 34:59 Scrolling Lists 41:41 Outro 55:43 Bloopers 56:36

Android Talks
AT 01: LiveData vs SharedFlow i StateFlow w architekturach MVVM i MVI

Android Talks

Play Episode Listen Later Jul 16, 2021 11:17


Cześć!W dzisiejszym odcinku mówię o tym dlaczego warto zastąpić LiveData w naszym projekcie SharedFlow i StateFlow oraz jakie to ma znaczenie dla naszej architektury i aplikacji.Zachęcam do przeczytania artykułu na ten temat na mojej stronie internetowej: https://patrykkosieradzki.com/

Last Week in .NET
Remembering the women of École Polytechnique

Last Week in .NET

Play Episode Listen Later Dec 7, 2020 12:38


Normally I'd start this out with some of the funnier things that happened; but before I dive into what happened last week, I want to talk about this week. Warning: death and violence follow. Yesterday was the 31st anniversary of the École Polytechnique massacre. If you're not familiar with this atrocity, let me quote Deb Chachra's chilling telling of the event:  On December 6, 1989, in late afternoon a man had walked into the École Polytechnique, the engineering school of the University of Montreal, carrying a hunting rifle, ammunition, and a knife. He entered a mechanical engineering class of about sixty students, separated out the nine women, and told them, "I am fighting feminism." One of the women, Nathalie Provost, responded, "Look, we are just women studying engineering, not necessarily feminists ready to march on the streets to shout we are against men, just students intent on leading a normal life." She reports that his response was, "You're women, you're going to be engineers. You're all a bunch of feminists. I hate feminists."He then opened fire on the women, killing six of them. Then he went from floor to floor in the building, targeting and shooting women.Fourteen women were killed that day, twelve of them engineering students, one a nursing student, and one a university employee.Here are their names: Anne St-Arneault, Geneviève Bergeron, Hélène Colgan, Nathalie Crotea, Barbara Daigneault, Anne-Marie Edward, Maud Haviernick, Barbara Klueznick, Maryse Laganière, Maryse Leclair, Anne-Marie Lemay, Sonia Pelletier, Michèle Richard, and Annie Turcotte. (Me: You can hear more about these women here.)An additional thirteen people were injured. Nathalie Provost was shot four times, but survived. In the weeks, months, and years that followed, among other responses, Canada implemented stricter gun-control regulations, and began to observe December 6th as a National Day of Remembrance and Action on Violence Against Women. The event remains the worst mass murder in Canadian history.Our industry has problems with sexism, whether latent or outright. While we hope never to have another atrocity like this one; we should strive for equality and justice in our industry. As a white dude in tech, I'll do everything I can; and I ask you to do the same. If you've never had to fear for your life just because you wanted to be an engineer, then you too need to stand up and help stop the sexism in our industry. Now, on to what happened last week in the world of .NET. 

Last Week in .NET
July 18, 2020 - Github tries out villany

Last Week in .NET

Play Episode Listen Later Jul 20, 2020 10:18


We see you, JilthubGithub, the eponymous source control collaboration system for Open Source Projects, owned by Microsoft, has been caught trying to sneakily continue its contracts with ICE -- you know, the government agency that puts kids in cages -- by getting a contract award from ICE through Dell Federal Systems.Now all of this may be on the up-and-up; Dell sells Github enterprise to ICE as a reseller, Github gets plausible deniability, and ICE gets to use the cool kids source control system.But it's still morally bankrupt for Github to take this contract -- for an amount, I might add, that totals $79,312.50, or roughly the same amount Microsoft should have paid Keivan for using his AppGet architectural work in their WinGet package manager solution.We see you, Github. Special thanks to [Dave Copeland](https://twitter.com/davetron5000/status/1282738504624222208?s=20) for making me aware of this. Twitter is sometimes a beautiful thing.Github 'offers' to let Non-US employees do the same job for half the pay.Microsoft's github acquired NPM.  They [apprently "offered" to reduce non US employees compensation by up to 50%.](https://twitter.com/nomadtechie/status/1283613109932961792?s=20) to do the same job.  In the Year of our Lord 2020 it is very impressive that a company like Github, who are still reeling from their morally bankrupt decision to keep an ICE contract worth $79,000, would also stoop so low as to to get existing employees of NPM to quit by offering them half the money to do the same job.When we call supporting ICE morally bankrupt, that is not meant to inspire you to be the villian, github. That's an insult, meant to shame you into doing the right thing.Vulnerabilities reported this weekMicrosoft reported and [released a fix](https://github.com/dotnet/announcements/issues/159) for CVE-2020-1147, a .NET Core Remote Code Execution Vulnerability. If you accept XML input, this advisory affects you.  If any of your API endpoints accept XML, this advisory affects you. .NET Core 2.1.19, .NET 3.1.5, and .NET 5 Preview 6 are all vulnerable. This is fixed in the latest version of .NET Core 3.1.6, and will hopefully be fixed when .NET 5 Preview 7 is released. If you are running Visual Studio 16.4, you need to update SDK to 3.1.106; if you're running Visual studio 2019 16.5 or later, update to SDK 3.1.302 and then curse version numbers loudly like I'm about to.If you use Windows DNS Server, there's another [RCE vulnerability that is apparently "wormable"](https://msrc-blog.microsoft.com/2020/07/14/july-2020-security-update-cve-2020-1350-vulnerability-in-windows-domain-name-system-dns-server/), but [at least some infosec people seem to think it won't turn into a big problem](https://twitter.com/hackerfantastic/status/1283096226616016896?s=20).  This being 2020, I'm not holding my breath..NET Core 2.1.20 has been releasedRelease Notes: https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1.20/2.1.20.mdSelf Contained ApplicationsOne of the more interesting parts of .NET Core has become the "Self Contained Application" -> effectively the runtime, the application and its dependencies in one package. This is great for datacenter style deployments or cross platform console applications, or even potentially in .NET 6 with MAUI: Desktop applications.  That same advantage of self-contained applications is also a disadvantage, as foretold in this note in the Announcement: > Additionally, if you've deployed self-contained applications targeting any of the impacted versions, these applications are also vulnerable and must be recompiled and  redeployed.Long story short: Not only do you need an update story for your organization's release cadence, that cadence must also take into account vulnerabilities in the runtime.### Nick Craver talks Attacks on Stack Overflow.Stack Overflow, the largest (that gets developer press and isn't Microsoft owned) site built on ASP.NET MVC (and soon .NET Core), gets a lot of attacks against it as a "top 50" (according to Wikipedia) site on the internet.  Nick Craver, their architectural lead; goes deep into the sorts of attacks that happen. https://www.youtube.com/watch?v=K6NECAZhJG4 This is a good watch. Watch it.## Improvements in .NET 5This is the sort of thing I get jazzed about.  The faster C# gets, the less we have to worry about using a language like Go or Rust for high performance situations.  I don't use Rust, but anyone that does will tell you within seconds of meeting you.  They're our Crossfitters.Anyway, having an easy-to-use toolchain to write fast code is good for all of us; and really good for our economic prospects, if we're being honest.  The .NET team gets jazzed about performance too, and they've released another blog post [detailing speed improvements in the forthcoming (now in Preview) .NET 5](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/).  .NET 5, remember, is just .NET Core in a trench coat.  Microsoft is going directly from .NET Core 3 to .NET 5; because awkwardly, they already have a .NET 4.  I have lots of jokes to make about Microsoft Marketing, but I'd like to be clear about this: Microsoft has 20 years of inertia around the .NET Framework, and there were problem dozens of internal corporate teams that were hoping that .NET Core would fail because their bread and butter was built on .NET.  Luckily it didn't fail, and luckily the group that said "Let's unify the two" won.  Over time .NET Core has had to make concessions to stay in the game, like CSProj over project.json; but those concessions have ultimately scored large wins for both .NET Framework and .NET Core.  This is a narrow line to walk, and for all the grief I give them, Microsoft's Marketing team is handling this with grace and aplomb. BinaryFormatter will finally be tossed off a bridgehttps://github.com/dotnet/designs/pull/141Hashing data is now two lines of code Special thanks to Kevin Jones [@vcsjones](https://twitter.com/vcsjones) for [making me aware of this](https://twitter.com/vcsjones/status/1283404602277335041?s=20).  In likely .NET 5 Preview 8, you'll have the ability to hash data in two lines of code!:```ReadOnlySpan someData;byte[] hash = SHA256.HashData(somedata);//or Span hashBuffer = stackalloc byte[32];int bytesWritten = SHA256.HashData(someData, hashBuffer);```This is pretty and awesome. It's pretty awesome.  If you find yourself producing hashes of data; it can't get much faster or easier than this.  Windows Community Toolkit 8.0.0 Preview2 for WinUI 3 Preview 2 has been releasedMicrosoft continues to streamline how it versions its products by overusing the word Preview. Anyway, this release  lets developers kick the tires on the new WinUI, which is better known as "How you write Desktop Applications in .NET 5". The only hope I have is since they've coalesced on ridiculous versioning schemes, they've also coalesced around one way to develop Desktop Applications in .NET 5.  Developers who love XAML should love WinUI 3.  https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/3295ImageSharp passed 6 million downloads; and an exposure angel got their wings.The [creator of ImageSharp laments](https://twitter.com/James_M_South/status/1282396639714373632) getting six million downloads on an open source project that obstensibly does not pay the bills.  At this point in OSS, you either go APGL or you get to the point where you wish you had. On .NET MAUII had understood [.NET MAUI](https://github.com/dotnet/maui) to be a codename for .NET 6. It is not.  Part of .NET 6 will be 'MAUI'. It's capitalized because it's an acroynmn. I should have known, of course, as we're programmers, and we love Acroymns.  Anyway, MAUI stands for: Multi-platform App UI.  Or for the rest of us: Cross Platform UIs!YES. FINALLY. Something that will be faster than electron and have less users to boot! Seriously though, I'm pretty stoked that this is happening, though I hope Microsoft will take this time to realize that cross-platform UIs are probably best done in HTML, CSS, and JavaScript, and not XAML. Actually, scratch that, Cross platform UIs are terrible in HTML, CSS, and JavaScript, but it's ubitquitous, and that's what matters.  It looks like there will be a few 'AppModels' supported:MVVM, RxUI, MVU, Blazor.  If you don't do Xamarin currently, RxUI and MVU will be new to you (and to the rest of us).  RxUI is a "reactive" style of programming to support one-way updates from the model to the UI. and MVU is "Model View Update", which I hear is cool but apparently every framework needs to create a new rendering pattern, and [MVU is Elm's gift](https://thomasbandt.com/model-view-update) to the rest of us.  Programmers create their own blog engines, UI Frameworks write their own Rendering pattern.PFCLotW (Pretty Fricking Cool Library of the Week)If you're using .NET (Whether Framework or Core), and you want to benchmark your code, you should be using [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet).  It's called Benchmark because that's what it does, and they slapped the .NET moniker on the end because that's what library authors for .NET Do.  Since this is .NET, their alternatives were NBenchmark, and BenchmarkSharp. I'm glad Benchmark.NET won.Anyway, Benchmark.NET let's you set up runs against your code; specifically against doing the same operation multiple ways. It then accurately benchmarks how fast the code is, what sort of memory usage it has, and a few other neat sundries about it.  If you're using System.Timer(), don't. Use Benchmark.NET instead. (This is not a sponsored ad, but I do have a thing for Console Applications that are amazing).NET Foundation UpdatesThe .NET Foundation has an open pull request for changes to their bylaws to allow for a seven day comment period before a change would take effect (or be voted on?). You can [view it here](https://github.com/dotnet-foundation/website/pull/197).The .NET Foundation also [has interviews up with all of the candidates for election to the board](https://dotnetfoundation.org/blog/2020/07/16/director-election-2020-candidate-interviews).If you aren't already a member of the .NET Foundation and you're reading this. You should be. Decisions are made by those who show up, and those decisions affect all of us that use .NET. Become a member of the .NET Foundation here](https://dotnetfoundation.org/member/become-a-member).Events.NETOn July 30th, there's a .NET Conf focused on Microservices. This conference is for people who want to add "Microservices" to their resume. [Save the date](https://focus.dotnetconf.net/?utm_campaign=savedate&utm_source=dotnet&utm_medium=twitter) here.The .NET Conf is November 10th-12th, online only.  It's the 10th year of this event.  You can [save the date here](https://www.dotnetconf.net/?WT.mc_id=twc9-c9-chwarren).   If you're not a fan of sitting through three days of online events, I'll be live-tweeting it; In preparation, you can go ahead and block me now.And that's what happened Last Week in .NET  I'm George Stocker, and if your team is struggling with regression bugs, delivering software on time, and wants a workday where you actually get to leave at 5pm. You should visit www.doubleyourproductivity.io and reach out.If you liked this Newsletter, please forward it to your friends and ask them to subscribe at www.lastweekin.net. If you hated it, please forward it to your enemies.

iOS Lead Essentials Podcast | EssentialDeveloper.com
MVC, MVVM, MVP & iOS: Common UI Architectural Design Patterns Q&A | iOS Lead Essentials Podcast #012

iOS Lead Essentials Podcast | EssentialDeveloper.com

Play Episode Listen Later Nov 14, 2019 55:56


In this podcast, we explore the MVC, MVVM, and MVP UI Architectural Design Patterns as we reply to frequently asked questions.

.NET Rocks!
MVVM Light with Laurent Bugnion

.NET Rocks!

Play Episode Listen Later Aug 9, 2018 59:47


Back at the beginning of WPF, before Silverlight, there was MVVM Light. While on the Modern Web Tour in Zurich, Richard sat down with Laurent Bugnion to talk about his work creating the open source toolkit that helped developers build cross-platform applications using the Model View View-Model pattern. Laurent's story crosses much of the story of XAML itself, from WPF to Silverlight to Windows Phone and Xamarin Forms!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
MVVM Light with Laurent Bugnion

.NET Rocks!

Play Episode Listen Later Aug 9, 2018 59:46


Back at the beginning of WPF, before Silverlight, there was MVVM Light. While on the Modern Web Tour in Zurich, Richard sat down with Laurent Bugnion to talk about his work creating the open source toolkit that helped developers build cross-platform applications using the Model View View-Model pattern. Laurent's story crosses much of the story of XAML itself, from WPF to Silverlight to Windows Phone and Xamarin Forms!Support this podcast at — https://redcircle.com/net-rocks/donations

The .NET MAUI Podcast
Episode 51: Android 8.1, Xamarin Device Manager, and Visual Studio versions 15.5 & 15.6

The .NET MAUI Podcast

Play Episode Listen Later Jan 12, 2018 38:26


In this episode of the Xamarin Podcast, Pierce Boggan and James Montemagno cover Android 8.1, the new Xamarin Device Manager Preview, what's new for mobile developers in Visual Studio versions 15.5/15.6, and share their favorite Xamarin moments from 2017. 4:45 Android 8.1 (API 27) now available to developers 5:15 Try the new Xamarin Android Device Manager preview 12:15 Updates to the iOS storyboard designer 14:05 Automatic iOS app provisioning 16:00 CoreML programming with Xamarin.Mac and F# 17:20 Top 12 blog.xamarin.com posts of 2017 23:00 SmartHotel360 - New reference mobile app built with Xamarin.Forms 24:00 New Webinar - Visual Studio App Center 25:30 Visual Studio version 15.5 is now in stable channels 29:00 Visual Studio version 15.6 is now in preview 34:20 Pick of the Week Show Links: Xamarin.Android Support for Android 8.1 (https://blog.xamarin.com/xamarin-android-now-double-stuffed-with-oreo-8-1/) Xamarin Device Manager Preview (https://developer.xamarin.com/guides/android/getting_started/installation/android-emulator/xamarin-device-manager/) Updates to the Xamarin.iOS designer (https://blog.xamarin.com/updates-xamarin-ios-designer/) Automatic iOS app provisioning with fastlane (https://blog.xamarin.com/even-easier-ios-app-provisioning-visual-studio-mac/) CoreML Programming with Xamarin.Mac & F# (https://blog.xamarin.com/coreml-programming-xamarin-mac-f/) Top 12 Blogs of 2017 (https://blog.xamarin.com/top-12-xamarin-blog-posts-2017/) The Xamarin Show: Getting Started with MVVM (https://blog.xamarin.com/the-xamarin-show-getting-started-with-mvvm/) Introducing the SmartHotel360 Reference Apps (https://blog.xamarin.com/introducing-smarthotel360-reference-mobile-apps/) Webinar: Visual Studio App Center (https://blog.xamarin.com/upcoming-webinar-xamarin-university-presents-ship-better-apps-visual-studio-app-center/) See what's new in Visual Studio 2017 version 15.5 (https://blog.xamarin.com/whats-new-visual-studio-2017-version-15-5/) Visual Studio 2017 version 15.6 Preview (https://blog.xamarin.com/visual-studio-2017-version-15-6-preview-available-today/) VSTS Mobile Build Tasks Extension (https://montemagno.com/introducing-vsts-mobile-build-tasks-extension/) Xamarin.Forms Video Player (https://blog.xamarin.com/delivering-rich-media-experiences-xamarin-forms-video-player/) Media Manager Plugin for Xamarin (https://blog.xamarin.com/play-audio-and-video-with-the-mediamanager-plugin-for-xamarin/) Media Plugin for Xamarin & Windows (https://blog.xamarin.com/getting-started-with-the-media-plugin-for-xamarin/) Follow Us: James: Twitter (https://twitter.com/jamesmontemagno), Blog (http://motzcod.es/), GitHub (http://github.com/jamesmontemagno), Merge Conflict Podcast (http://mergeconflict.fm) Pierce: Twitter (https://twitter.com/pierceboggan), GitHub (https://github.com/pierceboggan) Subscribe: iTunes (https://itunes.apple.com/us/podcast/xamarin-podcast/id691368176?mt=2) Google Play Music (https://play.google.com/music/listen?u=0#/ps/Ifcss44ww5lc375esulsuettsey) [Overcast](https://overcast.fm/itun

.NET Rocks!
MVVM Cross with Martijn van Dijk

.NET Rocks!

Play Episode Listen Later Apr 6, 2017 42:16


MVVMCross has grown up! Carl and Richard chat with Martjin van Dijk about his work on MVVMCross. Past guest Stuart Lodge started MVVMCross way back in 2012 when it was focused on building MVVM apps in Silverlight, but today the focus is on Xamarin. Martjin talks about how MVVMCross works with Xamarin forms to make it easier to build, test and debug mobile apps, bringing inversion of control and dependency injection as part of the library. The conversation also turns to navigation being moved to the viewmodel, rather than the view, so you write less code. MVVMCross can be a key part of your mobile app development strategy!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
MVVM Cross with Martijn van Dijk

.NET Rocks!

Play Episode Listen Later Apr 6, 2017 42:15


MVVMCross has grown up! Carl and Richard chat with Martjin van Dijk about his work on MVVMCross. Past guest Stuart Lodge started MVVMCross way back in 2012 when it was focused on building MVVM apps in Silverlight, but today the focus is on Xamarin. Martjin talks about how MVVMCross works with Xamarin forms to make it easier to build, test and debug mobile apps, bringing inversion of control and dependency injection as part of the library. The conversation also turns to navigation being moved to the viewmodel, rather than the view, so you write less code. MVVMCross can be a key part of your mobile app development strategy!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Xamarin MVVM apps with Gill Cleeren

.NET Rocks!

Play Episode Listen Later Feb 8, 2017 56:36


What's the right way to make a Xamarin app? While at NDC in London, Carl and Richard sat down with Gill Cleeren to talk about using the MVVM pattern as part of an overall mobile development stack. As Gill describes, MVVM brings consistency to the plumbing of the mobile app so that you can focus on the important (hard) stuff, getting the UI right, and trying to get as much common code as possible. In the end, the views end up being more device/OS specific, while the model and view-model can be shared. The tooling is complicated, but it is possible to get going fast with mobile development!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Xamarin MVVM apps with Gill Cleeren

.NET Rocks!

Play Episode Listen Later Feb 8, 2017 56:35


What's the right way to make a Xamarin app? While at NDC in London, Carl and Richard sat down with Gill Cleeren to talk about using the MVVM pattern as part of an overall mobile development stack. As Gill describes, MVVM brings consistency to the plumbing of the mobile app so that you can focus on the important (hard) stuff, getting the UI right, and trying to get as much common code as possible. In the end, the views end up being more device/OS specific, while the model and view-model can be shared. The tooling is complicated, but it is possible to get going fast with mobile development!Support this podcast at — https://redcircle.com/net-rocks/donations

The Web Platform Podcast
72: Teaching and Learning Angular

The Web Platform Podcast

Play Episode Listen Later Dec 9, 2015 70:36


Summary Kent C. Dodds (@kentcdodds) & Shai Reznik (@shai_reznik) join us for episode 72 about teaching and learning the popular Angular JavaScript Framework. These two veteran technologists provide great insights into how they teach code, what you need to know to start coding, and insider pro techniques on how they have had success in training. How do they keep up to date on web technology? What is important to know? O'Reilly Media Partner Discounts The Web Platform Podcast is a proud O'Reilly Media Partner. As such, one of the benefits we provide our listeners are special  discounts such as 50% off ebooks and 40% in printed material. This includes but is not limited to books on the web technologies. Your discount code is PCBW so head over to http://www.oreilly.com/ right now to get all your favorite tech books at much lower prices. Your Latest O'Reilly Discounts 20% Discount to FluentConf http://conferences.oreilly.com/fluent-javascript-html-ca/ Call for proposals is done, registration is open, and O'Reilly Fluent Conf is back in just a few months. Fluent, The Web Platform conference will be held in San Francisco, CA on March 7-10 2016. Get practical Training in JavaScript, HTML5, CSS and the latest web development technologies and frameworks. The Web Platform Podcast listeners receive a 20% discount when registering for the conference. Make sure you use the promotional code PCWPP20 to receive your discount. Free eBook: Data-Informed Product Design http://www.oreilly.com/pub/cpc/1220 Designers must understand user needs to create any product. But what type of data should you look at? In her new book, Data-Informed Product Design, Pamela Pavliscak outlines a way to use data of all kinds to understand the relationship between people and technology. Generally speaking, big data is quantitative; it gives you the what, where, and when, while “thick data” provides the qualitative perspective—the how and the why. Up until now, there hasn't been much information on how to combine quantitative big data with qualitative thick data. That's where this report can help. If you're involved in any aspect of product design, this is indispensable reading. It's useful, and we're pleased to offer it to you, for free! Get the free ebook now. Resources Angular - https://angular.io PluralSight - HiRez.io - http://www.hirez.io thoughtram.io - http://blog.thoughtram.io Panelists Danny Blue (@dee_bloo) - Senior Engineer at Deloitte Digital Justin Ribeiro (@justinribeiro)  - Wearables & HTML5 Google Developer Expert & Partner at Stickman Ventures or random person who keeps finding our Hangout link Pascal Precht (@PascalPrecht) - Web Technologies Google Developer Expert specializing in Angular, Inspiration Engineering Blogger, & Trainer at  thoughtram Christoph Burgdorf (@cburgdorf) - Thought leader, blogger, and thoughtram mastermind

The .NET MAUI Podcast
Episode 18: MVVM frameworks with James Montemagno

The .NET MAUI Podcast

Play Episode Listen Later Aug 14, 2015 31:28


Deciding which patterns to use when developing your app can be difficult. This week on the Xamarin Podcast, James Montemagno and I discuss MVVM frameworks and our approach to developing cross platform apps with as much code reuse as possible. Special Guest: Mike James.

.NET Rocks!
SOLID Principles and .NET with Chris Klug

.NET Rocks!

Play Episode Listen Later Jul 16, 2015 58:56


How do the SOLID principles apply to .NET? Carl and Richard talk to Chris Klug about his experiences using SOLID to build reliable, maintainable and scalable project. The conversation walks through the five principles of SOLID with an eye to practical applications in .NET - what does a well implemented single responsibility look like? How does it work with patterns like MVVM? Chris shares his thoughts and coding approaches on a great debate about practical vs ideal implementations in SOLID.Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Migrating from WinForms to WPF with Phil Japikse

.NET Rocks!

Play Episode Listen Later Feb 3, 2015 58:38


Looking at moving from WinForms to WPF? Phil Japikse can help! Carl and Richard talk to Phil Japikse about the changes in thinking that have to happen to make WPF work for you if you're coming from a WinForms world. The conversation starts out discussing the strengths of WinForms and why they persist to this day - it just works! And there's no designer experience like it, including WPF. No matter where you go, after WinForms, you're going to spend more time looking at code for your UI. Do you have to learn MVVM? It depends! Phil talks about the different approaches to making WPF work for you, and taking your UI to it's full potential.Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
MVVM on the Web with Miguel Castro

.NET Rocks!

Play Episode Listen Later Oct 21, 2014 58:56


Carl and Richard talk to Miguel Castro about his work building modern web pages for his clients. After a couple of years working hard on WPF applications, coming over to the web world was a challenge - but as Miguel discovered, the MVVM pattern he used in WPF apps works great on the web as well! Miguel talks about working with Knockout and other libraries on his way to discovering a comfortable pattern of development using AngularJS and ASP.NET MVC together. That's right, using ASP.NET MVC to do MVVM page design! Miguel talks about how his approach to web pages creates something testable and maintainable, which is what you look for in a great business web site.Support this podcast at — https://redcircle.com/net-rocks/donations

The .NET MAUI Podcast
Episode 9: iBeacons, MVVM, Google I/O 2014

The .NET MAUI Podcast

Play Episode Listen Later Feb 21, 2014 27:59


Episode nine of the Xamarin Podcast discusses some new announcements from Google, open source applications that you can learn from, MVVM frameworks to speed up your development and much much more. ChrisNTR on Twitter - http://twitter.com/chrisntr Pierce Boggan on Twitter - http://twitter.com/pierceboggan Google I/O 2014 - https://plus.google.com/+SundarPichai/posts/hVVvM5MJU3d Project Tango - http://www.google.com/atap/projecttango/ Wii Remote Hacks - http://www.ted.com/talks/johnnyleedemoswiiremotehacks.html Enhancing Cross-Platform Mobile Development in Xamarin Using MvvMCross and Ninja Coder - http://www.devx.com/blog/devissues/enhancing-cross-platform-mobile-development-in-xamarin-using-mvvmcross-and-ninja-coder.html VS Toolbox - Cross Platform Development With Xamarin - http://channel9.msdn.com/shows/visual-studio-toolbox/cross-platform-development-with-xamarin Using Estimotes With Xamarin.Android - http://www.opgenorth.net/blog/2014/02/16/using-estimotes-with-xamarin-dot-android/ eyeBeacon - http://pennapps2014s.challengepost.com/submissions/20897-eyebeacon Localytics for Xamarin.Mac - https://github.com/robertmiles3/localytics-xamarin-mac Creating Xamarin.iOS bindings for a native library - http://kannan-chandra.com/posts/xamarin-binding-appsee/ NChart3D - http://nchart3d.com/nchart/download Cross-platform Progress / HUD for Android and iOS with Xamarin - http://gerryhigh.com/2014/02/09/cross-platform-xamarin/ Xamarin University - http://xamarin.com/university Continuous Integration for Your Mobile App - http://blog.xamarin.com/continuous-integration-for-your-mobile-app/ Falafel Bridge for TestComplete - http://blog.falafel.com/blogs/ryan-axford/2014/02/17/now-in-the-xamarin-marketplace-falafel-bridge-for-testcomplete Symbolicating iOS Crash Files (Xamarin.iOS) - http://jmillerdev.net/symbolicating-ios-crash-files-xamarin-ios/ My StepCounter on GitHub - https://github.com/michaeljames6/my-stepcounter My StepCounter on AppStore - https://itunes.apple.com/app/my-stepcounter/id789817499?mt=8 Dublin RTPI - https://github.com/wolksoftwareltd/dublinrtpi Json.NET - http://components.xamarin.com/view/json.net json2csharp.com - http://json2csharp.com/ New Series: developing for Android with Xamarin - http://msicc.net/?p=3858 Xamarin/MvvmCross + Autofac - http://nbevans.wordpress.com/2014/02/17/xamarin-mvvmcross-with-autofac/ Simple MVVM Toolkit for WPF, SL, Windows Store, Windows Phone, iOS and Android - https://simplemvvmtoolkit.codeplex.com/releases/view/118065 Making Xamarin.iOS talk to Meteor - http://fastchicken.co.nz/2014/02/11/making-xamarin-ios-talk-to-meteor/ Review of my first real F# program written in Xamarin - http://www.knowing.net/index.php/2014/02/13/notes-on-my-first-real-f-program/ Danger Unstable Structure - No More! - http://7sharpnine.com/posts/danger-unstable-structure/ Special Guest: Chris Hardy.

.NET Rocks!
GPUs on the Web with Steve Sanderson

.NET Rocks!

Play Episode Listen Later Dec 17, 2013 53:02


While at NDC-London, Carl and Richard talk to Steve Sanderson about his work with KnockoutJS, Azure and other goodies. Steve starts out talking about his role in Knockout and the MVVM pattern as well as his work building the admin consoles for Azure. The conversation then dives into Steve's latest project, using WebGL to take advantage of GPU processing inside a browser! Along the way the boys talk about the effects of plugins on browsing for mortals and some thoughts on what web apps will look like in the future.Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
DurandalJS with Rob Eisenberg

.NET Rocks!

Play Episode Listen Later Sep 24, 2013 67:03


Carl and Richard talk to Rob Eisenberg about DurandalJS. DurandalJS is a library for facilitating building Single Page Applications (SPAs). It works along side jQuery, Knockout and RequireJS as well as CSS libraries like Bootstrap and Foundation. Rob talks about how DurandalJS came to be as a logical path from his MVVM framework, Caliburn.Micro. Much discussion about interoperating with other libraries like RequireJS, jQuery, Knockout as well as comparisons with Angular and Ember. Rob builds great things! Make sure you activate your Windows Azure credits in your MSDN Subscription! You could win an Aston Martin!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Derik Whittaker Migrates from XAML to HTML

.NET Rocks!

Play Episode Listen Later May 21, 2013 50:29


Carl and Richard talk to Derik Whittaker about his experiences migrating from being a XAML developer to being an HTML developer. The conversation starts out talking about the death of Silverlight - or at least the severe neglect! From there, Derik describes the group of tools he uses to bring MVVM design patterns to HTML development. Along with some weird digressions on WinForms, this is a fun show and a great starting point for anyone ready to leave Silverlight behind!Support this podcast at — https://redcircle.com/net-rocks/donations